mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 06:48:06 +02:00
vulkan/wsi: Signal buffer memory object when blitting
When we're using the PRIME path and using vkCmdCopyImageToBuffer to copy
to a linear image, the buffer memory is what's shared with the window
system. For legacy drivers that depend on memory signaling via
wsi_memory_signal_submit_info, we need to tell the driver to signal the
buffer memory, not the image memory or else the window system may wait
on a driver-internal buffer and not wait for the copy to complete.
Cc: mesa-stable
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34218>
(cherry picked from commit cf23ffcbae)
This commit is contained in:
parent
9fb56e2780
commit
79f960cb1d
2 changed files with 3 additions and 2 deletions
|
|
@ -1464,7 +1464,7 @@
|
||||||
"description": "vulkan/wsi: Signal buffer memory object when blitting",
|
"description": "vulkan/wsi: Signal buffer memory object when blitting",
|
||||||
"nominated": true,
|
"nominated": true,
|
||||||
"nomination_type": 1,
|
"nomination_type": 1,
|
||||||
"resolution": 0,
|
"resolution": 1,
|
||||||
"main_sha": null,
|
"main_sha": null,
|
||||||
"because_sha": null,
|
"because_sha": null,
|
||||||
"notes": null
|
"notes": null
|
||||||
|
|
|
||||||
|
|
@ -1527,7 +1527,8 @@ wsi_common_queue_present(const struct wsi_device *wsi,
|
||||||
has_signal_dma_buf = false;
|
has_signal_dma_buf = false;
|
||||||
mem_signal = (struct wsi_memory_signal_submit_info) {
|
mem_signal = (struct wsi_memory_signal_submit_info) {
|
||||||
.sType = VK_STRUCTURE_TYPE_WSI_MEMORY_SIGNAL_SUBMIT_INFO_MESA,
|
.sType = VK_STRUCTURE_TYPE_WSI_MEMORY_SIGNAL_SUBMIT_INFO_MESA,
|
||||||
.memory = image->memory,
|
.memory = swapchain->blit.type == WSI_SWAPCHAIN_NO_BLIT ?
|
||||||
|
image->memory : image->blit.memory,
|
||||||
};
|
};
|
||||||
__vk_append_struct(&submit_info, &mem_signal);
|
__vk_append_struct(&submit_info, &mem_signal);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue