From 2622a3bc4773e1f6cbfa647f6e73063825aa8637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 17 Sep 2025 17:11:03 +0200 Subject: [PATCH] radv,radeonsi: call ac_nir_lower_global_access and nir_lower_int64 for gs copy shaders Part-of: --- src/amd/vulkan/radv_pipeline_graphics.c | 3 +++ src/gallium/drivers/radeonsi/si_shader.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/amd/vulkan/radv_pipeline_graphics.c b/src/amd/vulkan/radv_pipeline_graphics.c index a38472029a4..df28d85c959 100644 --- a/src/amd/vulkan/radv_pipeline_graphics.c +++ b/src/amd/vulkan/radv_pipeline_graphics.c @@ -2440,6 +2440,9 @@ radv_create_gs_copy_shader(struct radv_device *device, struct vk_pipeline_cache AC_HW_VERTEX_SHADER, 64, 64, &gs_copy_stage.args.ac); NIR_PASS(_, nir, radv_nir_lower_abi, pdev->info.gfx_level, &gs_copy_stage, gfx_state, pdev->info.address32_hi); + NIR_PASS(_, nir, ac_nir_lower_global_access); + NIR_PASS(_, nir, nir_lower_int64); + struct radv_graphics_pipeline_key key = {0}; bool dump_shader = radv_can_dump_shader(device, nir); diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 70cd435e664..38984cbff16 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -1863,6 +1863,9 @@ si_nir_generate_gs_copy_shader(struct si_screen *sscreen, sscreen->info.has_ls_vgpr_init_bug, AC_HW_VERTEX_SHADER, 64, 64, &linked.consumer.args.ac); + NIR_PASS(_, nir, ac_nir_lower_global_access); + NIR_PASS(_, nir, nir_lower_int64); + si_nir_opts(gs_selector->screen, nir, false); NIR_PASS(_, nir, nir_lower_load_const_to_scalar);