message: Tweak Triangle subpass dependencies
diff: @@ -755,20 +755,21 @@ public:
  // Does the transition from final to initial layout
  dependencies[0].srcSubpass = VK_SUBPASS_EXTERNAL; // Producer of the dependency
  dependencies[0].dstSubpass = 0; // Consumer is our single subpass that will wait for the execution depdendency
  - dependencies[0].srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
  - dependencies[0].dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
  - dependencies[0].srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
  - dependencies[0].dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
  + dependencies[0].srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; // Match our pWaitDstStageMask when we vkQueueSubmit
  + dependencies[0].dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; // is a loadOp stage for color attachments
  + dependencies[0].srcAccessMask = 0; // semaphore wait already does memory dependency for us
  + dependencies[0].dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; // is a loadOp CLEAR access mask for color attachments
  dependencies[0].dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT;
  // Second dependency at the end the renderpass
  // Does the transition from the initial to the final layout
  + // Technically this is the same as the implicit subpass dependency, but we are gonna state it explicitly here
  dependencies[1].srcSubpass = 0; // Producer of the dependency is our single subpass
  dependencies[1].dstSubpass = VK_SUBPASS_EXTERNAL; // Consumer are all commands outside of the renderpass
  - dependencies[1].srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
  - dependencies[1].dstStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
  - dependencies[1].srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
  - dependencies[1].dstAccessMask = VK_ACCESS_MEMORY_READ_BIT;
  + dependencies[1].srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; // is a storeOp stage for color attachments
  + dependencies[1].dstStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; // Do not block any subsequent work
  + dependencies[1].srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; // is a storeOp `STORE` access mask for color attachments
  + dependencies[1].dstAccessMask = 0;
  dependencies[1].dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT;
  // Create the actual renderpass
  