mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-09 12:40:23 +01:00
zink: make a local screen var for buffer replace
Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12822>
This commit is contained in:
parent
b5e460cec2
commit
60bc0fbffa
1 changed files with 5 additions and 4 deletions
|
|
@ -3441,17 +3441,18 @@ zink_context_replace_buffer_storage(struct pipe_context *pctx, struct pipe_resou
|
|||
struct zink_resource *d = zink_resource(dst);
|
||||
struct zink_resource *s = zink_resource(src);
|
||||
struct zink_context *ctx = zink_context(pctx);
|
||||
struct zink_screen *screen = zink_screen(pctx->screen);
|
||||
|
||||
assert(d->internal_format == s->internal_format);
|
||||
assert(d->obj);
|
||||
assert(s->obj);
|
||||
util_idalloc_mt_free(&zink_screen(pctx->screen)->buffer_ids, delete_buffer_id);
|
||||
zink_resource_object_reference(zink_screen(pctx->screen), NULL, s->obj);
|
||||
util_idalloc_mt_free(&screen->buffer_ids, delete_buffer_id);
|
||||
zink_resource_object_reference(screen, NULL, s->obj);
|
||||
if (zink_resource_has_unflushed_usage(d) ||
|
||||
(zink_resource_has_usage(d) && zink_resource_has_binds(d)))
|
||||
zink_batch_reference_resource_move(&ctx->batch, d);
|
||||
else
|
||||
zink_resource_object_reference(zink_screen(pctx->screen), &d->obj, NULL);
|
||||
zink_resource_object_reference(screen, &d->obj, NULL);
|
||||
d->obj = s->obj;
|
||||
d->access = s->access;
|
||||
d->access_stage = s->access_stage;
|
||||
|
|
@ -3459,7 +3460,7 @@ zink_context_replace_buffer_storage(struct pipe_context *pctx, struct pipe_resou
|
|||
/* force counter buffer reset */
|
||||
d->bind_history &= ~ZINK_RESOURCE_USAGE_STREAMOUT;
|
||||
if (num_rebinds && rebind_buffer(ctx, d, rebind_mask, num_rebinds) != num_rebinds)
|
||||
ctx->buffer_rebind_counter = p_atomic_inc_return(&zink_screen(ctx->base.screen)->buffer_rebind_counter);
|
||||
ctx->buffer_rebind_counter = p_atomic_inc_return(&screen->buffer_rebind_counter);
|
||||
}
|
||||
|
||||
static bool
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue