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

Author: Rhys Perry <[email protected]>
Date:   Wed Mar 29 14:35:58 2023 +0100

radv: fix setting radv_shader_info::user_data_0 with rt

Fixes raytracing pipelines.

Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Fixes: 0e81ec98ce9 ("radv: move user_data_0 to the shader info pass")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22187>

---

 src/amd/vulkan/radv_shader.c      | 1 +
 src/amd/vulkan/radv_shader_info.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
index c54655f3217..7b58a09c7f3 100644
--- a/src/amd/vulkan/radv_shader.c
+++ b/src/amd/vulkan/radv_shader.c
@@ -2777,6 +2777,7 @@ radv_create_rt_prolog(struct radv_device *device)
    info.desc_set_used_mask = -1; /* just to force indirection */
    info.wave_size = device->physical_device->rt_wave_size;
    info.workgroup_size = info.wave_size;
+   info.user_data_0 = R_00B900_COMPUTE_USER_DATA_0;
    info.cs.is_rt_shader = true;
    info.cs.uses_ray_launch_size = true;
    info.cs.uses_dynamic_rt_callable_stack = true;
diff --git a/src/amd/vulkan/radv_shader_info.c 
b/src/amd/vulkan/radv_shader_info.c
index 27cd0f0dd21..d1389d6669a 100644
--- a/src/amd/vulkan/radv_shader_info.c
+++ b/src/amd/vulkan/radv_shader_info.c
@@ -766,6 +766,7 @@ radv_get_user_data_0(const struct radv_device *device, 
struct radv_shader_info *
       return R_00B030_SPI_SHADER_USER_DATA_PS_0;
    case MESA_SHADER_COMPUTE:
    case MESA_SHADER_TASK:
+   case MESA_SHADER_RAYGEN:
       return R_00B900_COMPUTE_USER_DATA_0;
    default:
       unreachable("invalid shader stage");

Reply via email to