gallium/radeon: implement set_debug_callback
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 30 Dec 2015 19:55:34 +0000 (14:55 -0500)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Sat, 2 Jan 2016 21:47:23 +0000 (16:47 -0500)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeon/r600_pipe_common.c
src/gallium/drivers/radeon/r600_pipe_common.h

index 0ab4a60a91924018f8be86708edca20cca24780b..4bfb3591c84bc8ca063dac469a86ce044131e5c4 100644 (file)
@@ -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(&rctx->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;
index c3933b1da986c9b849bd729a5d63168cc9668b67..a69e627a2e9ec45894628b0556838cb2364eaf60 100644 (file)
@@ -440,6 +440,8 @@ struct r600_common_context {
         * the GPU addresses are updated. */
        struct list_head                texture_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,