[Mesa-dev] [PATCH v3 0/6] gallium: allow drivers to report debug info to st
Ilia Mirkin
imirkin at alum.mit.edu
Fri Oct 30 22:15:10 PDT 2015
I've switched the st/mesa impl around to be set in the manager, based
on whether it's a debug context. I've also added a st/clover impl
(entirely untested beyond compilation) as the OpenCL API appears to
have similar allowances. Finally, I've added some nouveau patches that
demonstrate how I intend this to be used. Not exhaustive, but a
start. I was able to get the fence wait message to trigger by turning
off buffer range tracking, so I know it's working. (And the compiler
message has already revealed that st/mesa is double-compiling FF
programs in some cases.)
Brian, Marek -- please come to an agreement about how things should be
named -- I really don't care but I also don't want to go back and
change it 10 times. Let's figure out something mutually agreeable and
then I'll change it.
I believe I've addressed all previous feedback.
Ilia Mirkin (6):
gallium: expose a debug message callback settable by context owner
st/mesa: set debug callback for debug contexts
st/clover: provide a path for drivers to call through to pfn_notify
nouveau: add support for sending debug messages via KHR_debug
nv50,nvc0: provide debug messages with shader compilation stats
nouveau: send back a debug message when waiting for a fence to
complete
src/gallium/auxiliary/util/u_debug.c | 16 ++++++++++
src/gallium/auxiliary/util/u_debug.h | 24 +++++++++++++++
src/gallium/docs/source/context.rst | 3 ++
.../drivers/nouveau/codegen/nv50_ir_driver.h | 1 +
.../drivers/nouveau/codegen/nv50_ir_target.cpp | 2 ++
src/gallium/drivers/nouveau/nouveau_buffer.c | 13 ++++----
src/gallium/drivers/nouveau/nouveau_context.h | 5 ++++
src/gallium/drivers/nouveau/nouveau_fence.c | 14 +++++++--
src/gallium/drivers/nouveau/nouveau_fence.h | 4 ++-
src/gallium/drivers/nouveau/nouveau_screen.c | 21 ++++++++++++-
src/gallium/drivers/nouveau/nv30/nv30_context.c | 1 +
src/gallium/drivers/nouveau/nv30/nv30_screen.c | 2 +-
src/gallium/drivers/nouveau/nv50/nv50_context.c | 1 +
src/gallium/drivers/nouveau/nv50/nv50_program.c | 8 ++++-
src/gallium/drivers/nouveau/nv50/nv50_program.h | 3 +-
src/gallium/drivers/nouveau/nv50/nv50_screen.c | 2 +-
.../drivers/nouveau/nv50/nv50_shader_state.c | 2 +-
src/gallium/drivers/nouveau/nv50/nv50_state.c | 3 +-
src/gallium/drivers/nouveau/nv50/nv50_vbo.c | 2 +-
src/gallium/drivers/nouveau/nvc0/nvc0_compute.c | 2 +-
src/gallium/drivers/nouveau/nvc0/nvc0_context.c | 1 +
src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 3 +-
src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 8 ++++-
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 +-
.../drivers/nouveau/nvc0/nvc0_shader_state.c | 2 +-
src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 3 +-
src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c | 4 +--
src/gallium/include/pipe/p_context.h | 4 +++
src/gallium/include/pipe/p_defines.h | 35 ++++++++++++++++++++++
src/gallium/include/pipe/p_state.h | 29 ++++++++++++++++++
src/gallium/state_trackers/clover/api/context.cpp | 2 +-
src/gallium/state_trackers/clover/core/context.cpp | 18 +++++++++--
src/gallium/state_trackers/clover/core/context.hpp | 13 +++++++-
src/gallium/state_trackers/clover/core/queue.cpp | 20 +++++++++++++
src/mesa/state_tracker/st_manager.c | 18 +++++++++++
35 files changed, 262 insertions(+), 29 deletions(-)
--
2.4.10
More information about the mesa-dev
mailing list