From a7f6294f90e5e6a6aac0546a0f3da9e6d7c7837c Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Sun, 27 Oct 2024 14:07:30 +0100 Subject: [PATCH] radv: use nir_opt_frag_coord_to_pixel_coord MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Foz-DB Navi21: Totals from 1648 (2.08% of 79395) affected shaders: MaxWaves: 44918 -> 44950 (+0.07%); split: +0.09%, -0.02% Instrs: 1004193 -> 1001179 (-0.30%); split: -0.33%, +0.03% CodeSize: 5486412 -> 5486592 (+0.00%); split: -0.08%, +0.09% VGPRs: 56664 -> 56552 (-0.20%); split: -0.93%, +0.73% Latency: 15430894 -> 15435320 (+0.03%); split: -0.12%, +0.15% InvThroughput: 3097789 -> 3092861 (-0.16%); split: -0.20%, +0.04% VClause: 18757 -> 18793 (+0.19%); split: -0.13%, +0.32% SClause: 34475 -> 34495 (+0.06%); split: -0.11%, +0.17% Copies: 66195 -> 66150 (-0.07%); split: -0.88%, +0.81% Branches: 23035 -> 23033 (-0.01%) PreVGPRs: 42235 -> 41724 (-1.21%); split: -1.32%, +0.11% VALU: 709730 -> 706662 (-0.43%); split: -0.47%, +0.04% SALU: 111731 -> 111722 (-0.01%); split: -0.02%, +0.01% VMEM: 25988 -> 25987 (-0.00%) Reviewed-by: Timur Kristóf Reviewed-by: Alyssa Rosenzweig Part-of: --- src/amd/vulkan/radv_pipeline_graphics.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/amd/vulkan/radv_pipeline_graphics.c b/src/amd/vulkan/radv_pipeline_graphics.c index b8e2c248704..e2abd13e698 100644 --- a/src/amd/vulkan/radv_pipeline_graphics.c +++ b/src/amd/vulkan/radv_pipeline_graphics.c @@ -2698,6 +2698,12 @@ radv_graphics_shaders_compile(struct radv_device *device, struct vk_pipeline_cac if (!gfx_state->ps.has_epilog) radv_nir_remap_color_attachment(stages[MESA_SHADER_FRAGMENT].nir, gfx_state); + + bool update_info = false; + NIR_PASS(update_info, stages[MESA_SHADER_FRAGMENT].nir, nir_opt_frag_coord_to_pixel_coord); + if (update_info) + nir_shader_gather_info(stages[MESA_SHADER_FRAGMENT].nir, + nir_shader_get_entrypoint(stages[MESA_SHADER_FRAGMENT].nir)); } /* Optimize varyings on lowered shader I/O (more efficient than optimizing I/O derefs). */