mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
zink: disable fbfetch when flushing clears
this ensures there's no weird perf happening, avoids using renderpass instead of dynamic rendering, and avoids hitting an assert from broken framebuffer construction cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19065>
This commit is contained in:
parent
1ae26de36f
commit
d3880a6324
1 changed files with 10 additions and 1 deletions
|
|
@ -3597,9 +3597,18 @@ zink_flush(struct pipe_context *pctx,
|
|||
VkSemaphore export_sem = VK_NULL_HANDLE;
|
||||
|
||||
/* triggering clears will force has_work */
|
||||
if (!deferred && ctx->clears_enabled)
|
||||
if (!deferred && ctx->clears_enabled) {
|
||||
/* if fbfetch outputs are active, disable them when flushing clears */
|
||||
unsigned fbfetch_outputs = ctx->fbfetch_outputs;
|
||||
if (fbfetch_outputs) {
|
||||
ctx->fbfetch_outputs = 0;
|
||||
ctx->rp_changed = true;
|
||||
}
|
||||
/* start rp to do all the clears */
|
||||
zink_batch_rp(ctx);
|
||||
ctx->fbfetch_outputs = fbfetch_outputs;
|
||||
ctx->rp_changed |= fbfetch_outputs > 0;
|
||||
}
|
||||
|
||||
if (ctx->needs_present && (flags & PIPE_FLUSH_END_OF_FRAME)) {
|
||||
if (ctx->needs_present->obj->image)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue