New issue
Advanced search Search tips

Issue 713516 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 0
Type: Bug
Proj-XR



Sign in to add a comment

WebVR crashes in Cardboard mode on Samsung S7 Mali

Reported by artem.bo...@oculusvr.com, Apr 20 2017

Issue description

Steps to reproduce the problem:
Open https://webvr.info/samples/03-vr-presentation.html on Samsung S7 (or S6, Note5, S8 - doesn't really matter).
Click Enter VR.
Crash

What is the expected behavior?
No crash, should enter VR

What went wrong?
It is crashing because of a bug in shader, defined in chrome/browser/android/vr_shell/vr_shell_renderer.cc. The error is: "chromium: [FATAL:vr_shell_renderer.cc(246)] Check failed: fragment_shader_handle. Error compiling shader: 0:1: S0032: no default precision defined for variable 'v_TexCoordinate'"

Crashed report ID: no

How much crashed? Whole browser

Is it a problem with a plugin? N/A 

Did this work before? N/A 

Chrome version: 59.0.3071.16  Channel: n/a
OS Version: 6.0.1
Flash Version: 

I've added mediump to all 'varying' variables in the shaders in the vr_shell_renderer.cc and the crash is gone.
 
logcat is attached.

Comment 2 by klausw@chromium.org, Apr 20 2017

Components: Blink>WebVR
Labels: -Pri-2 Proj-VR M-59 Pri-1
Owner: klausw@chromium.org
Status: Started (was: Unconfirmed)
Just adding that this does not occur on M58 ver 58.0.3029.83
Labels: -Pri-1 ReleaseBlock-Beta Pri-0
Whole browser crash in M59 when using WebVR on Samsung devices.
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 20 2017

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

commit 577ecb1d07b3990adc456b13143046561dd86ccc
Author: klausw <klausw@chromium.org>
Date: Thu Apr 20 21:57:30 2017

WebVR: Add explicit precision to all shaders to avoid Mali GPU crash

On Mali GPUs as used on Samsung S7 and other devices, precision qualifiers
are mandatory in GLSL shaders, there's no default. This causes a browser
crash due to failing shader compilation:

chromium: [FATAL:vr_shell_renderer.cc(246)] Check failed:
fragment_shader_handle. Error compiling shader: 0:1: S0032: no default
precision defined for variable 'v_TexCoordinate'

To fix this, add explicit "mediump" to all shaders.

Also update the v_TexCoordinate precision in vertex shaders to be "highp" to
match the fragment shader. In practice this doesn't currently make a difference
since the vertex coordinate values used are just 0, 0.5, or 1, all of which can
be precisely represented in a mediump, but it seems cleaner to keep this
consistent.

BUG= 713516 

Review-Url: https://codereview.chromium.org/2833823002
Cr-Commit-Position: refs/heads/master@{#466153}

[modify] https://crrev.com/577ecb1d07b3990adc456b13143046561dd86ccc/chrome/browser/android/vr_shell/mailbox_to_surface_bridge.cc
[modify] https://crrev.com/577ecb1d07b3990adc456b13143046561dd86ccc/chrome/browser/android/vr_shell/vr_shell_renderer.cc

Comment 6 by klausw@chromium.org, Apr 20 2017

Labels: Merge-Request-59
Project Member

Comment 7 by sheriffbot@chromium.org, Apr 20 2017

Labels: -Merge-Request-59 Hotlist-Merge-Approved Merge-Approved-59
Your change meets the bar and is auto-approved for M59. Please go ahead and merge the CL to branch 3071 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop)

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

Comment 8 by klausw@chromium.org, Apr 21 2017

Status: Fixed (was: Started)
This is merged into 59.0.3071.17 according to the git log and omahaproxy, looks like the auto bug update didn't work. Closing the bug.

https://chromium.googlesource.com/chromium/src.git/+log/59.0.3071.17

https://storage.googleapis.com/chromium-find-releases-static/577.html#577ecb1d07b3990adc456b13143046561dd86ccc

Commit 577ecb1d... initially landed in 60.0.3077.0

Merged to 59.0.3071.17 (as 204bf1b1...).

Comment 9 by amp@chromium.org, Apr 21 2017

Labels: -Merge-Approved-59 merge-merged-3071
Components: Blink>WebXR

Sign in to add a comment