On 01:15 AM - Oct 31 2015, Ilia Mirkin wrote: > 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
Tested on a Tesla card using the hello_world program from [here] [0], and I did get the debug message from Nouveau with shader compilation stats. [0]: http://cgit.freedesktop.org/~tstellar/opencl-example/ Pierre > 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 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev