Repository navigation
VR FIFO fixes - #2544
Open
matte-schwartz wants to merge 2 commits into
Open
VR FIFO fixes#2544matte-schwartz wants to merge 2 commits into
matte-schwartz wants to merge 2 commits into
Conversation
The heuristic VR app match clears a commit's fifo flag as well as exempting the window from the limiter. The exemption alone already releases a FIFO commit on every vblank, so clearing the flag only lifts the display refresh cap. With the layer's mailbox swapchain underneath, nothing then blocks the app. On a Steam Frame, an app with an OpenXR session and the headset off presents at about 1150 Hz under 60 Hz headless gamescope. Leave the flag alone so these windows present at the display's refresh, with or without a limiter. The same window holds 60 Hz under a 20 fps limit, so the exemption still applies. A VR game whose flat window presents FIFO is held to the display's refresh again, as it was before the exemption.
The scene app's commits are never FIFO, so its flat window cannot hold back its VR frames. An app that relies on that window for pacing has nothing else to block on once the headset is off. On a Steam Frame, such an app sits in a synchronized OpenXR session and presents at about 1170 Hz while the session refreshes at 72 Hz. While the HMD is in standby no VR frame is waiting on the window, so commit as the app asked. The OpenVR backend reads the HMD's activity level at startup and again on each standby event, rather than trusting the event to name the HMD. The scene application state cannot tell these cases apart, as SteamVR reports it as running throughout. Idle is too weak a signal, since it only means the headset has stopped moving. Launching an app wakes the headset, so it runs unpaced for about 5 seconds until standby returns. Closes: ValveSoftware#2539
3 of 6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.