X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fvk.c;fp=src%2Fvk.c;h=29628f9be11dcbc125a7dcb96e54b94d6176ab8b;hb=2fce392c750852815282044c03c4b00036660453;hp=f5557b3c53f50334a9b5f635ad51e2bcefde672b;hpb=51c70e21b25d107c4d86c6ae0c16eac7e0fff22a;p=vktest3 diff --git a/src/vk.c b/src/vk.c index f5557b3..29628f9 100644 --- a/src/vk.c +++ b/src/vk.c @@ -244,7 +244,17 @@ int vk_reshape(int xsz, int ysz) return 0; } -int vk_next_image(VkSemaphore sem) +int vk_num_swap_images(void) +{ + return vksc_numimg; +} + +VkImageView vk_swap_image(int idx) +{ + return vksc_view[idx]; +} + +int vk_next_swap_image(VkSemaphore sem) { uint32_t idx; if(vkAcquireNextImageKHR(vkdev, vksc, UINT64_MAX, sem, 0, &idx) != 0) { @@ -582,9 +592,11 @@ void vk_free_fb(int fb) void vk_fb_size(int fb, int x, int y) { - framebufs[fb].width = x; - framebufs[fb].height = y; - framebufs[fb].vkobj_valid = 0; + if(x != framebufs[fb].width || y != framebufs[fb].height) { + framebufs[fb].width = x; + framebufs[fb].height = y; + framebufs[fb].vkobj_valid = 0; + } } void vk_fb_rpass(int fb, int rpass) @@ -1055,6 +1067,16 @@ void vk_free_sem(VkSemaphore sem) vkDestroySemaphore(vkdev, sem, 0); } + +void vk_rect(VkRect2D *r, int x, int y, int w, int h) +{ + r->offset.x = x; + r->offset.y = y; + r->extent.width = w; + r->extent.height = h; +} + + #define ARRSZ(arr) (sizeof arr / sizeof *arr) static const char *known_layer_list[] = { "VK_LAYER_GOOGLE_threading",