From 30f0c0ea7db129dafb2e879de8faad6907a09791 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timur=20Krist=C3=B3f?= Date: Wed, 18 Sep 2019 14:39:10 +0200 Subject: [PATCH] radv: Add debug option to dump meta shaders. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This new option can help debug shader compiler problems when there are issues with the meta shaders. Signed-off-by: Timur Kristóf Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_debug.h | 1 + src/amd/vulkan/radv_device.c | 1 + src/amd/vulkan/radv_shader.c | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h index ca71d535f2a..2d35f4e1386 100644 --- a/src/amd/vulkan/radv_debug.h +++ b/src/amd/vulkan/radv_debug.h @@ -55,6 +55,7 @@ enum { RADV_DEBUG_NO_NGG = 0x2000000, RADV_DEBUG_NO_SHADER_BALLOT = 0x4000000, RADV_DEBUG_ALL_ENTRYPOINTS = 0x8000000, + RADV_DEBUG_DUMP_META_SHADERS = 0x10000000, }; enum { diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index ea132ee8bc4..1da49cb6093 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -486,6 +486,7 @@ static const struct debug_control radv_debug_options[] = { {"nongg", RADV_DEBUG_NO_NGG}, {"noshaderballot", RADV_DEBUG_NO_SHADER_BALLOT}, {"allentrypoints", RADV_DEBUG_ALL_ENTRYPOINTS}, + {"metashaders", RADV_DEBUG_DUMP_META_SHADERS}, {NULL, 0} }; diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index eb0886bd1f8..086f7cd8616 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -119,9 +119,11 @@ radv_can_dump_shader(struct radv_device *device, { if (!(device->instance->debug_flags & RADV_DEBUG_DUMP_SHADERS)) return false; + if (module) + return !module->nir || + (device->instance->debug_flags & RADV_DEBUG_DUMP_META_SHADERS); - /* Only dump non-meta shaders, useful for debugging purposes. */ - return (module && !module->nir) || is_gs_copy_shader; + return is_gs_copy_shader; } bool -- 2.30.2