when needs_present_readback is set, reordering is disabled without hitting
the path that would normally disable promotion for the resource, so this
needs to be changed manually to avoid layout desync on the swapchain
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23035>
}
ctx->unordered_blitting = false;
end:
- if (needs_present_readback)
+ if (needs_present_readback) {
+ src->obj->unordered_read = false;
+ dst->obj->unordered_write = false;
zink_kopper_present_readback(ctx, src);
+ }
}
/* similar to radeonsi */
}
zink_cmd_debug_marker_end(ctx, cmdbuf, marker);
}
- if (needs_present_readback)
+ if (needs_present_readback) {
+ if (buf2img) {
+ img->obj->unordered_write = false;
+ buf->obj->unordered_read = false;
+ } else {
+ img->obj->unordered_read = false;
+ buf->obj->unordered_write = false;
+ }
zink_kopper_present_readback(ctx, img);
+ }
if (ctx->oom_flush && !ctx->batch.in_rp && !ctx->unordered_blitting)
flush_batch(ctx, false);