diff options
author | Rob Clark <[email protected]> | 2016-07-14 13:27:32 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2016-07-30 09:23:42 -0400 |
commit | e1b10527006a03f1bd845f222f353496502c8d16 (patch) | |
tree | 13177cf0625cdee29bab351332c2258e8eb0f19d | |
parent | 00bed8a794de3d80a46b65b9ab23c6df83e416a8 (diff) |
freedreno: drop mem2gmem/gmem2mem query stages
They weren't really used, and it gets somewhat more complicated to deal
with if batches are flushed asynchronously (on another thread). So just
drop them, and move _query_set_state(NULL) call into batch (so it is not
happening on background thread).
Signed-off-by: Rob Clark <[email protected]>
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_batch.h | 9 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_gmem.c | 9 |
2 files changed, 1 insertions, 17 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_batch.h b/src/gallium/drivers/freedreno/freedreno_batch.h index 047044a9538..9b7a8c132b1 100644 --- a/src/gallium/drivers/freedreno/freedreno_batch.h +++ b/src/gallium/drivers/freedreno/freedreno_batch.h @@ -50,15 +50,8 @@ enum fd_render_stage { FD_STAGE_NULL = 0x01, FD_STAGE_DRAW = 0x02, FD_STAGE_CLEAR = 0x04, - /* TODO before queries which include MEM2GMEM or GMEM2MEM will - * work we will need to call fd_hw_query_prepare() from somewhere - * appropriate so that queries in the tiling IB get backed with - * memory to write results to. - */ - FD_STAGE_MEM2GMEM = 0x08, - FD_STAGE_GMEM2MEM = 0x10, /* used for driver internal draws (ie. util_blitter_blit()): */ - FD_STAGE_BLIT = 0x20, + FD_STAGE_BLIT = 0x08, FD_STAGE_ALL = 0xff, }; diff --git a/src/gallium/drivers/freedreno/freedreno_gmem.c b/src/gallium/drivers/freedreno/freedreno_gmem.c index ed013d9d037..f2b6792fde7 100644 --- a/src/gallium/drivers/freedreno/freedreno_gmem.c +++ b/src/gallium/drivers/freedreno/freedreno_gmem.c @@ -323,9 +323,7 @@ render_tiles(struct fd_batch *batch) ctx->emit_tile_prep(batch, tile); if (batch->restore) { - fd_hw_query_set_stage(batch, batch->gmem, FD_STAGE_MEM2GMEM); ctx->emit_tile_mem2gmem(batch, tile); - fd_hw_query_set_stage(batch, batch->gmem, FD_STAGE_NULL); } ctx->emit_tile_renderprep(batch, tile); @@ -337,9 +335,7 @@ render_tiles(struct fd_batch *batch) fd_reset_wfi(ctx); /* emit gmem2mem to transfer tile back to system memory: */ - fd_hw_query_set_stage(batch, batch->gmem, FD_STAGE_GMEM2MEM); ctx->emit_tile_gmem2mem(batch, tile); - fd_hw_query_set_stage(batch, batch->gmem, FD_STAGE_NULL); } } @@ -373,11 +369,6 @@ fd_gmem_render_tiles(struct fd_batch *batch) } } - /* close out the draw cmds by making sure any active queries are - * paused: - */ - fd_hw_query_set_stage(batch, batch->draw, FD_STAGE_NULL); - fd_reset_wfi(ctx); ctx->stats.batch_total++; |