It's still printed after linking, but it makes more sense to
have SPIRV->NIR->LLVM IR->ASM.

Fixes: f0a2bbd1a4 (radv: move nir print after linking is done)
Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
---
 src/amd/vulkan/radv_pipeline.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index d6b33a5327..7ad09cec83 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -1786,6 +1786,14 @@ void radv_create_shaders(struct radv_pipeline *pipeline,
 
        radv_link_shaders(pipeline, nir);
 
+       for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+               if (!(device->instance->debug_flags & RADV_DEBUG_DUMP_SHADERS))
+                       continue;
+
+               if (modules[i])
+                       nir_print_shader(nir[i], stderr);
+       }
+
        if (nir[MESA_SHADER_FRAGMENT]) {
                if (!pipeline->shaders[MESA_SHADER_FRAGMENT]) {
                        pipeline->shaders[MESA_SHADER_FRAGMENT] =
@@ -1870,13 +1878,8 @@ void radv_create_shaders(struct radv_pipeline *pipeline,
 
        for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
                free(codes[i]);
-               if (modules[i]) {
-                       if (device->instance->debug_flags & 
RADV_DEBUG_DUMP_SHADERS)
-                               nir_print_shader(nir[i], stderr);
-
-                       if (!pipeline->device->trace_bo)
-                               ralloc_free(nir[i]);
-               }
+               if (modules[i] && !pipeline->device->trace_bo)
+                       ralloc_free(nir[i]);
        }
 
        if (fs_m.nir)
-- 
2.14.2

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to