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

Issue 779675 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Regression

Blocking:
issue angleproject:1155



Sign in to add a comment

WebGL: vertex attribute not manifesting properly

Reported by eno...@onshape.com, Oct 30 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.18 Safari/537.36

Steps to reproduce the problem:
1. Open Chrome 63 or later on a windows machine
2. Navigate to https://cad.onshape.com/documents/3bd144e9d07128b23daaa194/w/dfd7445ab6dce84f2b2b621c/e/fd9047327da21caec41aae82
3. Observe all cubes are grey

What is the expected behavior?
In any other browser, or Chrome 62 and earlier, the cubes will be different colors.

If you rotate with the mouse (RMB and drag) you can see that some frames paint with different colors

What went wrong?
This page use gl.vertexAttrib4fv to set a static vertex attribute between draw calls.  It appears that this call is not taking effect by the time that the vertex shader is executed.

Did this work before? Yes Seen working in latest release of 62.0

Chrome version: 63.0.3239.18  Channel: beta
OS Version: 10.0
Flash Version: 

Tried on windows with:
Quadro K1000M
Intel HD4000
Intel HD 530
 
Cc: pbomm...@chromium.org kbr@chromium.org gov...@chromium.org
Components: -Blink Blink>WebGL
Labels: ReleaseBlock-Stable M-63 Needs-Bisect
Status: Available (was: Unconfirmed)
Able to reproduce the issue on one of my Windows machine which has attached GPU details, Unable to reproduce on Mac and Linux machine which I have.



Bisect result :

Last Good build : 63.0.3220.0 -- 502993  

First Bad build : 63.0.3221.0 -- 503308 

Change Log : https://chromium.googlesource.com/chromium/src/+log/63.0.3220.0..63.0.3221.0?pretty=fuller&n=10000


Note : Due to new machine exceptions I wasn't able to perform narrow bisect hence performed the manual bisect(Working with Techstop to get this resolved).
gpu.htm
110 KB View Download

Comment 2 by gov...@chromium.org, Oct 30 2017

[Bulk Edit]
URGENT - PTAL.
M63 Stable promotion is coming soon and your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and get it merged into the release branch ASAP. Thank you.

Owner: jmad...@chromium.org
Status: Assigned (was: Available)
Going to do a quick bisect.
Components: Internals>GPU>ANGLE
I ran python bisect-builds.py --use-local-cache -g 499098 -b 508578 -a win64 -- https://cad.onshape.com/documents/3bd144e9d07128b23daaa194/w/dfd7445ab6dce84f2b2b621c/e/fd9047327da21caec41aae82

And got this result:

You are probably looking for a change made after 503520 (known good), but no later than 503533 (first known bad).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/5aca6dd69962ce33972ac7ff4521323e9cc2198b..44a92c376300866c9885a99400c2aa41fe21a06e

One ANGLE roll:

https://chromium.googlesource.com/angle/angle.git/+log/47bf2dc..1f9d684

A lot of suspicious CLs in there with dirty bits. I'll do a narrow ANGLE bisect.
Labels: -Needs-Bisect
Status: Started (was: Assigned)
enowak@onshape.com thanks for the bug report and repro case.

I found the culprit CL, which was mine:

D3D11: Minor optimizations to vertex attribute application.

https://chromium-review.googlesource.com/666048

Likely a problem with dirty bits for current value attribs. Looking now.

Blockedon: angleproject:1155
Fix and regression test in review now.
Project Member

Comment 7 by bugdroid1@chromium.org, Oct 31 2017

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

commit 9088557fe47e0ce1487b248b60acbc740acd7801
Author: Jamie Madill <jmadill@chromium.org>
Date: Tue Oct 31 01:40:16 2017

D3D11: Fix dirty current value updates.

Fixes a bug where subsequent updates to a "current value" (disabled)
Vertex Attribute would not trigger the state change to D3D11 such that
the updated buffer handle would be applied to D3D11. Also adds a test
to cover the problem case.

This bug was introduced in 2bc947334cad:
"D3D11: Minor optimizations to vertex attribute application."

BUG= chromium:779675 
BUG=angleproject:1155

Change-Id: Ib0447231fb6969e7dad1e1e576315cab91acf4f4
Reviewed-on: https://chromium-review.googlesource.com/744924
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/9088557fe47e0ce1487b248b60acbc740acd7801/src/tests/gl_tests/VertexAttributeTest.cpp
[modify] https://crrev.com/9088557fe47e0ce1487b248b60acbc740acd7801/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 31 2017

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/f1b869377e01ffee5609aa14ccb82614294ced9c

commit f1b869377e01ffee5609aa14ccb82614294ced9c
Author: angle-deps-roller@chromium.org <angle-deps-roller@chromium.org>
Date: Tue Oct 31 02:28:04 2017

Roll skia/third_party/externals/angle2/ d84a00b9d..9088557fe (1 commit)

https://chromium.googlesource.com/angle/angle.git/+log/d84a00b9ddad..9088557fe47e

$ git log d84a00b9d..9088557fe --date=short --no-merges --format='%ad %ae %s'
2017-10-30 jmadill D3D11: Fix dirty current value updates.

Created with:
  roll-dep skia/third_party/externals/angle2
BUG= 779675 


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

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-GCC-x86_64-Release-ANGLE
TBR=stani@google.com

Change-Id: I8e8fe239635819be0d5e5ff57eddec18899f3859
Reviewed-on: https://skia-review.googlesource.com/65422
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>

[modify] https://crrev.com/f1b869377e01ffee5609aa14ccb82614294ced9c/DEPS

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 31 2017

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

commit b1d9921fd1d022e49c3e055f26be475d5708250d
Author: skia-deps-roller@chromium.org <skia-deps-roller@chromium.org>
Date: Tue Oct 31 04:47:28 2017

Roll src/third_party/skia/ 45d6303f6..f1b869377 (3 commits)

https://skia.googlesource.com/skia.git/+log/45d6303f6e84..f1b869377e01

$ git log 45d6303f6..f1b869377 --date=short --no-merges --format='%ad %ae %s'
2017-10-31 angle-deps-roller Roll skia/third_party/externals/angle2/ d84a00b9d..9088557fe (1 commit)
2017-10-31 angle-deps-roller Roll skia/third_party/externals/angle2/ 163965d5c..d84a00b9d (1 commit)
2017-10-30 angle-deps-roller Roll skia/third_party/externals/angle2/ e7c5f4f05..163965d5c (1 commit)

Created with:
  roll-dep src/third_party/skia
BUG= 779675 


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

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_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;master.tryserver.chromium.android:android_optional_gpu_tests_rel
TBR=stani@chromium.org

Change-Id: If081af4aed2ba628f9324ac8ec85ddbb3112b362
Reviewed-on: https://chromium-review.googlesource.com/746022
Reviewed-by: Skia Deps Roller <skia-deps-roller@chromium.org>
Commit-Queue: Skia Deps Roller <skia-deps-roller@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512745}
[modify] https://crrev.com/b1d9921fd1d022e49c3e055f26be475d5708250d/DEPS

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 31 2017

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

commit 429176b0ce4130a56dee9dcb115b535e1be394ff
Author: angle-deps-roller@chromium.org <angle-deps-roller@chromium.org>
Date: Tue Oct 31 06:01:03 2017

Roll src/third_party/angle/ 163965d5c..9088557fe (2 commits)

https://chromium.googlesource.com/angle/angle.git/+log/163965d5ce2b..9088557fe47e

$ git log 163965d5c..9088557fe --date=short --no-merges --format='%ad %ae %s'
2017-10-30 jmadill D3D11: Fix dirty current value updates.
2017-10-27 geofflang Make GL_OES_rgb8_rgba8 enableable.

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


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

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.angle:android_angle_rel_ng,android_angle_deqp_rel_ng,linux_angle_rel_ng,linux_angle_dbg_ng,linux_angle_deqp_rel_ng,linux_angle_ozone_rel_ng,mac_angle_rel_ng,mac_angle_dbg_ng,win_angle_rel_ng,win_angle_dbg_ng,win_angle_x64_rel_ng,win_angle_x64_dbg_ng,win_angle_deqp_rel_ng,win_angle_x64_deqp_rel_ng;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
TBR=cwallez@chromium.org

Change-Id: Ic1e413a8da3c77454c3264a7f11936987a93448e
Reviewed-on: https://chromium-review.googlesource.com/746048
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512758}
[modify] https://crrev.com/429176b0ce4130a56dee9dcb115b535e1be394ff/DEPS

Labels: Merge-Request-63
Status: Fixed (was: Started)
Verified this is fixed in today's Canary, also verified by pbommana. enowak@onshape.com you can verify with Canary as well if you wish.

Requesting merge to M63, this is serious enough to be a problem for WebGL developers.
Blockedon: -angleproject:1155
Blocking: angleproject:1155
Project Member

Comment 13 by sheriffbot@chromium.org, Nov 1 2017

Labels: -Merge-Request-63 Merge-Review-63 Hotlist-Merge-Review
This bug requires manual review: DEPS changes referenced in bugdroid comments.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), gkihumba@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-63 Merge-Approved-63
Approving merge to M63 branch 3239 based on comment #11. Please merge ASAP. Thank you.
Project Member

Comment 15 by bugdroid1@chromium.org, Nov 2 2017

Labels: -merge-approved-63 merge-merged-3239
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/9095f2b44801efef46a440c391d89278432169d5

commit 9095f2b44801efef46a440c391d89278432169d5
Author: Jamie Madill <jmadill@chromium.org>
Date: Thu Nov 02 03:19:19 2017

D3D11: Fix dirty current value updates.

Fixes a bug where subsequent updates to a "current value" (disabled)
Vertex Attribute would not trigger the state change to D3D11 such that
the updated buffer handle would be applied to D3D11. Also adds a test
to cover the problem case.

This bug was introduced in 2bc947334cad:
"D3D11: Minor optimizations to vertex attribute application."

BUG= chromium:779675 

Change-Id: I3110e3ec59cbd2876c670b90d21eb4465dbe9eb9
Reviewed-on: https://chromium-review.googlesource.com/750408
Reviewed-by: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/9095f2b44801efef46a440c391d89278432169d5/src/tests/gl_tests/VertexAttributeTest.cpp
[modify] https://crrev.com/9095f2b44801efef46a440c391d89278432169d5/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp

Sign in to add a comment