aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index d4875043..31cb5a1b 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -8653,6 +8653,8 @@ static bool ValidateDependencies(const layer_data *my_data, FRAMEBUFFER_NODE con
attachmentIndices.clear();
for (uint32_t j = 0; j < subpass.inputAttachmentCount; ++j) {
uint32_t attachment = subpass.pInputAttachments[j].attachment;
+ if (attachment == VK_ATTACHMENT_UNUSED)
+ continue;
input_attachment_to_subpass[attachment].push_back(i);
for (auto overlapping_attachment : overlapping_attachments[attachment]) {
input_attachment_to_subpass[overlapping_attachment].push_back(i);
@@ -8660,6 +8662,8 @@ static bool ValidateDependencies(const layer_data *my_data, FRAMEBUFFER_NODE con
}
for (uint32_t j = 0; j < subpass.colorAttachmentCount; ++j) {
uint32_t attachment = subpass.pColorAttachments[j].attachment;
+ if (attachment == VK_ATTACHMENT_UNUSED)
+ continue;
output_attachment_to_subpass[attachment].push_back(i);
for (auto overlapping_attachment : overlapping_attachments[attachment]) {
output_attachment_to_subpass[overlapping_attachment].push_back(i);
@@ -8687,12 +8691,16 @@ static bool ValidateDependencies(const layer_data *my_data, FRAMEBUFFER_NODE con
const VkSubpassDescription &subpass = pCreateInfo->pSubpasses[i];
// If the attachment is an input then all subpasses that output must have a dependency relationship
for (uint32_t j = 0; j < subpass.inputAttachmentCount; ++j) {
- const uint32_t &attachment = subpass.pInputAttachments[j].attachment;
+ uint32_t attachment = subpass.pInputAttachments[j].attachment;
+ if (attachment == VK_ATTACHMENT_UNUSED)
+ continue;
CheckDependencyExists(my_data, i, output_attachment_to_subpass[attachment], subpass_to_node, skip_call);
}
// If the attachment is an output then all subpasses that use the attachment must have a dependency relationship
for (uint32_t j = 0; j < subpass.colorAttachmentCount; ++j) {
- const uint32_t &attachment = subpass.pColorAttachments[j].attachment;
+ uint32_t attachment = subpass.pColorAttachments[j].attachment;
+ if (attachment == VK_ATTACHMENT_UNUSED)
+ continue;
CheckDependencyExists(my_data, i, output_attachment_to_subpass[attachment], subpass_to_node, skip_call);
CheckDependencyExists(my_data, i, input_attachment_to_subpass[attachment], subpass_to_node, skip_call);
}