mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-11 07:20:30 +01:00
zink: flush all resources with persistent maps on work batch before draw/compute
these require explicit memory sync on our part Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8942>
This commit is contained in:
parent
564bb1410c
commit
e388fae898
1 changed files with 13 additions and 0 deletions
|
|
@ -107,6 +107,19 @@ zink_end_batch(struct zink_context *ctx, struct zink_batch *batch)
|
|||
if (!batch->fence)
|
||||
return;
|
||||
|
||||
util_dynarray_foreach(&batch->persistent_resources, struct zink_resource*, res) {
|
||||
struct zink_screen *screen = zink_screen(ctx->base.screen);
|
||||
assert(!(*res)->offset);
|
||||
VkMappedMemoryRange range = {
|
||||
VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
|
||||
NULL,
|
||||
(*res)->mem,
|
||||
(*res)->offset,
|
||||
VK_WHOLE_SIZE,
|
||||
};
|
||||
vkFlushMappedMemoryRanges(screen->dev, 1, &range);
|
||||
}
|
||||
|
||||
VkSubmitInfo si = {};
|
||||
si.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
|
||||
si.waitSemaphoreCount = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue