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

Issue 798117 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

GLSL bug: crash with struct & return

Reported by fabrice....@gmail.com, Dec 29 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36

Example URL:
https://www.shadertoy.com/view/Xljfzh

Steps to reproduce the problem:
see func f() in the small shader at given URL

What is the expected behavior?
compile and run

What went wrong?
crash the driver

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? No
 firefox

Chrome version: 63.0.3239.108  Channel: stable
OS Version: 14.04
Flash Version: Shockwave Flash 28.0 r0

may somebody set the flags Blink>WebGL  and  Internals>GPU ?
thanks !
 
( on linux )
Components: -Blink Blink>WebGL Internals>GPU

Comment 3 by kbr@chromium.org, Dec 29 2017

Cc: oetu...@nvidia.com
Please provide about:gpu from an affected machine.

here is:
aboutgpuHome-Ubuntu14b.html
74.3 KB View Download

Comment 5 by kbr@chromium.org, Dec 30 2017

Labels: GPU-NVidia
From the about:gpu:

NVIDIA Corporation
GL_RENDERER	Quadro K2100M/PCIe/SSE2
GL_VERSION	4.5.0 NVIDIA 384.90

Cc: sc00335...@techmahindra.com
Labels: Triaged-ET TE-NeedsTriageFromHYD Needs-Triage-M63
Unable to reproduce this issue on reported version 63.0.3239.108 and on latest dev 65.0.3309.0 using Ubuntu 14.04 and Ubuntu 17.10  Mesa driver. 
 Navigated to https://www.shadertoy.com/view/Xljfzh and clicked on compile button and no driver crash is seen.

As ET team doesn't have Linux with NVIDIA driver, could soemone from Inhouse team take a look into this.

Thanks!

Comment 7 by oetu...@nvidia.com, Jan 2 2018

Owner: oetu...@nvidia.com
Status: Started (was: Unconfirmed)
This can be reproduced on Windows as well with --use-angle=gl command line parameter. Seems to be an NVIDIA driver bug. I've reported this to the driver team and investigate a workaround for people running older drivers as well.

Here's a WebGL conformance test: https://github.com/KhronosGroup/WebGL/pull/2570
Labels: -Needs-Triage-M63 -TE-NeedsTriageFromHYD

Comment 9 by oetu...@nvidia.com, Apr 30 2018

Fixed in NVIDIA driver version 397.31.

Comment 10 by kbr@chromium.org, May 2 2018

Thanks Olli for pushing to get this fixed!!!

Should we close this as WontFix?

technically, it's fixed. ;-)
It may not be too much effort to also implement a workaround for users with older drivers, I'll still look into that. If it looks like the workaround ends up too costly, then closing this as WontFix would be acceptable as well.
Project Member

Comment 13 by bugdroid1@chromium.org, May 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/983460e6cd51b4b51bd1363b75324f99e7161c7b

commit 983460e6cd51b4b51bd1363b75324f99e7161c7b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date: Fri May 04 08:40:32 2018

Rewrite repeated assignments to swizzled vectors on NVIDIA

This works around the most common instances of a bug that reproduces
on some NVIDIA OpenGL drivers prior to version 397.31.

BUG= chromium:798117 
TEST=angle_end2end_tests

Change-Id: Iafc6a9a64e56fa98b42117149fe6867040e932e5
Reviewed-on: https://chromium-review.googlesource.com/1042190
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/983460e6cd51b4b51bd1363b75324f99e7161c7b/include/GLSLANG/ShaderLang.h
[modify] https://crrev.com/983460e6cd51b4b51bd1363b75324f99e7161c7b/src/compiler/translator/Compiler.cpp
[modify] https://crrev.com/983460e6cd51b4b51bd1363b75324f99e7161c7b/src/tests/gl_tests/GLSLTest.cpp
[modify] https://crrev.com/983460e6cd51b4b51bd1363b75324f99e7161c7b/src/libANGLE/renderer/gl/ShaderGL.cpp
[add] https://crrev.com/983460e6cd51b4b51bd1363b75324f99e7161c7b/src/compiler/translator/tree_ops/RewriteRepeatedAssignToSwizzled.h
[modify] https://crrev.com/983460e6cd51b4b51bd1363b75324f99e7161c7b/src/compiler.gypi
[add] https://crrev.com/983460e6cd51b4b51bd1363b75324f99e7161c7b/src/compiler/translator/tree_ops/RewriteRepeatedAssignToSwizzled.cpp
[modify] https://crrev.com/983460e6cd51b4b51bd1363b75324f99e7161c7b/src/libANGLE/renderer/gl/renderergl_utils.cpp
[modify] https://crrev.com/983460e6cd51b4b51bd1363b75324f99e7161c7b/src/libANGLE/renderer/gl/WorkaroundsGL.h

Status: Fixed (was: Started)
The workaround handles most common instances of the bug for people still stuck with older drivers. Marking as fixed.
Project Member

Comment 15 by bugdroid1@chromium.org, May 4 2018

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

commit a9a75e8ae65670ad3c748d0ed497ef2a8c685f32
Author: angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Fri May 04 12:05:48 2018

Roll src/third_party/angle/ 7a8fe1568..983460e6c (1 commit)

https://chromium.googlesource.com/angle/angle.git/+log/7a8fe15682f3..983460e6cd51

$ git log 7a8fe1568..983460e6c --date=short --no-merges --format='%ad %ae %s'
2018-05-02 oetuaho Rewrite repeated assignments to swizzled vectors on NVIDIA

Created with:
  roll-dep src/third_party/angle
BUG= chromium:798117 


The AutoRoll server is located here: https://angle-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


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
TBR=cwallez@chromium.org

Change-Id: I795f13f9b18a037065b9a1dcbe9419f3b99e2b06
Reviewed-on: https://chromium-review.googlesource.com/1043661
Reviewed-by: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#556029}
[modify] https://crrev.com/a9a75e8ae65670ad3c748d0ed497ef2a8c685f32/DEPS

Comment 16 by kbr@chromium.org, May 5 2018

Superb work Olli! Above and beyond the call of duty!

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 13

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

commit 539ef7dd7cb70fc0fa684c44c0bfce18ced47e61
Author: Corentin Wallez <cwallez@chromium.org>
Date: Tue Nov 13 17:08:12 2018

Add back some WebGL test expectations

A lot of expectations were removed but some of them were still
necessary, this adds them back.

TBR=kbr@chromium.org
BUG= chromium:693135 
BUG=chromium:772651
BUG= chromium:798117 
BUG= chromium:874620 
BUG=chromium:887241

Change-Id: Ib3bccdf2ff48a28a8f0a3ce428239980a58c5266
Reviewed-on: https://chromium-review.googlesource.com/c/1333650
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607626}
[modify] https://crrev.com/539ef7dd7cb70fc0fa684c44c0bfce18ced47e61/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/539ef7dd7cb70fc0fa684c44c0bfce18ced47e61/content/test/gpu/gpu_tests/webgl_conformance_expectations.py

Sign in to add a comment