wsi/x11: Hook up VK_PRESENT_MODE_FIFO_RELAXED_KHR
This is just PresentOptionAsync. Fixes: mesa/mesa#3483 Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6673>
This commit is contained in:
@@ -2,3 +2,4 @@ GL 4.5 on llvmpipe
|
||||
GL_NV_copy_depth_to_color for NIR
|
||||
GL_NV_half_float
|
||||
EGL_KHR_swap_buffers_with_damage on X11 (DRI3)
|
||||
VK_PRESENT_MODE_FIFO_RELAXED on X11
|
||||
|
@@ -129,6 +129,8 @@ wsi_device_init(struct wsi_device *wsi,
|
||||
if (present_mode) {
|
||||
if (!strcmp(present_mode, "fifo")) {
|
||||
wsi->override_present_mode = VK_PRESENT_MODE_FIFO_KHR;
|
||||
} else if (!strcmp(present_mode, "relaxed")) {
|
||||
wsi->override_present_mode = VK_PRESENT_MODE_FIFO_RELAXED_KHR;
|
||||
} else if (!strcmp(present_mode, "mailbox")) {
|
||||
wsi->override_present_mode = VK_PRESENT_MODE_MAILBOX_KHR;
|
||||
} else if (!strcmp(present_mode, "immediate")) {
|
||||
|
@@ -270,6 +270,7 @@ static const VkPresentModeKHR present_modes[] = {
|
||||
VK_PRESENT_MODE_IMMEDIATE_KHR,
|
||||
VK_PRESENT_MODE_MAILBOX_KHR,
|
||||
VK_PRESENT_MODE_FIFO_KHR,
|
||||
VK_PRESENT_MODE_FIFO_RELAXED_KHR,
|
||||
};
|
||||
|
||||
static xcb_screen_t *
|
||||
@@ -1008,7 +1009,8 @@ x11_present_to_x11_dri3(struct x11_swapchain *chain, uint32_t image_index,
|
||||
int64_t divisor = 0;
|
||||
int64_t remainder = 0;
|
||||
|
||||
if (chain->base.present_mode == VK_PRESENT_MODE_IMMEDIATE_KHR)
|
||||
if (chain->base.present_mode == VK_PRESENT_MODE_IMMEDIATE_KHR ||
|
||||
chain->base.present_mode == VK_PRESENT_MODE_FIFO_RELAXED_KHR)
|
||||
options |= XCB_PRESENT_OPTION_ASYNC;
|
||||
|
||||
#ifdef HAVE_DRI3_MODIFIERS
|
||||
|
Reference in New Issue
Block a user