--- src/mesa/drivers/dri/i965/brw_disk_cache.c | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_disk_cache.c b/src/mesa/drivers/dri/i965/brw_disk_cache.c index 65fcab24b7f..0acbef4f20e 100644 --- a/src/mesa/drivers/dri/i965/brw_disk_cache.c +++ b/src/mesa/drivers/dri/i965/brw_disk_cache.c @@ -199,16 +199,31 @@ read_and_upload(struct brw_context *brw, struct disk_cache *cache, brw_alloc_stage_scratch(brw, stage_state, prog_data->total_scratch); if (unlikely(debug_enabled_for_stage(stage))) { - fprintf(stderr, "NIR for %s program %d loaded from disk shader cache:\n", + char *buf; + size_t buf_size; + FILE * log_fp = open_memstream(&buf, &buf_size); + fprintf(log_fp, "NIR for %s program %d loaded from disk shader cache:\n", _mesa_shader_stage_to_abbrev(stage), brw_program(prog)->id); brw_program_deserialize_driver_blob(&brw->ctx, prog, stage); nir_shader *nir = prog->nir; - nir_print_shader(nir, stderr); - fprintf(stderr, "Native code for %s %s shader %s from disk cache:\n", + nir_print_shader(nir, log_fp); + fclose(log_fp); + static GLuint nir_msg_id = 0; + shader_debug_log_mesa(brw, &nir_msg_id, buf); + fputs(buf, stderr); + free(buf); + + log_fp = open_memstream(&buf, &buf_size); + fprintf(log_fp, "Native code for %s %s shader %s from disk cache:\n", nir->info.label ? nir->info.label : "unnamed", _mesa_shader_stage_to_string(nir->info.stage), nir->info.name); brw_disassemble(&brw->screen->devinfo, program, 0, - prog_data->program_size, stderr); + prog_data->program_size, log_fp); + fclose(log_fp); + static GLuint native_msg_id = 0; + shader_debug_log_mesa(brw, &native_msg_id, buf); + fputs(buf, stderr); + free(buf); } brw_upload_cache(&brw->cache, cache_id, &prog_key, brw_prog_key_size(stage), -- 2.19.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev