From e1b10527006a03f1bd845f222f353496502c8d16 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 14 Jul 2016 13:27:32 -0400 Subject: [PATCH] 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 --- src/gallium/drivers/freedreno/freedreno_batch.h | 9 +-------- src/gallium/drivers/freedreno/freedreno_gmem.c | 9 --------- 2 files changed, 1 insertion(+), 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++; -- 2.30.2