Module: Mesa Branch: main Commit: 88fe7ab4fae7c86457f9473b67dafa6bdd8fe5da URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=88fe7ab4fae7c86457f9473b67dafa6bdd8fe5da
Author: Emma Anholt <[email protected]> Date: Wed Jun 16 11:06:01 2021 -0700 freedreno/ir3: Move the native code output to mesa_log as well. I didn't feel like rewriting ir3_shader_disasm() off of FILE *s, so use the same trick as the disasm_info path above to write to memory and then hand the multi-line blob off to mesa_log. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9262> --- src/freedreno/ir3/ir3_shader.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/freedreno/ir3/ir3_shader.c b/src/freedreno/ir3/ir3_shader.c index 5f9d6799522..93756961579 100644 --- a/src/freedreno/ir3/ir3_shader.c +++ b/src/freedreno/ir3/ir3_shader.c @@ -259,12 +259,20 @@ assemble_variant(struct ir3_shader_variant *v) } if (dbg_enabled || shader_overridden) { - fprintf(stdout, "Native code%s for unnamed %s shader %s with sha1 %s:\n", + char *stream_data = NULL; + size_t stream_size = 0; + FILE *stream = open_memstream(&stream_data, &stream_size); + + fprintf(stream, "Native code%s for unnamed %s shader %s with sha1 %s:\n", shader_overridden ? " (overridden)" : "", ir3_shader_stage(v), v->shader->nir->info.name, sha1buf); if (v->shader->type == MESA_SHADER_FRAGMENT) - fprintf(stdout, "SIMD0\n"); - ir3_shader_disasm(v, v->bin, stdout); + fprintf(stream, "SIMD0\n"); + ir3_shader_disasm(v, v->bin, stream); + fclose(stream); + + mesa_log_multiline(MESA_LOG_INFO, stream_data); + free(stream_data); } } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
