diff options
| author | Tony Barbour <tony@LunarG.com> | 2016-07-28 10:50:13 -0600 |
|---|---|---|
| committer | Tony Barbour <tony@LunarG.com> | 2016-08-02 17:01:03 -0600 |
| commit | 9839039940ce87effdc8a9ea056e3c19d67edf4d (patch) | |
| tree | 6110aaf84f59eb7d9b6893c01a67cfc6587df83d /demos | |
| parent | 7832b888e612d1599be11fdebc062a0c87da42cf (diff) | |
| download | usermoji-9839039940ce87effdc8a9ea056e3c19d67edf4d.tar.xz | |
demos: Use renderpass finalLayout to get to PRESENT_SRC_KHR
instead of an explicit memory barrier
Change-Id: I9c9c19ee6640fc696576d67ffc608b9205d84166
Diffstat (limited to 'demos')
| -rw-r--r-- | demos/cube.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/demos/cube.c b/demos/cube.c index 82f1e095..5935c592 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -640,25 +640,10 @@ static void demo_draw_build_cmd(struct demo *demo, VkCommandBuffer cmd_buf) { scissor.offset.y = 0; vkCmdSetScissor(cmd_buf, 0, 1, &scissor); vkCmdDraw(cmd_buf, 12 * 3, 1, 0, 0); + // Note that ending the renderpass changes the image's layout from + // COLOR_ATTACHEMENT_OPTIMAL to PRESENT_SRC_KHR vkCmdEndRenderPass(cmd_buf); - VkImageMemoryBarrier prePresentBarrier = { - .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, - .pNext = NULL, - .srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, - .dstAccessMask = VK_ACCESS_MEMORY_READ_BIT, - .oldLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, - .newLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, - .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, - .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, - .subresourceRange = {VK_IMAGE_ASPECT_COLOR_BIT, 0, 1, 0, 1}}; - - prePresentBarrier.image = demo->buffers[demo->current_buffer].image; - VkImageMemoryBarrier *pmemory_barrier = &prePresentBarrier; - vkCmdPipelineBarrier(cmd_buf, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, - VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, 0, 0, NULL, 0, - NULL, 1, pmemory_barrier); - err = vkEndCommandBuffer(cmd_buf); assert(!err); } @@ -1447,7 +1432,7 @@ static void demo_prepare_render_pass(struct demo *demo) { .stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE, .stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE, .initialLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, - .finalLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, + .finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, }, [1] = { |
