layers: Fix overlapping attachment aliasing dependency check in draw_state
authorMichael Lentine <mlentine@google.com>
Thu, 10 Mar 2016 20:36:28 +0000 (14:36 -0600)
committerMark Lobodzinski <mark@lunarg.com>
Fri, 11 Mar 2016 16:23:28 +0000 (09:23 -0700)
Change-Id: I3707afae288ed8edb644d68a6cacc9781ed11558

layers/draw_state.cpp

index 7fe876c..128e915 100644 (file)
@@ -7256,21 +7256,21 @@ VkBool32 ValidateDependencies(const layer_data *my_data, const VkRenderPassBegin
             uint32_t attachment = subpass.pInputAttachments[j].attachment;
             input_attachment_to_subpass[attachment].push_back(i);
             for (auto overlapping_attachment : overlapping_attachments[attachment]) {
-                input_attachment_to_subpass[attachment].push_back(overlapping_attachment);
+                input_attachment_to_subpass[overlapping_attachment].push_back(i);
             }
         }
         for (uint32_t j = 0; j < subpass.colorAttachmentCount; ++j) {
             uint32_t attachment = subpass.pColorAttachments[j].attachment;
             output_attachment_to_subpass[attachment].push_back(i);
             for (auto overlapping_attachment : overlapping_attachments[attachment]) {
-                output_attachment_to_subpass[attachment].push_back(overlapping_attachment);
+                output_attachment_to_subpass[overlapping_attachment].push_back(i);
             }
         }
         if (subpass.pDepthStencilAttachment && subpass.pDepthStencilAttachment->attachment != VK_ATTACHMENT_UNUSED) {
             uint32_t attachment = subpass.pDepthStencilAttachment->attachment;
             output_attachment_to_subpass[attachment].push_back(i);
             for (auto overlapping_attachment : overlapping_attachments[attachment]) {
-                output_attachment_to_subpass[attachment].push_back(overlapping_attachment);
+                output_attachment_to_subpass[overlapping_attachment].push_back(i);
             }
         }
     }