radv/rt: extend radv_pipeline_group_handle with shader VAs

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22096>
This commit is contained in:
Daniel Schürmann 2023-03-08 00:36:45 +01:00 committed by Marge Bot
parent 870e4d285e
commit c75619b268
3 changed files with 5 additions and 0 deletions

View file

@ -178,6 +178,8 @@ radv_rt_fill_group_info(struct radv_device *device,
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;

View file

@ -2197,6 +2197,8 @@ enum radv_pipeline_type {
};
struct radv_pipeline_group_handle {
uint64_t recursive_shader_ptr;
union {
uint32_t general_index;
uint32_t closest_hit_index;

View file

@ -244,6 +244,7 @@ enum sbt_type {
};
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),