aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Barbour <tony@LunarG.com>2016-07-28 10:50:13 -0600
committerTony Barbour <tony@LunarG.com>2016-08-02 17:01:03 -0600
commit9839039940ce87effdc8a9ea056e3c19d67edf4d (patch)
tree6110aaf84f59eb7d9b6893c01a67cfc6587df83d
parent7832b888e612d1599be11fdebc062a0c87da42cf (diff)
downloadusermoji-9839039940ce87effdc8a9ea056e3c19d67edf4d.tar.xz
demos: Use renderpass finalLayout to get to PRESENT_SRC_KHR
instead of an explicit memory barrier Change-Id: I9c9c19ee6640fc696576d67ffc608b9205d84166
-rw-r--r--demos/cube.c21
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] =
{