And then look at this code snippet krOoze just gave me,
// Dependency of the first Render Pass Instance
VkSubpassDependency rp1Dependency = {
.srcSubpass = lastSubpass; // Last subpass color attachment is used in
.dstSubpass = VK_SUBPASS_EXTERNAL;
.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_BIT; // matches storeOp on a color attachment
.dstStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; // to be synchronized later
.srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; // matches VK_ATTACHMENT_STORE_OP_STORE
.dstAccessMask = 0;
};
// Dependency of the second Render Pass Instance
VkSubpassDependency rp2Dependency = {
.srcSubpass = VK_SUBPASS_EXTERNAL;
.dstSubpass = firstSubpass; // First subpass color attachment is used in
.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; // chains to rp1Dependency::dstStageMask stage
.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_BIT; // matches loadOp on a color attachment
.srcAccessMask = 0;
.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT; // matches VK_ATTACHMENT_LOAD_OP_LOAD
};
He sets dstAccessMask = 0 (instead of VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT), and srcAccessMask=0 (instead of VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT again).
I am definitely missing something.
./CONFUSED