Commit c5eab600 authored by Klaus Weidner's avatar Klaus Weidner Committed by Commit Bot

Avoid hang on rapid WebXR VR exit / re-entry

The "GpuFence" and "SharedBuffer" WebXR render modes use a frame-separating GpuFence,
the Renderer is supposed to do a server wait for that before the second and following
frames.

The "is this the first frame" status is tracked by xr_frame_transport, but the property
wasn't being cleared correctly when exiting and re-entering VR, with the effect that
it could end up erroneously waiting for a separating fence for the first frame.

BUG=855722

Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I5508f184e4687d1b0a20d3da543cbbaf2e8535c1
Reviewed-on: https://chromium-review.googlesource.com/1115421Reviewed-by: default avatarIan Vollick <vollick@chromium.org>
Commit-Queue: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570841}
parent cb8862fc
...@@ -23,6 +23,10 @@ XRFrameTransport::~XRFrameTransport() { ...@@ -23,6 +23,10 @@ XRFrameTransport::~XRFrameTransport() {
void XRFrameTransport::PresentChange() { void XRFrameTransport::PresentChange() {
frame_copier_ = nullptr; frame_copier_ = nullptr;
// Ensure we don't wait for a frame separator fence when rapidly exiting and
// re-entering presentation, cf. https://crbug.com/855722.
waiting_for_previous_frame_fence_ = false;
} }
void XRFrameTransport::SetTransportOptions( void XRFrameTransport::SetTransportOptions(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment