summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2017-08-26 11:55:05 -0400
committerRob Clark <[email protected]>2017-09-02 11:41:20 -0400
commitdc9e08b0c3b04ba77ed59b8700e9f43edccb3168 (patch)
treee85d7abe3dec9bdbaf9c80ef8772bd546a08395a /src/gallium/drivers/freedreno
parent39a69f0692722e05a221b1db4cfd8100f2f20684 (diff)
freedreno: skip batch-cache for compute shaders
It is kind of pointless for compute, and avoids issues with apps kicking off more than 32 compute shaders at once. Signed-off-by: Rob Clark <[email protected]> Cc: "17.2" <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno')
-rw-r--r--src/gallium/drivers/freedreno/freedreno_draw.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_draw.c b/src/gallium/drivers/freedreno/freedreno_draw.c
index a4a19750a42..f2ccfc58548 100644
--- a/src/gallium/drivers/freedreno/freedreno_draw.c
+++ b/src/gallium/drivers/freedreno/freedreno_draw.c
@@ -428,13 +428,7 @@ fd_launch_grid(struct pipe_context *pctx, const struct pipe_grid_info *info)
struct fd_batch *batch, *save_batch = NULL;
unsigned i;
- /* TODO maybe we don't want to allocate and flush a batch each time?
- * We could use a special bogus (ie. won't match any fb state) key
- * in the batch-case for compute shaders, and rely on the rest of
- * the dependency tracking mechanism to tell us when the compute
- * batch needs to be flushed?
- */
- batch = fd_bc_alloc_batch(&ctx->screen->batch_cache, ctx);
+ batch = fd_batch_create(ctx);
fd_batch_reference(&save_batch, ctx->batch);
fd_batch_reference(&ctx->batch, batch);