Mesa (main): zink: break out color rt layout calc

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 20 17:47:07 UTC 2022


Module: Mesa
Branch: main
Commit: c602e877a352f630635fc5fd7982da1ef53729df
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c602e877a352f630635fc5fd7982da1ef53729df

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Jul 15 16:41:28 2022 -0400

zink: break out color rt layout calc

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640>

---

 src/gallium/drivers/zink/zink_render_pass.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/zink/zink_render_pass.c b/src/gallium/drivers/zink/zink_render_pass.c
index 1a18ec4fa1c..51186788e17 100644
--- a/src/gallium/drivers/zink/zink_render_pass.c
+++ b/src/gallium/drivers/zink/zink_render_pass.c
@@ -44,6 +44,12 @@ get_rt_loadop(const struct zink_rt_attrib *rt, bool clear)
                   VK_ATTACHMENT_LOAD_OP_LOAD;
 }
 
+static VkImageLayout
+get_color_rt_layout(const struct zink_rt_attrib *rt)
+{
+   return rt->fbfetch ? VK_IMAGE_LAYOUT_GENERAL : VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
+}
+
 static VkImageLayout
 get_zs_rt_layout(const struct zink_rt_attrib *rt)
 {
@@ -85,7 +91,7 @@ create_render_pass2(struct zink_screen *screen, struct zink_render_pass_state *s
       attachments[i].stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE;
       attachments[i].stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
       /* if layout changes are ever handled here, need VkAttachmentSampleLocationsEXT */
-      VkImageLayout layout = rt->fbfetch ? VK_IMAGE_LAYOUT_GENERAL : VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
+      VkImageLayout layout = get_color_rt_layout(rt);
       attachments[i].initialLayout = layout;
       attachments[i].finalLayout = layout;
       color_refs[i].sType = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2;



More information about the mesa-commit mailing list