mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 17:48:10 +02:00
zink: break out spirv shader dumping into separate function
debugging++ Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14976>
This commit is contained in:
parent
ff92d2f188
commit
5663fac5ca
1 changed files with 12 additions and 6 deletions
|
|
@ -1009,6 +1009,17 @@ zink_compiler_assign_io(nir_shader *producer, nir_shader *consumer)
|
||||||
optimize_nir(nir);
|
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
|
VkShaderModule
|
||||||
zink_shader_compile(struct zink_screen *screen, struct zink_shader *zs, nir_shader *base_nir, const struct zink_shader_key *key)
|
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];
|
char buf[256];
|
||||||
static int i;
|
static int i;
|
||||||
snprintf(buf, sizeof(buf), "dump%02d.spv", i++);
|
snprintf(buf, sizeof(buf), "dump%02d.spv", i++);
|
||||||
FILE *fp = fopen(buf, "wb");
|
zink_shader_dump(spirv->words, spirv->num_words * sizeof(uint32_t), buf);
|
||||||
if (fp) {
|
|
||||||
fwrite(spirv->words, sizeof(uint32_t), spirv->num_words, fp);
|
|
||||||
fclose(fp);
|
|
||||||
fprintf(stderr, "wrote '%s'...\n", buf);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VkShaderModuleCreateInfo smci = {0};
|
VkShaderModuleCreateInfo smci = {0};
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue