This series provides Intel shader compilation debug information via KHR_debug. Previously, shader assembly and related compilation artifacts were dumped to stderr. Tools associating compilation artifacts with programs (e.g. FrameRetrace*) parsed stderr, which was error prone. Changes to the shader debug formats and the addition of shader cache assembly dumps further complicate the task of parsing stderr.
KHR_debug provides synchronous callbacks with stable identifiers, simplifying the task of matching debug artifacts with the originating GLSL. For backward compatibility, artifacts continue to be provided on stderr. Pre-existing KHR_debug messages used by shader-db are unchanged. * wip branch to handle KHR_debug: https://github.com/janesma/apitrace/tree/khr_debug Mark Janes (11): mesa: properly report the length of truncated log messages mesa: rename logging functions to reflect that they format strings mesa: add logging function for formatted string i965/disasm: allow caller to specify output filehandle. i965: provide stable message id's for shader_debug_log i965/disasm: provide shader assembly to KHR_debug. i965/compiler: provide formatted strings to the shader debug log intel/nir: provide SSA form to KHR_debug i965: make shader_debug_log_mesa callable i965: provide GLSL IR to KHR_debug i965: provide shader cache assemblies to KHR_debug src/intel/compiler/brw_compiler.h | 2 +- src/intel/compiler/brw_disasm_info.c | 28 +++++----- src/intel/compiler/brw_disasm_info.h | 2 +- src/intel/compiler/brw_fs.cpp | 11 ++-- src/intel/compiler/brw_fs_generator.cpp | 39 +++++++------- src/intel/compiler/brw_nir.c | 26 +++++++-- src/intel/compiler/brw_nir.h | 1 + src/intel/compiler/brw_shader.cpp | 2 +- src/intel/compiler/brw_vec4.cpp | 2 +- src/intel/compiler/brw_vec4_generator.cpp | 24 +++++---- src/intel/compiler/brw_vec4_gs_visitor.cpp | 2 +- src/intel/compiler/brw_vec4_tcs.cpp | 2 +- src/intel/compiler/test_eu_validate.cpp | 2 +- src/intel/vulkan/anv_device.c | 2 +- src/mesa/drivers/dri/i915/intel_context.h | 18 +++---- src/mesa/drivers/dri/i915/intel_fbo.c | 10 ++-- src/mesa/drivers/dri/i965/brw_context.h | 18 +++---- src/mesa/drivers/dri/i965/brw_disk_cache.c | 23 ++++++-- src/mesa/drivers/dri/i965/brw_link.cpp | 14 +++-- src/mesa/drivers/dri/i965/genX_state_upload.c | 14 ++--- src/mesa/drivers/dri/i965/intel_fbo.c | 10 ++-- src/mesa/drivers/dri/i965/intel_screen.c | 30 +++++------ src/mesa/drivers/dri/i965/intel_screen.h | 3 ++ src/mesa/main/bufferobj.c | 10 ++-- src/mesa/main/errors.c | 54 ++++++++++++++----- src/mesa/main/errors.h | 28 ++++++---- src/mesa/main/fbobject.c | 10 ++-- src/mesa/main/pipelineobj.c | 16 +++--- src/mesa/state_tracker/st_debug.c | 2 +- 29 files changed, 247 insertions(+), 158 deletions(-) -- 2.19.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev