freedreno: drop mem2gmem/gmem2mem query stages
authorRob Clark <robdclark@gmail.com>
Thu, 14 Jul 2016 17:27:32 +0000 (13:27 -0400)
committerRob Clark <robdclark@gmail.com>
Sat, 30 Jul 2016 13:23:42 +0000 (09:23 -0400)
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 <robdclark@gmail.com>
src/gallium/drivers/freedreno/freedreno_batch.h
src/gallium/drivers/freedreno/freedreno_gmem.c

index 047044a9538bcdfcf6929a8a3fe16a36a14ddf03..9b7a8c132b135160650624c8389370a58038d002 100644 (file)
@@ -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,
 };
 
index ed013d9d037d63a7ddd81c73070a8a376649b9cd..f2b6792fde7e484b940cee18dcaa006f18a09141 100644 (file)
@@ -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++;