Skip to content
Commit c04d179e authored by Klaus Weidner's avatar Klaus Weidner Committed by Commit Bot
Browse files

Add GPU workaround for eglClientWaitSyncKHR timeout on S8

Samsung's implementation of the Adreno 540 driver on Android N as used
on the S8/S8+ has a bug where eglClientWaitSyncKHR with a nonzero
timeout waits much longer than the specified timeout. This is fixed
in the Android O update for these devices.

Workaround is to replace the timeout with polling for completion.
Since we don't know if we need the workaround until the GPU process
initialization completes, add a OnGpuConnectionReady callback
in VrShellGl to check for this.

This bug is specific to Samsung S8/S8+ on Android N, but there isn't
currently a way to restrict the filter to those devices. The
functionality is currently only used for WebVR on Daydream ready
devices, and the non-Samsung Daydream devices generally use Android O,
so an overbroad match seems acceptable.

BUG=760389

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I72b92d529307fe114d850eea576fd41fe0fcb645
Reviewed-on: https://chromium-review.googlesource.com/939724


Reviewed-by: default avatarAntoine Labour <piman@chromium.org>
Reviewed-by: default avatarBrandon Jones <bajones@chromium.org>
Commit-Queue: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539601}
parent e7803b0c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment