Re: [Mesa-dev] [PATCH v3 0/6] gallium: allow drivers to report debug info to st

2015-10-31 Thread Pierre Moreau
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


[Mesa-dev] [PATCH v3 0/6] gallium: allow drivers to report debug info to st

2015-10-30 Thread Ilia Mirkin
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

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev