ugh
[vktest3] / src / vk.c
index f5557b3..29628f9 100644 (file)
--- 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",