From c602e877a352f630635fc5fd7982da1ef53729df Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 15 Jul 2022 16:41:28 -0400 Subject: [PATCH] zink: break out color rt layout calc Reviewed-by: Dave Airlie Part-of: --- 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 1a18ec4..5118678 100644 --- a/src/gallium/drivers/zink/zink_render_pass.c +++ b/src/gallium/drivers/zink/zink_render_pass.c @@ -45,6 +45,12 @@ get_rt_loadop(const struct zink_rt_attrib *rt, bool clear) } 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) { bool has_clear = rt->clear_color || rt->clear_stencil; @@ -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; -- 2.7.4