diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 4ea665f07f3..5be68af35bf 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -6472,6 +6472,15 @@ radv_emit_compute_pipeline(struct radv_cmd_buffer *cmd_buffer, radv_cs_add_buffer(cmd_buffer->device->ws, cmd_buffer->cs, cmd_buffer->state.rt_prolog->bo); radv_cs_add_buffer(cmd_buffer->device->ws, cmd_buffer->cs, cmd_buffer->state.shaders[MESA_SHADER_INTERSECTION]->bo); + struct radv_ray_tracing_pipeline *rt_pipeline = radv_pipeline_to_ray_tracing(&pipeline->base); + for (unsigned i = 0; i < rt_pipeline->stage_count; ++i) { + if (!radv_ray_tracing_stage_is_compiled(&rt_pipeline->stages[i])) + continue; + + struct radv_shader *shader = container_of(rt_pipeline->stages[i].shader, + struct radv_shader, base); + radv_cs_add_buffer(cmd_buffer->device->ws, cmd_buffer->cs, shader->bo); + } } if (unlikely(cmd_buffer->device->trace_bo))