tri/cube: Adjust demo_resize() to API changes.
authorIan Elliott <ian@lunarg.com>
Tue, 27 Oct 2015 17:06:33 +0000 (11:06 -0600)
committerIan Elliott <ian@lunarg.com>
Tue, 27 Oct 2015 17:06:33 +0000 (11:06 -0600)
demos/cube.c
demos/tri.c

index b1c4c6f..d2c20d0 100644 (file)
@@ -1892,10 +1892,12 @@ static void demo_resize(struct demo *demo)
 
     for (i = 0; i < demo->swapchainImageCount; i++) {
         vkDestroyImageView(demo->device, demo->buffers[i].view);
-        vkDestroyCommandBuffer(demo->device, demo->buffers[i].cmd);
+        vkFreeCommandBuffers(demo->device, demo->cmd_pool, 1, &demo->buffers[i].cmd);
     }
     free(demo->buffers);
 
+    vkDestroyCommandPool(demo->device, demo->cmd_pool);
+
 
     // Second, re-perform the demo_prepare() function, which will re-create the
     // swapchain:
index 9b512ae..850a4b1 100644 (file)
@@ -2270,10 +2270,9 @@ static void demo_resize(struct demo *demo)
     vkDestroyDescriptorPool(demo->device, demo->desc_pool);
 
     if (demo->setup_cmd) {
-        vkDestroyCommandBuffer(demo->device, demo->setup_cmd);
-        demo->setup_cmd = 0; // Must clear this value
+        vkFreeCommandBuffers(demo->device, demo->cmd_pool, 1, &demo->setup_cmd);
     }
-    vkDestroyCommandBuffer(demo->device, demo->draw_cmd);
+    vkFreeCommandBuffers(demo->device, demo->cmd_pool, 1, &demo->draw_cmd);
     vkDestroyCommandPool(demo->device, demo->cmd_pool);
 
     vkDestroyPipeline(demo->device, demo->pipeline);
@@ -2299,6 +2298,8 @@ static void demo_resize(struct demo *demo)
     vkDestroyImage(demo->device, demo->depth.image);
     vkFreeMemory(demo->device, demo->depth.mem);
 
+    free(demo->buffers);
+
     // Second, re-perform the demo_prepare() function, which will re-create the
     // swapchain:
     demo_prepare(demo);