summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2016-07-14 13:27:32 -0400
committerRob Clark <[email protected]>2016-07-30 09:23:42 -0400
commite1b10527006a03f1bd845f222f353496502c8d16 (patch)
tree13177cf0625cdee29bab351332c2258e8eb0f19d
parent00bed8a794de3d80a46b65b9ab23c6df83e416a8 (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.h9
-rw-r--r--src/gallium/drivers/freedreno/freedreno_gmem.c9
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++;