freedreno: allocate batches from the cache in launch_grid
authorHyunjun Ko <zzoon@igalia.com>
Wed, 17 Oct 2018 12:57:28 +0000 (21:57 +0900)
committerRob Clark <robdclark@gmail.com>
Wed, 17 Oct 2018 16:44:48 +0000 (12:44 -0400)
Needs to allocate batches from the cache so that it could
get a valid index and make resource dependancy tracking right.

In addition this fixes assertion on debug build since the commit
1a40faa8 landed.

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/freedreno_draw.c

index e130895aac8d2ee4569b87728b0f7171c7448818..fe026a5fd8a63a31b15253ebd70d2abefa5dbeac 100644 (file)
@@ -459,7 +459,7 @@ fd_launch_grid(struct pipe_context *pctx, const struct pipe_grid_info *info)
        struct fd_batch *batch, *save_batch = NULL;
        unsigned i;
 
-       batch = fd_batch_create(ctx, true);
+       batch = fd_bc_alloc_batch(&ctx->screen->batch_cache, ctx, true);
        fd_batch_reference(&save_batch, ctx->batch);
        fd_batch_reference(&ctx->batch, batch);
 
@@ -506,6 +506,7 @@ fd_launch_grid(struct pipe_context *pctx, const struct pipe_grid_info *info)
 
        fd_batch_reference(&ctx->batch, save_batch);
        fd_batch_reference(&save_batch, NULL);
+       fd_batch_reference(&batch, NULL);
 }
 
 void