Re: [Mesa-dev] [PATCH 1/6] gallium/radeon: implement set_debug_callback

2016-01-01 Thread Marek Olšák
If the context pointer is replaced by struct pipe_debug_callback* in
the shader translation code (as I noted at patch 2), patches 1-5 are:

Reviewed-by: Marek Olšák 

Marek

On Thu, Dec 31, 2015 at 3:30 AM, Nicolai Hähnle  wrote:
> From: Nicolai Hähnle 
>
> ---
>  src/gallium/drivers/radeon/r600_pipe_common.c | 12 
>  src/gallium/drivers/radeon/r600_pipe_common.h |  2 ++
>  2 files changed, 14 insertions(+)
>
> diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c 
> b/src/gallium/drivers/radeon/r600_pipe_common.c
> index 9a5e987..41c7aa5 100644
> --- a/src/gallium/drivers/radeon/r600_pipe_common.c
> +++ b/src/gallium/drivers/radeon/r600_pipe_common.c
> @@ -227,6 +227,17 @@ static enum pipe_reset_status 
> r600_get_reset_status(struct pipe_context *ctx)
> return PIPE_UNKNOWN_CONTEXT_RESET;
>  }
>
> +static void r600_set_debug_callback(struct pipe_context *ctx,
> +   const struct pipe_debug_callback *cb)
> +{
> +   struct r600_common_context *rctx = (struct r600_common_context *)ctx;
> +
> +   if (cb)
> +   rctx->debug = *cb;
> +   else
> +   memset(>debug, 0, sizeof(rctx->debug));
> +}
> +
>  bool r600_common_context_init(struct r600_common_context *rctx,
>   struct r600_common_screen *rscreen)
>  {
> @@ -252,6 +263,7 @@ bool r600_common_context_init(struct r600_common_context 
> *rctx,
> rctx->b.transfer_inline_write = u_default_transfer_inline_write;
>  rctx->b.memory_barrier = r600_memory_barrier;
> rctx->b.flush = r600_flush_from_st;
> +   rctx->b.set_debug_callback = r600_set_debug_callback;
>
> if (rscreen->info.drm_major == 2 && rscreen->info.drm_minor >= 43) {
> rctx->b.get_device_reset_status = r600_get_reset_status;
> diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h 
> b/src/gallium/drivers/radeon/r600_pipe_common.h
> index c3933b1d..a69e627 100644
> --- a/src/gallium/drivers/radeon/r600_pipe_common.h
> +++ b/src/gallium/drivers/radeon/r600_pipe_common.h
> @@ -440,6 +440,8 @@ struct r600_common_context {
>  * the GPU addresses are updated. */
> struct list_headtexture_buffers;
>
> +   struct pipe_debug_callback  debug;
> +
> /* Copy one resource to another using async DMA. */
> void (*dma_copy)(struct pipe_context *ctx,
>  struct pipe_resource *dst,
> --
> 2.5.0
>
> ___
> 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 1/6] gallium/radeon: implement set_debug_callback

2015-12-30 Thread Nicolai Hähnle
From: Nicolai Hähnle 

---
 src/gallium/drivers/radeon/r600_pipe_common.c | 12 
 src/gallium/drivers/radeon/r600_pipe_common.h |  2 ++
 2 files changed, 14 insertions(+)

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c 
b/src/gallium/drivers/radeon/r600_pipe_common.c
index 9a5e987..41c7aa5 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -227,6 +227,17 @@ static enum pipe_reset_status r600_get_reset_status(struct 
pipe_context *ctx)
return PIPE_UNKNOWN_CONTEXT_RESET;
 }
 
+static void r600_set_debug_callback(struct pipe_context *ctx,
+   const struct pipe_debug_callback *cb)
+{
+   struct r600_common_context *rctx = (struct r600_common_context *)ctx;
+
+   if (cb)
+   rctx->debug = *cb;
+   else
+   memset(>debug, 0, sizeof(rctx->debug));
+}
+
 bool r600_common_context_init(struct r600_common_context *rctx,
  struct r600_common_screen *rscreen)
 {
@@ -252,6 +263,7 @@ bool r600_common_context_init(struct r600_common_context 
*rctx,
rctx->b.transfer_inline_write = u_default_transfer_inline_write;
 rctx->b.memory_barrier = r600_memory_barrier;
rctx->b.flush = r600_flush_from_st;
+   rctx->b.set_debug_callback = r600_set_debug_callback;
 
if (rscreen->info.drm_major == 2 && rscreen->info.drm_minor >= 43) {
rctx->b.get_device_reset_status = r600_get_reset_status;
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h 
b/src/gallium/drivers/radeon/r600_pipe_common.h
index c3933b1d..a69e627 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.h
+++ b/src/gallium/drivers/radeon/r600_pipe_common.h
@@ -440,6 +440,8 @@ struct r600_common_context {
 * the GPU addresses are updated. */
struct list_headtexture_buffers;
 
+   struct pipe_debug_callback  debug;
+
/* Copy one resource to another using async DMA. */
void (*dma_copy)(struct pipe_context *ctx,
 struct pipe_resource *dst,
-- 
2.5.0

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


Re: [Mesa-dev] [PATCH 1/6] gallium/radeon: implement set_debug_callback

2015-12-30 Thread eocallaghan

Fantastic thanks!

This series is,

Reviewed-by: Edward O'Callaghan 

On 2015-12-31 13:30, Nicolai Hähnle wrote:

From: Nicolai Hähnle 

---
 src/gallium/drivers/radeon/r600_pipe_common.c | 12 
 src/gallium/drivers/radeon/r600_pipe_common.h |  2 ++
 2 files changed, 14 insertions(+)

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c
b/src/gallium/drivers/radeon/r600_pipe_common.c
index 9a5e987..41c7aa5 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -227,6 +227,17 @@ static enum pipe_reset_status
r600_get_reset_status(struct pipe_context *ctx)
return PIPE_UNKNOWN_CONTEXT_RESET;
 }

+static void r600_set_debug_callback(struct pipe_context *ctx,
+   const struct pipe_debug_callback *cb)
+{
+   struct r600_common_context *rctx = (struct r600_common_context *)ctx;
+
+   if (cb)
+   rctx->debug = *cb;
+   else
+   memset(>debug, 0, sizeof(rctx->debug));
+}
+
 bool r600_common_context_init(struct r600_common_context *rctx,
  struct r600_common_screen *rscreen)
 {
@@ -252,6 +263,7 @@ bool r600_common_context_init(struct
r600_common_context *rctx,
rctx->b.transfer_inline_write = u_default_transfer_inline_write;
 rctx->b.memory_barrier = r600_memory_barrier;
rctx->b.flush = r600_flush_from_st;
+   rctx->b.set_debug_callback = r600_set_debug_callback;

if (rscreen->info.drm_major == 2 && rscreen->info.drm_minor >= 43) {
rctx->b.get_device_reset_status = r600_get_reset_status;
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h
b/src/gallium/drivers/radeon/r600_pipe_common.h
index c3933b1d..a69e627 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.h
+++ b/src/gallium/drivers/radeon/r600_pipe_common.h
@@ -440,6 +440,8 @@ struct r600_common_context {
 * the GPU addresses are updated. */
struct list_headtexture_buffers;

+   struct pipe_debug_callback  debug;
+
/* Copy one resource to another using async DMA. */
void (*dma_copy)(struct pipe_context *ctx,
 struct pipe_resource *dst,


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