zink: ignore tc buffer replacement info

without tc tracking cross-context buffer usage, this is intensely broken

Fixes: 96cf4531e1 ("Revert "gallium/u_threaded: buffer sharedness tracking"")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26959>
(cherry picked from commit 0444d057ae)
This commit is contained in:
Mike Blumenkrantz 2024-01-09 15:10:51 -05:00 committed by Eric Engestrom
parent 35b321e9b8
commit 5aab597ecb
2 changed files with 6 additions and 1 deletions

View file

@ -1384,7 +1384,7 @@
"description": "zink: ignore tc buffer replacement info",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "96cf4531e11eac8175671be990a02c7b5d17fb60",
"notes": null

View file

@ -4932,6 +4932,11 @@ zink_context_replace_buffer_storage(struct pipe_context *pctx, struct pipe_resou
zink_resource_copies_reset(d);
/* force counter buffer reset */
d->so_valid = false;
/* FIXME: tc buffer sharedness tracking */
if (!num_rebinds) {
num_rebinds = d->bind_count[0] + d->bind_count[1];
rebind_mask = 0;
}
if (num_rebinds && rebind_buffer(ctx, d, rebind_mask, num_rebinds) < num_rebinds)
ctx->buffer_rebind_counter = p_atomic_inc_return(&screen->buffer_rebind_counter);
}