diff options
author | Adam Jackson <ajax@redhat.com> | 2020-09-21 15:48:22 -0400 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2020-09-21 15:48:22 -0400 |
commit | 54b9013e4c83a74b2806195bc41d774ca060112b (patch) | |
tree | 7762cb36a962976c7e8c1752c79d16e298463056 | |
parent | 26a83bef7b98899913b19ddb7efadaa1f435b25f (diff) |
wsi/x11: Create a present queue for VK_PRESENT_MODE_FIFO_RELAXED_KHR
This activates the target_msc computation that we'd otherwise be using
if we were just FIFO; otherwise we'd always set target_msc = 0 and it'd
act like IMMEDIATE.
Fixes: 77d25627933 "wsi/x11: Hook up VK_PRESENT_MODE_FIFO_RELAXED_KHR"
Fixes: mesa/mesa#3512
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6804>
-rw-r--r-- | src/vulkan/wsi/wsi_common_x11.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vulkan/wsi/wsi_common_x11.c b/src/vulkan/wsi/wsi_common_x11.c index 9d9f29f2b76..ff7e90ac92f 100644 --- a/src/vulkan/wsi/wsi_common_x11.c +++ b/src/vulkan/wsi/wsi_common_x11.c @@ -1606,6 +1606,7 @@ x11_surface_create_swapchain(VkIcdSurfaceBase *icd_surface, } if ((chain->base.present_mode == VK_PRESENT_MODE_FIFO_KHR || + chain->base.present_mode == VK_PRESENT_MODE_FIFO_RELAXED_KHR || chain->base.present_mode == VK_PRESENT_MODE_MAILBOX_KHR) && !chain->base.wsi->sw) { chain->has_present_queue = true; @@ -1619,7 +1620,8 @@ x11_surface_create_swapchain(VkIcdSurfaceBase *icd_surface, goto fail_init_images; } - if (chain->base.present_mode == VK_PRESENT_MODE_FIFO_KHR) { + if (chain->base.present_mode == VK_PRESENT_MODE_FIFO_KHR || + chain->base.present_mode == VK_PRESENT_MODE_FIFO_RELAXED_KHR) { chain->has_acquire_queue = true; ret = wsi_queue_init(&chain->acquire_queue, chain->base.image_count + 1); |