i965/nir: Print NIR on INTEL_DEBUG=fs.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 20 Jan 2015 07:11:54 +0000 (23:11 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 23 Jan 2015 22:53:26 +0000 (14:53 -0800)
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@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_fs_nir.cpp

index 40a16736489e1d6a4a66b86c6ce278e5263a206c..2d30321019034deb47ba464e5f397ddf8696d7a6 100644 (file)
@@ -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);
 }