Mesa (staging/21.3): anv/pass: Don't set first_subpass_layout for stencil-only attachments

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 26 22:36:10 UTC 2022


Module: Mesa
Branch: staging/21.3
Commit: a1ffdb9a9ed1984b2971b6704040008494d77ae7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1ffdb9a9ed1984b2971b6704040008494d77ae7

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Tue Oct 26 12:38:18 2021 -0500

anv/pass: Don't set first_subpass_layout for stencil-only attachments

Cc: mesa-stable at lists.freedesktop.org

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13980>
(cherry picked from commit 6612dcc4258b8c50b497afd7c276bbe3fd11d652)

---

 .pick_status.json           | 2 +-
 src/intel/vulkan/anv_pass.c | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 9bebe081338..4db2aea2f2d 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -193,7 +193,7 @@
         "description": "anv/pass: Don't set first_subpass_layout for stencil-only attachments",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null
     },
diff --git a/src/intel/vulkan/anv_pass.c b/src/intel/vulkan/anv_pass.c
index e41b2756b03..6b81fb536f0 100644
--- a/src/intel/vulkan/anv_pass.c
+++ b/src/intel/vulkan/anv_pass.c
@@ -107,7 +107,11 @@ anv_render_pass_compile(struct anv_render_pass *pass)
 
          all_usage |= subpass_att->usage;
 
-         if (pass_att->first_subpass_layout == VK_IMAGE_LAYOUT_UNDEFINED) {
+         /* first_subpass_layout only applies to color and depth.
+          * See genX(cmd_buffer_setup_attachments)
+          */
+         if (vk_format_aspects(pass_att->format) != VK_IMAGE_ASPECT_STENCIL_BIT &&
+             pass_att->first_subpass_layout == VK_IMAGE_LAYOUT_UNDEFINED) {
             pass_att->first_subpass_layout = subpass_att->layout;
             assert(pass_att->first_subpass_layout != VK_IMAGE_LAYOUT_UNDEFINED);
          }



More information about the mesa-commit mailing list