Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096>
dst->any_hit_shader += stage_count;
if (dst->intersection_shader != VK_SHADER_UNUSED_KHR)
dst->intersection_shader += stage_count;
+ /* Don't set the shader VA since the handles are part of the pipeline hash */
+ dst->handle.recursive_shader_ptr = 0;
}
idx += library_pipeline->group_count;
stage_count += library_pipeline->stage_count;
};
struct radv_pipeline_group_handle {
+ uint64_t recursive_shader_ptr;
+
union {
uint32_t general_index;
uint32_t closest_hit_index;
};
enum sbt_entry {
+ SBT_RECURSIVE_PTR = offsetof(struct radv_pipeline_group_handle, recursive_shader_ptr),
SBT_GENERAL_IDX = offsetof(struct radv_pipeline_group_handle, general_index),
SBT_CLOSEST_HIT_IDX = offsetof(struct radv_pipeline_group_handle, closest_hit_index),
SBT_INTERSECTION_IDX = offsetof(struct radv_pipeline_group_handle, intersection_index),