New issue
Advanced search Search tips

Issue 768905 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
Proj-XR
Proj-XR-VR

Blocking:
issue 781367



Sign in to add a comment

VR: UI rendering produces GL error

Project Member Reported by tiborg@chromium.org, Sep 26 2017

Issue description

After 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.
 
Blocking: 781367
Labels: Hotlist-VRB-MVP-Next
Labels: Hotlist-VRB-TD
Owner: cjgrant@chromium.org
Status: Started (was: Available)
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.
Status: Fixed (was: Started)
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.
Project Member

Comment 6 by bugdroid1@chromium.org, 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