summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2016-04-24 16:58:29 -0400
committerRob Clark <[email protected]>2016-04-30 14:56:19 -0400
commit2578e3edcb83511d46427591343369b1bdfbcaf3 (patch)
tree0fbbf73021ccc0b77ebaa86cb29c1cab59851487
parent51f20dd279f420492779e4256b111d65f6fc0917 (diff)
freedreno/a4xx: add debug callback to emit
Signed-off-by: Rob Clark <[email protected]>
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_draw.c3
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_emit.h1
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_gmem.c2
3 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_draw.c b/src/gallium/drivers/freedreno/a4xx/fd4_draw.c
index 5b0b972022a..d49c529aab4 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_draw.c
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_draw.c
@@ -128,6 +128,7 @@ fd4_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info)
{
struct fd4_context *fd4_ctx = fd4_context(ctx);
struct fd4_emit emit = {
+ .debug = &ctx->debug,
.vtx = &ctx->vtx,
.prog = &ctx->prog,
.info = info,
@@ -217,6 +218,7 @@ fd4_clear_binning(struct fd_context *ctx, unsigned dirty)
struct fd4_context *fd4_ctx = fd4_context(ctx);
struct fd_ringbuffer *ring = ctx->binning_ring;
struct fd4_emit emit = {
+ .debug = &ctx->debug,
.vtx = &fd4_ctx->solid_vbuf_state,
.prog = &ctx->solid_prog,
.key = {
@@ -254,6 +256,7 @@ fd4_clear(struct fd_context *ctx, unsigned buffers,
unsigned dirty = ctx->dirty;
unsigned i;
struct fd4_emit emit = {
+ .debug = &ctx->debug,
.vtx = &fd4_ctx->solid_vbuf_state,
.prog = &ctx->solid_prog,
.key = {
diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_emit.h b/src/gallium/drivers/freedreno/a4xx/fd4_emit.h
index d8d3fd88a69..41df3219116 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_emit.h
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_emit.h
@@ -47,6 +47,7 @@ void fd4_emit_gmem_restore_tex(struct fd_ringbuffer *ring,
/* grouped together emit-state for prog/vertex/state emit: */
struct fd4_emit {
+ struct pipe_debug_callback *debug;
const struct fd_vertex_state *vtx;
const struct fd_program_stateobj *prog;
const struct pipe_draw_info *info;
diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_gmem.c b/src/gallium/drivers/freedreno/a4xx/fd4_gmem.c
index 0629c303656..c6fbf1c1d39 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_gmem.c
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_gmem.c
@@ -191,6 +191,7 @@ fd4_emit_tile_gmem2mem(struct fd_context *ctx, struct fd_tile *tile)
struct fd_ringbuffer *ring = ctx->ring;
struct pipe_framebuffer_state *pfb = &ctx->framebuffer;
struct fd4_emit emit = {
+ .debug = &ctx->debug,
.vtx = &fd4_ctx->solid_vbuf_state,
.prog = &ctx->solid_prog,
.key = {
@@ -328,6 +329,7 @@ fd4_emit_tile_mem2gmem(struct fd_context *ctx, struct fd_tile *tile)
struct fd_ringbuffer *ring = ctx->ring;
struct pipe_framebuffer_state *pfb = &ctx->framebuffer;
struct fd4_emit emit = {
+ .debug = &ctx->debug,
.vtx = &fd4_ctx->blit_vbuf_state,
.sprite_coord_enable = 1,
/* NOTE: They all use the same VP, this is for vtx bufs. */