diff options
author | Samuel Pitoiset <[email protected]> | 2018-05-11 16:36:02 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2018-05-14 12:38:00 +0200 |
commit | 8ade3e46845ed51b17bc0ff129f3e1eeea589a36 (patch) | |
tree | ded3c47a7354b97ed126e64f43deedf3fc28b320 /src/amd | |
parent | 553418af1ecbaed04e24197caaf1febd575fec41 (diff) |
radv: allow to dump the GS copy shader with RADV_DEBUG="shaders"
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r-- | src/amd/vulkan/radv_pipeline.c | 2 | ||||
-rw-r--r-- | src/amd/vulkan/radv_shader.c | 2 | ||||
-rw-r--r-- | src/amd/vulkan/radv_shader.h | 9 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index d443f8271e9..e6ac0721dce 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -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); } diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index fde6309c97b..dfe63d60d4c 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -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; diff --git a/src/amd/vulkan/radv_shader.h b/src/amd/vulkan/radv_shader.h index 182b69849c0..12878307ecd 100644 --- a/src/amd/vulkan/radv_shader.h +++ b/src/amd/vulkan/radv_shader.h @@ -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 |