zink: acquire persistently bound swapchain descriptors before setting usage
if a swapchain image is bound as a sampler across batches then it needs to be acquired again before it is used cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23729>
This commit is contained in:
committed by
Marge Bot
parent
9803174942
commit
6b204c6162
@@ -3115,6 +3115,11 @@ update_resource_refs_for_stage(struct zink_context *ctx, gl_shader_stage stage)
|
||||
continue;
|
||||
bool is_buffer = res->obj->is_buffer;
|
||||
bool is_write = zink_resource_access_is_write(get_access_flags_for_binding(ctx, i, stage, j));
|
||||
if (zink_is_swapchain(res)) {
|
||||
if (!zink_kopper_acquire(ctx, res, UINT64_MAX))
|
||||
/* technically this is a failure condition, but there's no safe way out */
|
||||
continue;
|
||||
}
|
||||
zink_batch_resource_usage_set(batch, res, is_write, is_buffer);
|
||||
if (is_write || !res->obj->is_buffer)
|
||||
res->obj->unordered_read = res->obj->unordered_write = false;
|
||||
|
||||
Reference in New Issue
Block a user