aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2016-04-24 16:42:15 -0400
committerRob Clark <[email protected]>2016-04-30 14:56:19 -0400
commit41d288c306db886d15e1fa32aa3bc677b8750321 (patch)
tree551fdb40ec4a3024ba51a20574a52f6096b4dda2 /src/gallium/drivers/freedreno
parente04db879f8933915501bfb9cce0d1359d62766bd (diff)
freedreno: wire up core pipe_debug_callback
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno')
-rw-r--r--src/gallium/drivers/freedreno/freedreno_context.c13
-rw-r--r--src/gallium/drivers/freedreno/freedreno_context.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_context.c b/src/gallium/drivers/freedreno/freedreno_context.c
index c54bb1091f7..52557d16068 100644
--- a/src/gallium/drivers/freedreno/freedreno_context.c
+++ b/src/gallium/drivers/freedreno/freedreno_context.c
@@ -211,6 +211,18 @@ fd_context_destroy(struct pipe_context *pctx)
FREE(ctx);
}
+static void
+fd_set_debug_callback(struct pipe_context *pctx,
+ const struct pipe_debug_callback *cb)
+{
+ struct fd_context *ctx = fd_context(pctx);
+
+ if (cb)
+ ctx->debug = *cb;
+ else
+ memset(&ctx->debug, 0, sizeof(ctx->debug));
+}
+
struct pipe_context *
fd_context_init(struct fd_context *ctx, struct pipe_screen *pscreen,
const uint8_t *primtypes, void *priv)
@@ -237,6 +249,7 @@ fd_context_init(struct fd_context *ctx, struct pipe_screen *pscreen,
pctx->priv = priv;
pctx->flush = fd_context_flush;
pctx->emit_string_marker = fd_emit_string_marker;
+ pctx->set_debug_callback = fd_set_debug_callback;
for (i = 0; i < ARRAY_SIZE(ctx->rings); i++) {
ctx->rings[i] = fd_ringbuffer_new(screen->pipe, 0x100000);
diff --git a/src/gallium/drivers/freedreno/freedreno_context.h b/src/gallium/drivers/freedreno/freedreno_context.h
index 86992960960..e65688e6c58 100644
--- a/src/gallium/drivers/freedreno/freedreno_context.h
+++ b/src/gallium/drivers/freedreno/freedreno_context.h
@@ -369,6 +369,8 @@ struct fd_context {
bool cond_cond; /* inverted rendering condition */
uint cond_mode;
+ struct pipe_debug_callback debug;
+
/* GMEM/tile handling fxns: */
void (*emit_tile_init)(struct fd_context *ctx);
void (*emit_tile_prep)(struct fd_context *ctx, struct fd_tile *tile);