ExitPresent when an OpenXR event indicates that the session has ended.
With the current location of where OpenXR events are processed, Blink is not notified when the session has ended. When a session ends, there is first an event to set the visibility state to hidden before the event indicating the session has ended. Setting the visibility state to hidden will prevent Blink from requesting anymore frames. Since XRCompositorCommon:GetFrameData() checks for session ended at the beginning of the function, before requesting a frame from OpenXR where events are processed, it never detects that the session has ended to call ExitPresent. Moving event processing to OpenXrApiWrapper::HasSessionEnded ensures that the most current state is returned to XRCompositorCommon. Bug: 1044641 Change-Id: I0bf5d1ffc810720df6e4a9c37daac4d5d58a77c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2021336 Commit-Queue: Patrick To <patrto@microsoft.com> Reviewed-by:Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by:
Alexander Cooper <alcooper@chromium.org> Cr-Commit-Position: refs/heads/master@{#736058}
Showing
Please register or sign in to comment