for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
free(binaries[i]);
if (nir[i]) {
- ralloc_free(nir[i]);
-
- if (radv_can_dump_shader_stats(device, modules[i])) {
+ if (radv_can_dump_shader_stats(device, nir[i]) && pipeline->shaders[i]) {
radv_dump_shader_stats(device, pipeline, i, stderr);
}
+
+ ralloc_free(nir[i]);
}
}
}
bool
-radv_can_dump_shader_stats(struct radv_device *device, struct vk_shader_module *module)
+radv_can_dump_shader_stats(struct radv_device *device, nir_shader *nir)
{
/* Only dump non-meta shader stats. */
- return device->instance->debug_flags & RADV_DEBUG_DUMP_SHADER_STATS && module &&
- !is_meta_shader(module->nir);
+ return device->instance->debug_flags & RADV_DEBUG_DUMP_SHADER_STATS && !is_meta_shader(nir);
}
void
bool radv_can_dump_shader(struct radv_device *device, nir_shader *nir, bool meta_shader);
-bool radv_can_dump_shader_stats(struct radv_device *device, struct vk_shader_module *module);
+bool radv_can_dump_shader_stats(struct radv_device *device, nir_shader *nir);
VkResult radv_dump_shader_stats(struct radv_device *device, struct radv_pipeline *pipeline,
gl_shader_stage stage, FILE *output);