anv/pass: Store the depth-stencil attachment's last subpass index
authorNanley Chery <nanley.g.chery@intel.com>
Wed, 1 Feb 2017 03:01:18 +0000 (19:01 -0800)
committerNanley Chery <nanley.g.chery@intel.com>
Thu, 2 Feb 2017 18:36:14 +0000 (10:36 -0800)
Commit 968ffd6c868af7226e8f889573eef709888151cb stored the last subpass
index of all the attachments but that of the depth-stencil attachment.
This could cause depth buffers used in multiple subpasses not to be in
the requested final layout. Fix this error.

Cc: "17.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
src/intel/vulkan/anv_pass.c

index 5df6330c6af635a15cf647684e5de11c2855f7bb..2df18260d3a2ee62e9e0530d57c36c9f1e84d4fe 100644 (file)
@@ -172,6 +172,7 @@ VkResult anv_CreateRenderPass(
             pass->attachments[a].usage |=
                VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
             pass->attachments[a].subpass_usage[i] |= ANV_SUBPASS_USAGE_DRAW;
+            pass->attachments[a].last_subpass_idx = i;
          }
       } else {
          subpass->depth_stencil_attachment = VK_ATTACHMENT_UNUSED;