[Mesa-dev] [PATCH 02/10] i965/nir: Print NIR on INTEL_DEBUG=fs.

Kenneth Graunke kenneth at whitecape.org
Thu Jan 22 03:41:23 PST 2015


This is useful for debugging and looking for optimization opportunities.

It will need to be expanded when we add support for other scalar stages.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
 src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 11 +++++++++++
 1 file changed, 11 insertions(+)

Yeah, I was lazy.  Adding scalar VS support requires a non-trivial
amount of work (it's probably still easy), so I don't feel too bad
about deferring it until then.

diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
index 40a1673..2d30321 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
@@ -93,6 +93,12 @@ fs_visitor::emit_nir_code()
    nir_validate_shader(nir);
    nir_copy_prop(nir);
    nir_validate_shader(nir);
+
+   if (INTEL_DEBUG & DEBUG_WM) {
+      fprintf(stderr, "NIR (SSA form) for fragment shader:\n");
+      nir_print_shader(nir, stderr);
+   }
+
    nir_convert_from_ssa(nir);
    nir_validate_shader(nir);
    nir_lower_vec_to_movs(nir);
@@ -134,6 +140,11 @@ fs_visitor::emit_nir_code()
       nir_emit_impl(overload->impl);
    }
 
+   if (INTEL_DEBUG & DEBUG_WM) {
+      fprintf(stderr, "NIR (final form) for fragment shader:\n");
+      nir_print_shader(nir, stderr);
+   }
+
    ralloc_free(nir);
 }
 
-- 
2.2.2



More information about the mesa-dev mailing list