radv: Fix PSO history with RT pipelines
1. The prolog needs to have a null check. Libraries don't have prologs. 2. We only need to print the shaders actually included in this pipeline. Libraries were already printed separately. 3. The traversal shader was wrongly omitted from the output. Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38355>
This commit is contained in:
@@ -1245,9 +1245,13 @@ radv_pipeline_report_pso_history(const struct radv_device *device, struct radv_p
|
||||
case RADV_PIPELINE_RAY_TRACING: {
|
||||
struct radv_ray_tracing_pipeline *rt_pipeline = radv_pipeline_to_ray_tracing(pipeline);
|
||||
|
||||
radv_print_pso_history(pipeline, rt_pipeline->prolog, output);
|
||||
if (rt_pipeline->prolog)
|
||||
radv_print_pso_history(pipeline, rt_pipeline->prolog, output);
|
||||
|
||||
for (uint32_t i = 0; i < rt_pipeline->stage_count; i++) {
|
||||
if (pipeline->shaders[MESA_SHADER_INTERSECTION])
|
||||
radv_print_pso_history(pipeline, pipeline->shaders[MESA_SHADER_INTERSECTION], output);
|
||||
|
||||
for (uint32_t i = 0; i < rt_pipeline->non_imported_stage_count; i++) {
|
||||
const struct radv_shader *shader = rt_pipeline->stages[i].shader;
|
||||
|
||||
if (shader)
|
||||
|
||||
Reference in New Issue
Block a user