wsi/common: Do not update present mode with MESA_VK_WSI_PRESENT_MODE.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com>
Fixes: ad71d584cf ("wsi/common: Add function to modify present mode.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30434>
(cherry picked from commit 369e3cc20a)
This commit is contained in:
Hans-Kristian Arntzen 2024-07-31 10:07:03 +02:00 committed by Eric Engestrom
parent 21463c6967
commit 52ab6f8d02
2 changed files with 8 additions and 3 deletions

View file

@ -1554,7 +1554,7 @@
"description": "wsi/common: Do not update present mode with MESA_VK_WSI_PRESENT_MODE.",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "ad71d584cfbe588c54b2b3eaa2e6aa94af68e305",
"notes": null

View file

@ -1354,9 +1354,14 @@ wsi_common_queue_present(const struct wsi_device *wsi,
uint32_t image_index = pPresentInfo->pImageIndices[i];
VkResult result;
/* Update the present mode for this present and any subsequent present. */
if (present_mode_info && present_mode_info->pPresentModes && swapchain->set_present_mode)
/* Update the present mode for this present and any subsequent present.
* Only update the present mode when MESA_VK_WSI_PRESENT_MODE is not used.
* We should also turn any VkSwapchainPresentModesCreateInfoEXT into a nop,
* but none of the WSI backends use that currently. */
if (present_mode_info && present_mode_info->pPresentModes &&
swapchain->set_present_mode && wsi->override_present_mode == VK_PRESENT_MODE_MAX_ENUM_KHR) {
swapchain->set_present_mode(swapchain, present_mode_info->pPresentModes[i]);
}
if (swapchain->fences[image_index] == VK_NULL_HANDLE) {
const VkFenceCreateInfo fence_info = {