freedreno: adds nondraw param to fd_bc_alloc_batch
Needs to specify nondraw when creating a batch through fd_bc_alloc_batch since it'd better create a batch through it rather than fd_batch_create. Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
@@ -486,7 +486,7 @@ fd6_blit(struct pipe_context *pctx, const struct pipe_blit_info *info)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
batch = fd_bc_alloc_batch(&ctx->screen->batch_cache, ctx);
|
batch = fd_bc_alloc_batch(&ctx->screen->batch_cache, ctx, true);
|
||||||
|
|
||||||
fd6_emit_restore(batch, batch->draw);
|
fd6_emit_restore(batch, batch->draw);
|
||||||
fd6_emit_lrz_flush(batch->draw);
|
fd6_emit_lrz_flush(batch->draw);
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ fd_bc_invalidate_resource(struct fd_resource *rsc, bool destroy)
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct fd_batch *
|
struct fd_batch *
|
||||||
fd_bc_alloc_batch(struct fd_batch_cache *cache, struct fd_context *ctx)
|
fd_bc_alloc_batch(struct fd_batch_cache *cache, struct fd_context *ctx, bool nondraw)
|
||||||
{
|
{
|
||||||
struct fd_batch *batch;
|
struct fd_batch *batch;
|
||||||
uint32_t idx;
|
uint32_t idx;
|
||||||
@@ -333,7 +333,7 @@ fd_bc_alloc_batch(struct fd_batch_cache *cache, struct fd_context *ctx)
|
|||||||
|
|
||||||
idx--; /* bit zero returns 1 for ffs() */
|
idx--; /* bit zero returns 1 for ffs() */
|
||||||
|
|
||||||
batch = fd_batch_create(ctx, false);
|
batch = fd_batch_create(ctx, nondraw);
|
||||||
if (!batch)
|
if (!batch)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
@@ -365,7 +365,7 @@ batch_from_key(struct fd_batch_cache *cache, struct key *key,
|
|||||||
return batch;
|
return batch;
|
||||||
}
|
}
|
||||||
|
|
||||||
batch = fd_bc_alloc_batch(cache, ctx);
|
batch = fd_bc_alloc_batch(cache, ctx, false);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
DBG("%p: hash=0x%08x, %ux%u, %u layers, %u samples", batch, hash,
|
DBG("%p: hash=0x%08x, %ux%u, %u layers, %u samples", batch, hash,
|
||||||
key->width, key->height, key->layers, key->samples);
|
key->width, key->height, key->layers, key->samples);
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ void fd_bc_flush_deferred(struct fd_batch_cache *cache, struct fd_context *ctx);
|
|||||||
void fd_bc_invalidate_context(struct fd_context *ctx);
|
void fd_bc_invalidate_context(struct fd_context *ctx);
|
||||||
void fd_bc_invalidate_batch(struct fd_batch *batch, bool destroy);
|
void fd_bc_invalidate_batch(struct fd_batch *batch, bool destroy);
|
||||||
void fd_bc_invalidate_resource(struct fd_resource *rsc, bool destroy);
|
void fd_bc_invalidate_resource(struct fd_resource *rsc, bool destroy);
|
||||||
struct fd_batch * fd_bc_alloc_batch(struct fd_batch_cache *cache, struct fd_context *ctx);
|
struct fd_batch * fd_bc_alloc_batch(struct fd_batch_cache *cache, struct fd_context *ctx, bool nondraw);
|
||||||
|
|
||||||
struct fd_batch * fd_batch_from_fb(struct fd_batch_cache *cache,
|
struct fd_batch * fd_batch_from_fb(struct fd_batch_cache *cache,
|
||||||
struct fd_context *ctx, const struct pipe_framebuffer_state *pfb);
|
struct fd_context *ctx, const struct pipe_framebuffer_state *pfb);
|
||||||
|
|||||||
@@ -316,7 +316,7 @@ fd_context_init(struct fd_context *ctx, struct pipe_screen *pscreen,
|
|||||||
pctx->const_uploader = pctx->stream_uploader;
|
pctx->const_uploader = pctx->stream_uploader;
|
||||||
|
|
||||||
if (!ctx->screen->reorder)
|
if (!ctx->screen->reorder)
|
||||||
ctx->batch = fd_bc_alloc_batch(&screen->batch_cache, ctx);
|
ctx->batch = fd_bc_alloc_batch(&screen->batch_cache, ctx, false);
|
||||||
|
|
||||||
slab_create_child(&ctx->transfer_pool, &screen->transfer_pool);
|
slab_create_child(&ctx->transfer_pool, &screen->transfer_pool);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user