Mesa (main): zink: break out spirv shader dumping into separate function

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 11 01:41:37 UTC 2022


Module: Mesa
Branch: main
Commit: 5663fac5ca84d9e87e49dadf8d7feb401ebf73f2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5663fac5ca84d9e87e49dadf8d7feb401ebf73f2

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Mon May 10 09:59:00 2021 -0400

zink: break out spirv shader dumping into separate function

debugging++

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14976>

---

 src/gallium/drivers/zink/zink_compiler.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c
index b16f55674f1..82169148d6d 100644
--- a/src/gallium/drivers/zink/zink_compiler.c
+++ b/src/gallium/drivers/zink/zink_compiler.c
@@ -1009,6 +1009,17 @@ zink_compiler_assign_io(nir_shader *producer, nir_shader *consumer)
    optimize_nir(nir);
 }
 
+static void
+zink_shader_dump(void *words, size_t size, const char *file)
+{
+   FILE *fp = fopen(file, "wb");
+   if (fp) {
+      fwrite(words, 1, size, fp);
+      fclose(fp);
+      fprintf(stderr, "wrote '%s'...\n", file);
+   }
+}
+
 VkShaderModule
 zink_shader_compile(struct zink_screen *screen, struct zink_shader *zs, nir_shader *base_nir, const struct zink_shader_key *key)
 {
@@ -1129,12 +1140,7 @@ zink_shader_compile(struct zink_screen *screen, struct zink_shader *zs, nir_shad
       char buf[256];
       static int i;
       snprintf(buf, sizeof(buf), "dump%02d.spv", i++);
-      FILE *fp = fopen(buf, "wb");
-      if (fp) {
-         fwrite(spirv->words, sizeof(uint32_t), spirv->num_words, fp);
-         fclose(fp);
-         fprintf(stderr, "wrote '%s'...\n", buf);
-      }
+      zink_shader_dump(spirv->words, spirv->num_words * sizeof(uint32_t), buf);
    }
 
    VkShaderModuleCreateInfo smci = {0};



More information about the mesa-commit mailing list