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