[Mesa-dev] [PATCH 00/11] i965 shader debug through KHR_debug

Mark Janes mark.a.janes at intel.com
Fri Dec 7 00:35:41 UTC 2018


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



More information about the mesa-dev mailing list