Mesa (master): anv/pipeline: Dump shader immedately after spirv_to_nir
Jason Ekstrand
jekstrand at kemper.freedesktop.org
Wed Oct 25 23:14:18 UTC 2017
Module: Mesa
Branch: master
Commit: e758b6519d691cc2becd0d940d1c131634549bf2
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e758b6519d691cc2becd0d940d1c131634549bf2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Wed Jul 12 12:34:00 2017 -0700
anv/pipeline: Dump shader immedately after spirv_to_nir
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
src/intel/vulkan/anv_pipeline.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
index 51788928af..20609248d6 100644
--- a/src/intel/vulkan/anv_pipeline.c
+++ b/src/intel/vulkan/anv_pipeline.c
@@ -83,6 +83,15 @@ void anv_DestroyShaderModule(
#define SPIR_V_MAGIC_NUMBER 0x07230203
+static const uint64_t stage_to_debug[] = {
+ [MESA_SHADER_VERTEX] = DEBUG_VS,
+ [MESA_SHADER_TESS_CTRL] = DEBUG_TCS,
+ [MESA_SHADER_TESS_EVAL] = DEBUG_TES,
+ [MESA_SHADER_GEOMETRY] = DEBUG_GS,
+ [MESA_SHADER_FRAGMENT] = DEBUG_WM,
+ [MESA_SHADER_COMPUTE] = DEBUG_CS,
+};
+
/* Eventually, this will become part of anv_CreateShader. Unfortunately,
* we can't do that yet because we don't have the ability to copy nir.
*/
@@ -144,6 +153,12 @@ anv_shader_compile_to_nir(struct anv_pipeline *pipeline,
free(spec_entries);
+ if (unlikely(INTEL_DEBUG & stage_to_debug[stage])) {
+ fprintf(stderr, "NIR (from SPIR-V) for %s shader:\n",
+ gl_shader_stage_name(stage));
+ nir_print_shader(nir, stderr);
+ }
+
/* We have to lower away local constant initializers right before we
* inline functions. That way they get properly initialized at the top
* of the function and not at the top of its caller.
More information about the mesa-commit
mailing list