google / google/filament

Vulkan Present Mode selection

Open
#9,245 5 comments 0 reactions 1 assignee Claimed by @poweifeng View on GitHub
linux vulkan
Dominant language
C++
Stars
20.5k
Forks
2.3k
Avg merge
2d 14h
Merged PRs (30d)
83

Description

**Is your feature request related to a problem? Please describe.**
FIFO present mode is not sufficient for high refresh monitor use cases.

We need to control run on frame cases; skip subsequent frames.

For Linux Wayland FIFO mode and using the Wayland (default) frame callback mechanism is not granular enough for high frame rates (e.g. 160Hz). Also some vendors (NVidia) behave badly here; 1/3 of the frame rate. To get better granularity one can use the Wayland precision timing protocol.

Mailbox mode enables precision timing callbacks with Vulkan Wayland WSI.

We need a way to set the present mode; FIFO as default, mailbox as optional.

**Describe the solution you'd like**
Either as an API parameter or associate an environmental variable.

**Describe alternatives you've considered**
Downstream patch on Filament.

**OS and backend**
Possibly Wayland specific. Have not tested other WSI in this scenario. Mailbox mode would be used for certain scenarios (e.g. high frame rate games) on all platforms.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.