radv: Use ac_nir_lower_intrinsics_to_args.
authorTimur Kristóf <timur.kristof@gmail.com>
Mon, 3 Jul 2023 15:07:32 +0000 (17:07 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 14 Jul 2023 12:17:24 +0000 (12:17 +0000)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24005>

src/amd/vulkan/radv_pipeline.c
src/amd/vulkan/radv_pipeline_graphics.c

index a6ecc48..a6ab807 100644 (file)
@@ -689,6 +689,8 @@ radv_postprocess_nir(struct radv_device *device, const struct radv_pipeline_layo
       NIR_PASS_V(stage->nir, nir_lower_io_to_scalar, nir_var_mem_global);
 
    NIR_PASS(_, stage->nir, ac_nir_lower_global_access);
+   NIR_PASS_V(stage->nir, ac_nir_lower_intrinsics_to_args, gfx_level, radv_select_hw_stage(&stage->info, gfx_level),
+              &stage->args.ac);
    NIR_PASS_V(stage->nir, radv_nir_lower_abi, gfx_level, &stage->info, &stage->args, pipeline_key,
               device->physical_device->rad_info.address32_hi);
    radv_optimize_nir_algebraic(
index 7747a00..fb68832 100644 (file)
@@ -2210,6 +2210,8 @@ radv_pipeline_create_gs_copy_shader(struct radv_device *device, struct radv_pipe
    gs_copy_stage.info.user_sgprs_locs = gs_copy_stage.args.user_sgprs_locs;
    gs_copy_stage.info.inline_push_constant_mask = gs_copy_stage.args.ac.inline_push_const_mask;
 
+   NIR_PASS_V(nir, ac_nir_lower_intrinsics_to_args, device->physical_device->rad_info.gfx_level, AC_HW_VERTEX_SHADER,
+              &gs_copy_stage.args.ac);
    NIR_PASS_V(nir, radv_nir_lower_abi, device->physical_device->rad_info.gfx_level, &gs_copy_stage.info,
               &gs_copy_stage.args, pipeline_key, device->physical_device->rad_info.address32_hi);