From 9839039940ce87effdc8a9ea056e3c19d67edf4d Mon Sep 17 00:00:00 2001 From: Tony Barbour Date: Thu, 28 Jul 2016 10:50:13 -0600 Subject: demos: Use renderpass finalLayout to get to PRESENT_SRC_KHR instead of an explicit memory barrier Change-Id: I9c9c19ee6640fc696576d67ffc608b9205d84166 --- demos/cube.c | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) (limited to 'demos/cube.c') 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] = { -- cgit v1.2.3