New issue
Advanced search Search tips

Issue 790785 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug
Proj-XR



Sign in to add a comment

Black screen sometimes in WebVR on desktop

Project Member Reported by billorr@chromium.org, Nov 30 2017

Issue description

There is a finch trial for using a passthrough command decoder instead of the default validating command decoder.  This uses different ANGLE APIs for some things, like glBlitFramebuffer[ANGLE], which behave subtly different.

In particular for WebVR, validating decoder will do some format conversions for compatible formats (RGB->RGBA), and will support GL_LINEAR interpolation.  The passthrough doesn't support either of these.

This bug represents the work to make WebVR compatible with both decoders.
 
See related bug crbug/790033 for work to make the two command buffers behave more predictably similar.
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c11f385bc0a6df6510d2bc921f78db6f2808c9d8

commit c11f385bc0a6df6510d2bc921f78db6f2808c9d8
Author: Bill Orr <billorr@chromium.org>
Date: Mon Dec 04 21:24:49 2017

Desktop WebVR displays black when using the passthrough command decoder

The passthrough command decoder has slightly different behavior than the
validating command decoder, as they go through different ANGLE functions
(glBlitFrameBuffer vs. glBlitFramebufferANGLE).  This means that
passthrough doesn't support GL_LINEAR interpolation mode, and is more
strict about color formats.

The immediate fix to unblock WebVR is to use compatible buffer format,
and use GL_NEAREST.  A subsequent change (crbug/790033) will reconcile
the two behaviors to ensure consistancy.

BUG= 790785 

Change-Id: I0ac98a923168823f9e6618fef9d6e6e0e974c777
Reviewed-on: https://chromium-review.googlesource.com/802244
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Bill Orr <billorr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521457}
[modify] https://crrev.com/c11f385bc0a6df6510d2bc921f78db6f2808c9d8/third_party/WebKit/Source/platform/graphics/GpuMemoryBufferImageCopy.cpp

Labels: Merge-Request-64
Project Member

Comment 4 by sheriffbot@chromium.org, Dec 5 2017

Labels: -Merge-Request-64 Hotlist-Merge-Approved Merge-Approved-64
Your change meets the bar and is auto-approved for M64. Please go ahead and merge the CL to branch 3282 manually. Please contact milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 5 by bugdroid1@chromium.org, Dec 6 2017

Labels: -merge-approved-64 merge-merged-3282
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2fbc04583a16069fa0127bc56ef3d06136347002

commit 2fbc04583a16069fa0127bc56ef3d06136347002
Author: Bill Orr <billorr@chromium.org>
Date: Wed Dec 06 01:34:43 2017

Desktop WebVR displays black when using the passthrough command decoder

The passthrough command decoder has slightly different behavior than the
validating command decoder, as they go through different ANGLE functions
(glBlitFrameBuffer vs. glBlitFramebufferANGLE).  This means that
passthrough doesn't support GL_LINEAR interpolation mode, and is more
strict about color formats.

The immediate fix to unblock WebVR is to use compatible buffer format,
and use GL_NEAREST.  A subsequent change (crbug/790033) will reconcile
the two behaviors to ensure consistancy.

BUG= 790785 
TBR=billorr@chromium.org

(cherry picked from commit c11f385bc0a6df6510d2bc921f78db6f2808c9d8)

Change-Id: I0ac98a923168823f9e6618fef9d6e6e0e974c777
Reviewed-on: https://chromium-review.googlesource.com/802244
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Bill Orr <billorr@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#521457}
Reviewed-on: https://chromium-review.googlesource.com/809818
Reviewed-by: Bill Orr <billorr@chromium.org>
Cr-Commit-Position: refs/branch-heads/3282@{#47}
Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
[modify] https://crrev.com/2fbc04583a16069fa0127bc56ef3d06136347002/third_party/WebKit/Source/platform/graphics/GpuMemoryBufferImageCopy.cpp

Status: Fixed (was: Started)
Components: Blink>WebXR

Sign in to add a comment