New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 682490 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug


Sign in to add a comment

Pass WebGL 2.0.0 conformance suite on Android/NVIDIA

Project Member Reported by zmo@chromium.org, Jan 19 2017

Issue description

The current failure list [EDIT: On Pixel C]:

conformance/extensions/webgl-compressed-texture-etc.html
conformance/glsl/bugs/constant-precision-qualifier.html
conformance/textures/misc/texture-upload-size.html (TIMEOUT)
conformance/textures/video/* (TIMEOUT)
conformance/textures/image_bitmap_from_video/* (TIMEOUT)

deqp/data/gles3/shaders/arrays.html
deqp/data/gles3/shaders/functions.html
deqp/functional/gles3/shaderoperator/angle_and_triogometry_00.html
deqp/functional/gles3/negativetextureapi.html
deqp/functional/gles3/shaderprecision_float.html

conformance2/glsl3/array-complex-indexing.html
conformance2/glsl3/array-element-increment.html
conformance2/glsl3/const-array-init.html
conformance2/reading/read-pixels-pack-parameters.html
conformance2/rendering/blitframebuffer-size-overflow.html (CRASH)
conformance2/textures/misc/tex-image-with-bad-args-from-dom-elements.html (TIMEOUT)
conformance2/textures/misc/tex-unpack-params.html
conformance2/textures/video/* (TIMEOUT)
conformance2/textures/image_bitmap_from_video/* (TIMEOUT)

Running with Chrome Canary (57.0.2984.0)
GPU: NVidia Tegra ES 3.2 NVIDIA 361.00
 

Comment 1 by zmo@chromium.org, Jan 19 2017

Blockedon: 668884
The only crash is the same root cause as  crbug.com/668884 

Comment 2 by zmo@chromium.org, Jan 19 2017

The TIMEOUT are all caused by video elements, which I think there is a semantic difference between Desktop and Android platform.  Probably we need to enhance the tests.

Comment 3 by zmo@chromium.org, Jan 19 2017

Cc: shannonwoods@chromium.org
I will look deeper into the failures later to get a clear understanding of driver bugs vs chrome bugs.

Comment 4 by zmo@chromium.org, Jan 19 2017

Cc: aelias@chromium.org vmi...@chromium.org

Comment 5 by kbr@chromium.org, Jan 19 2017

Ah ah. Sorry about this -- it's necessary to go to about:flags and disable "Gesture requirement for media playback" to make the video tests work from the web harness.

The Telemetry-based harness sets this command line flag automatically.

Comment 6 by zmo@chromium.org, Jan 19 2017

Thanks, with this flag disabled, some timeouts are gone. Below is the updated failure list.

conformance/extensions/webgl-compressed-texture-etc.html
conformance/glsl/bugs/constant-precision-qualifier.html
conformance/textures/image_bitmap_from_video/* (TIMEOUT)

deqp/data/gles3/shaders/arrays.html
deqp/data/gles3/shaders/functions.html
deqp/functional/gles3/shaderoperator/angle_and_triogometry_00.html
deqp/functional/gles3/negativetextureapi.html
deqp/functional/gles3/shaderprecision_float.html

conformance2/glsl3/array-complex-indexing.html
conformance2/glsl3/array-element-increment.html
conformance2/glsl3/const-array-init.html
conformance2/reading/read-pixels-pack-parameters.html
conformance2/rendering/blitframebuffer-size-overflow.html (CRASH)
conformance2/textures/misc/tex-unpack-params.html
conformance2/textures/image_bitmap_from_video/* (TIMEOUT)

Comment 7 by zmo@chromium.org, Jan 27 2017

Blocking: 673426
> deqp/data/gles3/shaders/arrays.html
Failures on SHIELD (should be similar) are:
arrays.unnamed_parameter.{float,int}_{vertex,fragment}
arrays.unnamed_parameter.{float,int}_{vec3,mat3}_{vertex,fragment}
(Different from Pixel failures.)

> deqp/functional/gles3/shaderprecision_float.html
Doesn't fail on SHIELD.
FWIW, SHIELD and Pixel C driver are from significantly divergent driver lines.

Comment 10 Deleted

Ah, thanks, good to know. Still, it verified for me that a few Pixel issues are Qualcomm driver bugs (and not shader translator bugs).
Out of the tests in the original report, here are the results on SHIELD (OpenGL ES 3.2 NVIDIA 361.00) with Chrome/59.0.3032.0:

ok    conformance/extensions/webgl-compressed-texture-etc.html
ok    conformance/glsl/bugs/constant-precision-qualifier.html
ok    conformance/textures/image_bitmap_from_video/* (TIMEOUT)
FAIL  deqp/data/gles3/shaders/arrays.html
ok    deqp/data/gles3/shaders/functions.html
ok    deqp/functional/gles3/shaderoperator/angle_and_triogometry_00.html
ok    deqp/functional/gles3/negativetextureapi.html
ok    deqp/functional/gles3/shaderprecision_float.html
ok    conformance2/glsl3/array-complex-indexing.html
ok    conformance2/glsl3/array-element-increment.html
ok    conformance2/glsl3/const-array-init.html
FAIL  conformance2/reading/read-pixels-pack-parameters.html
CRASH  conformance2/rendering/blitframebuffer-size-overflow.html (CRASH)
FAIL  conformance2/textures/misc/tex-unpack-params.html
ok    conformance2/textures/image_bitmap_from_video/* (TIMEOUT)

Doing a complete run shortly, so if there are other failures I'll find out.
Blockedon: 698926
Owner: kainino@chromium.org
Status: Started (was: Available)
Summary: Pass WebGL 2.0.0 conformance suite on Android/NVIDIA (was: Pass WebGL 2.0.0 conformance suite on Pixel C)
Switching this bug to SHIELD instead of Pixel C and taking it.
Description: Show this description
Blockedon: 698934
Blockedon: 699606
* CRASH conformance/rendering/multisample-corruption.html
 Issue 699606 

* CRASH deqp/functional/gles3/negativetextureapi.html (FLAKY)
Loses context sometimes, fails frequently due to large arraybuffer allocation. I recently reduced the memory footprint of this test, but on NVIDIA, the few big allocations are even bigger (about 256MB x2). Still, I think I can mitigate it a bit by reducing the allocations.

Note: The native deqp test does not even need these allocations - maybe we can get rid of them? (would require adding a new api entrypoint.)

* CRASH conformance2/misc/uninitialized-test-2.html (FLAKY)
Crashes renderer - probably allocating too many arraybuffers. These are not quite as huge as in negativetextureapi, but they are more numerous, so I should be able to alleviate the issue by allocating up front and reusing the arraybuffer.
* CRASH deqp/functional/gles3/negativetextureapi.html (FLAKY)
Original C++ test here:
https://android.googlesource.com/platform/external/deqp/+/refs/heads/master/modules/gles3/functional/es3fNegativeTextureApiTests.cpp#333
* CRASH deqp/functional/gles3/negativetextureapi.html (FLAKY)
  CRASH conformance2/misc/uninitialized-test-2.html (FLAKY)
https://github.com/KhronosGroup/WebGL/pull/2331
Saw a renderer process crash on deqp/functional/gles3/sync.html (see also  https://crbug.com/682753#c24  ).
* CRASH deqp/functional/gles3/negativetextureapi.html (FLAKY)
Still running out of memory.
https://github.com/KhronosGroup/WebGL/pull/2332
Project Member

Comment 23 by bugdroid1@chromium.org, Mar 8 2017

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

commit 75ee3cee8e33bd1bcf4fb335b20acc04991448e8
Author: kainino <kainino@chromium.org>
Date: Wed Mar 08 22:41:27 2017

Reduce maxGLActiveContexts to 8 on Android

This reduces the frequency of OOM errors due to allocating too many
large DrawingBuffers.

BUG= 682490 
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

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

[modify] https://crrev.com/75ee3cee8e33bd1bcf4fb335b20acc04991448e8/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp

Above commit should really point to  issue 699606 .
Blockedon: -698934
Blocking: 698934
Labels: Merge-Request-58
Need to merge #23, a small change needed to reliably pass WebGL 2.0.0 tests on Android/NVIDIA.
Project Member

Comment 28 by sheriffbot@chromium.org, Mar 9 2017

Labels: -Merge-Request-58 Hotlist-Merge-Approved Merge-Approved-58
Your change meets the bar and is auto-approved for M58. Please go ahead and merge the CL to branch 3029 manually. Please contact milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), bhthompson@(cros), govind@(desktop)

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

Comment 29 by bugdroid1@chromium.org, Mar 9 2017

Labels: -merge-approved-58 merge-merged-3029
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3d2264d80c9c0b146a6ace8046ed79cc6620d5c6

commit 3d2264d80c9c0b146a6ace8046ed79cc6620d5c6
Author: Kai Ninomiya <kainino@chromium.org>
Date: Thu Mar 09 18:52:54 2017

Reduce maxGLActiveContexts to 8 on Android

This reduces the frequency of OOM errors due to allocating too many
large DrawingBuffers.

BUG= 699606 , 682490 
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

Review-Url: https://codereview.chromium.org/2735063006
Cr-Commit-Position: refs/heads/master@{#455565}
(cherry picked from commit 75ee3cee8e33bd1bcf4fb335b20acc04991448e8)

Review-Url: https://codereview.chromium.org/2739053003 .
Cr-Commit-Position: refs/branch-heads/3029@{#90}
Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471}

[modify] https://crrev.com/3d2264d80c9c0b146a6ace8046ed79cc6620d5c6/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp

Labels: -Hotlist-Merge-Approved -merge-merged-3029
Labels: -Pri-1 Pri-3
Downgrading to P3, all that should be left is to capture results.
Blocking: 701182
Blockedon: 701183
> Saw a renderer process crash on deqp/functional/gles3/sync.html

Saw this again. It's not related to the failure on Pixel; that test was disabled.

I don't think it was a crash (no about:crashes entry), so it was probably an OOM.
Blockedon: -668884
Status: Fixed (was: Started)
Closing via https://github.com/KhronosGroup/WebGLConformanceSubmissions/pull/2

 Issue 668884  no longer blocking, since it's Pixel C specific and we switched to SHIELD.

Sign in to add a comment