radv: allow to dump the GS copy shader with RADV_DEBUG="shaders"
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
@@ -1984,7 +1984,7 @@ void radv_create_shaders(struct radv_pipeline *pipeline,
|
||||
radv_link_shaders(pipeline, nir);
|
||||
|
||||
for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
|
||||
if (modules[i] && radv_can_dump_shader(device, modules[i]))
|
||||
if (modules[i] && radv_can_dump_shader(device, modules[i], false))
|
||||
nir_print_shader(nir[i], stderr);
|
||||
}
|
||||
|
||||
|
@@ -484,7 +484,7 @@ shader_variant_create(struct radv_device *device,
|
||||
|
||||
options->family = chip_family;
|
||||
options->chip_class = device->physical_device->rad_info.chip_class;
|
||||
options->dump_shader = radv_can_dump_shader(device, module);
|
||||
options->dump_shader = radv_can_dump_shader(device, module, gs_copy_shader);
|
||||
options->dump_preoptir = options->dump_shader &&
|
||||
device->instance->debug_flags & RADV_DEBUG_PREOPTIR;
|
||||
options->record_llvm_ir = device->keep_shader_info;
|
||||
|
@@ -329,11 +329,14 @@ radv_shader_dump_stats(struct radv_device *device,
|
||||
|
||||
static inline bool
|
||||
radv_can_dump_shader(struct radv_device *device,
|
||||
struct radv_shader_module *module)
|
||||
struct radv_shader_module *module,
|
||||
bool is_gs_copy_shader)
|
||||
{
|
||||
if (!(device->instance->debug_flags & RADV_DEBUG_DUMP_SHADERS))
|
||||
return false;
|
||||
|
||||
/* Only dump non-meta shaders, useful for debugging purposes. */
|
||||
return device->instance->debug_flags & RADV_DEBUG_DUMP_SHADERS &&
|
||||
module && !module->nir;
|
||||
return (module && !module->nir) || is_gs_copy_shader;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
|
Reference in New Issue
Block a user