Issue metadata
Sign in to add a comment
|
VR: UI rendering produces GL error |
||||||||||||||||||||||||
Issue descriptionAfter the rendering of our UI in VR browsing mode glGetError() doesn't return GL_NO_ERROR. This might also happen in WebVR mode. So far, we seem to get away with these errors. However, it is worth investigating since they may cause problems in the future. Also, GL errors get queued up. This means if we want to check the success of GL calls executed after the rendering we may erroneously detect that these calls failed due to stall errors in the queue.
,
Apr 17 2018
,
May 3 2018
,
May 5 2018
It's not indicative of production, but for reference, the testapp draws its UI without any GL errors. On Ozone's first SwapBuffers call, a GL error is generated, but not on subsequent frames. Need to see what crops up when run on-device.
,
May 24 2018
I dug into this, and found that Clank generates only one GL error, a few frames in, when executing gvr::Frame::Unbind. The UI itself doesn't generate any. I prepared a CL to DCHECK against GL errors, but klausw@ warned that the performance penalty can be heavy, which isn't great even for debug dev builds: "I think even one glGetError per frame would potentially make performance metrics invalid, you're potentially preventing frame overlap. This needs to be a special correctness testing mode, and I'd really prefer piggybacking on top of --enable-gpu-debugging instead of adding custom code for this." I might some DCHECKs only in the testapp, just to catch new UI GL errors, but I think we've got what we need out of this bug.
,
May 30 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/986ec296605736231a82ccbe660071c19fb58601 commit 986ec296605736231a82ccbe660071c19fb58601 Author: Christopher Grant <cjgrant@chromium.org> Date: Wed May 30 19:45:13 2018 VR: Have testapp DCHECK against GL errors in UI code Unbinding of frames appears to generate GL errors, on the first frame, but otherwise, the UI is clean. Checking for GL errors in the testapp is a way to sanity check against new UI errors without affecting GPU scheduling on dev/release Android builds. BUG= 768905 R=vollick Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_vr Change-Id: I7ba27f20e59f4eb642f129795abb74d66a0894f5 Reviewed-on: https://chromium-review.googlesource.com/1070309 Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org> Commit-Queue: Christopher Grant <cjgrant@chromium.org> Cr-Commit-Position: refs/heads/master@{#562962} [modify] https://crrev.com/986ec296605736231a82ccbe660071c19fb58601/chrome/browser/vr/testapp/gl_renderer.cc |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by cjgrant@chromium.org
, Nov 7 2017