Mesa 24.3 Merges Vulkan FIFO Support On Wayland
([Mesa] 5 Hours Ago
Vulkan FIFO Presentation Mode)
- Reference: 0001504439
- News link: https://www.phoronix.com/news/Mesa-24.3-Vulkan-FIFO
- Source link:
Yet another feature merging into [1]Mesa 24.3 with the code branching (feature freeze) yet to take place is Vulkan FIFO presentation mode support under Wayland.
Mesa's Vulkan windowing system integration (WSI) code on Wayland now allows making use of Wayland's commit_timing and FIFO protocols for enabling the Vulkan FIFO (First In First Out) presentation mode as an alternative to the mailbox presentation mode. The differences between the mailbox and FIFO presentation modes are described in the Vulkan documentation as:
"VK_PRESENT_MODE_MAILBOX_KHR specifies that the presentation engine waits for the next vertical blanking period to update the current image. Tearing cannot be observed. An internal single-entry queue is used to hold pending presentation requests. If the queue is full when a new presentation request is received, the new request replaces the existing entry, and any images associated with the prior entry become available for reuse by the application. One request is removed from the queue and processed during each vertical blanking period in which the queue is non-empty.
VK_PRESENT_MODE_FIFO_KHR specifies that the presentation engine waits for the next vertical blanking period to update the current image. Tearing cannot be observed. An internal queue is used to hold pending presentation requests. New requests are appended to the end of the queue, and one request is removed from the beginning of the queue and processed during each vertical blanking period in which the queue is non-empty. This is the only value of presentMode that is required to be supported."
With [2]Wayland Protocols 1.38 last month they added the FIFO protocol and commit-timing-v1 protocols that are being leveraged for enabling Vulkan FIFO support under Wayland compositors.
Overnight [3]this 11 month old merge request finally made it to mainline Mesa for Mesa 24.3 to implement the Vulkan FIFO support under Wayland.
[1] https://www.phoronix.com/search/Mesa+24.3
[2] https://www.phoronix.com/news/Wayland-Protocols-1.38
[3] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26150
Mesa's Vulkan windowing system integration (WSI) code on Wayland now allows making use of Wayland's commit_timing and FIFO protocols for enabling the Vulkan FIFO (First In First Out) presentation mode as an alternative to the mailbox presentation mode. The differences between the mailbox and FIFO presentation modes are described in the Vulkan documentation as:
"VK_PRESENT_MODE_MAILBOX_KHR specifies that the presentation engine waits for the next vertical blanking period to update the current image. Tearing cannot be observed. An internal single-entry queue is used to hold pending presentation requests. If the queue is full when a new presentation request is received, the new request replaces the existing entry, and any images associated with the prior entry become available for reuse by the application. One request is removed from the queue and processed during each vertical blanking period in which the queue is non-empty.
VK_PRESENT_MODE_FIFO_KHR specifies that the presentation engine waits for the next vertical blanking period to update the current image. Tearing cannot be observed. An internal queue is used to hold pending presentation requests. New requests are appended to the end of the queue, and one request is removed from the beginning of the queue and processed during each vertical blanking period in which the queue is non-empty. This is the only value of presentMode that is required to be supported."
With [2]Wayland Protocols 1.38 last month they added the FIFO protocol and commit-timing-v1 protocols that are being leveraged for enabling Vulkan FIFO support under Wayland compositors.
Overnight [3]this 11 month old merge request finally made it to mainline Mesa for Mesa 24.3 to implement the Vulkan FIFO support under Wayland.
[1] https://www.phoronix.com/search/Mesa+24.3
[2] https://www.phoronix.com/news/Wayland-Protocols-1.38
[3] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26150
Volta