diff options
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 199cb486..1c9ab864 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -9274,6 +9274,15 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass(VkDevice device, const VkRenderP attachment_first_read.insert(std::make_pair(attachment, false)); attachment_first_layout.insert(std::make_pair(attachment, subpass.pColorAttachments[j].layout)); } + + if (subpass.pResolveAttachments && subpass.pResolveAttachments[j].attachment != VK_ATTACHMENT_UNUSED) { + // resolve attachments are considered to be written + attachment = subpass.pResolveAttachments[j].attachment; + if (!attachment_first_read.count(attachment)) { + attachment_first_read.insert(std::make_pair(attachment, false)); + attachment_first_layout.insert(std::make_pair(attachment, subpass.pResolveAttachments[j].layout)); + } + } } if (subpass.pDepthStencilAttachment && subpass.pDepthStencilAttachment->attachment != VK_ATTACHMENT_UNUSED) { uint32_t attachment = subpass.pDepthStencilAttachment->attachment; |
