zink: move wsi flush info conditional to queue submission

having a resource pointer on batch states is now a requirement for
keeping scanout objects in sync

Fixes: 104603fa76 ("zink: create separate linear tiling image for scanout")

Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10358>
(cherry picked from commit 7af40bb595)
This commit is contained in:
Mike Blumenkrantz 2021-04-20 15:05:37 -04:00 committed by Eric Engestrom
parent 5f748f1e11
commit 687a8bf579
3 changed files with 3 additions and 4 deletions

View file

@ -76,7 +76,7 @@
"description": "zink: move wsi flush info conditional to queue submission",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "104603fa763c52e98a79785dd514beab949546db"
},

View file

@ -337,7 +337,7 @@ submit_queue(void *data, int thread_index)
.pNext = si.pNext,
};
if (bs->flush_res) {
if (bs->flush_res && zink_screen(bs->ctx->base.screen)->needs_mesa_flush_wsi) {
mem_signal.memory = bs->flush_res->scanout_obj ? bs->flush_res->scanout_obj->mem : bs->flush_res->obj->mem;
si.pNext = &mem_signal;
}

View file

@ -1705,8 +1705,7 @@ zink_flush(struct pipe_context *pctx,
zink_begin_render_pass(ctx, batch);
zink_end_render_pass(ctx, batch);
if (ctx->flush_res) {
if (zink_screen(pctx->screen)->needs_mesa_flush_wsi)
batch->state->flush_res = ctx->flush_res;
batch->state->flush_res = ctx->flush_res;
ctx->flush_res = NULL;
}
}