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

Issue 641129 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug

Blocking:
issue 429053



Sign in to add a comment

linkage.html fails on MacOSX

Project Member Reported by zmo@chromium.org, Aug 25 2016

Issue description

1) differing_interpolation_2 fails due to "out" and "centroid in" mismatch fails link

GLSL 4.1 spec (and GLSL ES 3.0) is incorrect.  Later specs fixed this and allowed the mismatch.  For now, we should implement a driver bug workaround to just drop the "centroid" keyword in ANGLE's shader translator.

2) An assertion mUniqueId != 0 is triggered

This is from ANGLE translator's TStructure::uniqueId().
Need to look into why MacOSX specific.
 

Comment 1 by zmo@chromium.org, Aug 25 2016

Also see https://github.com/KhronosGroup/WebGL/pull/1967 for discussion.
Cc: jie.a.c...@intel.com
Components: Internals>GPU>WebGL

Comment 4 by kbr@chromium.org, Aug 31 2016

Blocking: 295792

Comment 5 by kbr@chromium.org, Sep 10 2016

Components: Blink>WebGL Internals>GPU>ANGLE

Comment 7 by kbr@chromium.org, Sep 10 2016

Also, for clarification: the bug here is that using "centroid out" in the vertex shader incorrectly requires "centroid in" to be used in the fragment shader. This was a bug in the OpenGL 4.1 specification with no easy workaround. If a legal ESSL 3.00 shader uses "centroid out" in the vertex shader without "centroid in" in the fragment shader, then the fragment shader would have to be regenerated and recompiled on the fly during the link phase in order to make the centroid qualifiers match. This is not workable.

Comment 8 by kbr@chromium.org, Sep 10 2016

Radar 28236507 filed about this.

Status: ExternalDependency (was: Available)

Comment 10 by zmo@chromium.org, Nov 8 2016

Owner: zmo@chromium.org
Status: Assigned (was: ExternalDependency)
This test is passing on Stable but failing on Canary.

I'll take a look at this.

Comment 11 by zmo@chromium.org, Nov 8 2016

Blocking: -295792
Project Member

Comment 13 by bugdroid1@chromium.org, Nov 9 2016

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

commit 211a037098c47829e10690dad696a6d047df5c8c
Author: zmo <zmo@chromium.org>
Date: Wed Nov 09 04:12:14 2016

Roll ANGLE e5c53e3..b7bf742

https://chromium.googlesource.com/angle/angle.git/+log/e5c53e3..b7bf742

BUG= chromium:639760 ,chromium:641129, chromium:662706 
TEST=bots
TBR=jmadill@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

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

[modify] https://crrev.com/211a037098c47829e10690dad696a6d047df5c8c/DEPS

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 11 2016

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

commit d7490967e1e7f66ebb84ce5fafff3513100fc71a
Author: Zhenyao Mo <zmo@chromium.org>
Date: Wed Nov 09 23:49:51 2016

Fix linkage.html failures on Mac.

The failure is due to when we initialize variables to 0, we re-create
the struct TType, and it contains a different unique id from the
original struct TType, thus leading to a different hashed name.

BUG=chromium:641129
TEST=webgl_conformance,webgl2_conformance

Change-Id: I267b97fa496f55ea59dacee93af8f6a90f3e66cb
Reviewed-on: https://chromium-review.googlesource.com/409602
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/d7490967e1e7f66ebb84ce5fafff3513100fc71a/src/compiler/translator/Compiler.cpp
[modify] https://crrev.com/d7490967e1e7f66ebb84ce5fafff3513100fc71a/src/compiler/translator/util.h
[modify] https://crrev.com/d7490967e1e7f66ebb84ce5fafff3513100fc71a/src/compiler/translator/InitializeVariables.cpp
[modify] https://crrev.com/d7490967e1e7f66ebb84ce5fafff3513100fc71a/src/compiler/translator/util.cpp
[modify] https://crrev.com/d7490967e1e7f66ebb84ce5fafff3513100fc71a/src/compiler/translator/SymbolTable.cpp
[modify] https://crrev.com/d7490967e1e7f66ebb84ce5fafff3513100fc71a/src/compiler/translator/SymbolTable.h
[modify] https://crrev.com/d7490967e1e7f66ebb84ce5fafff3513100fc71a/src/tests/gl_tests/UniformBufferTest.cpp
[modify] https://crrev.com/d7490967e1e7f66ebb84ce5fafff3513100fc71a/src/compiler/translator/InitializeVariables.h
[modify] https://crrev.com/d7490967e1e7f66ebb84ce5fafff3513100fc71a/src/compiler/translator/UseInterfaceBlockFields.cpp
[modify] https://crrev.com/d7490967e1e7f66ebb84ce5fafff3513100fc71a/src/compiler/translator/UseInterfaceBlockFields.h

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 11 2016

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

commit f7897214efb453c76bd3c896e1cf42bcdf55ca5e
Author: zmo <zmo@chromium.org>
Date: Fri Nov 11 02:38:59 2016

Hook up with ANGLE translator's remove_invariant_and_centroid option.

BUG=641129,639720
TEST=webgl2_conformance
R=kbr@chromium.org
NOTRY=true
CQ_INCLUDE_TRYBOTS=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

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

[modify] https://crrev.com/f7897214efb453c76bd3c896e1cf42bcdf55ca5e/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/f7897214efb453c76bd3c896e1cf42bcdf55ca5e/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/f7897214efb453c76bd3c896e1cf42bcdf55ca5e/gpu/config/gpu_driver_bug_list_json.cc
[modify] https://crrev.com/f7897214efb453c76bd3c896e1cf42bcdf55ca5e/gpu/config/gpu_driver_bug_workaround_type.h

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 11 2016

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

commit b96c1f0cce2add59f0e883ec2e02de6b8a4a3f12
Author: zmo <zmo@chromium.org>
Date: Fri Nov 11 03:47:27 2016

Roll ANGLE 4b97d50..d749096

https://chromium.googlesource.com/angle/angle.git/+log/4b97d50..d749096

BUG=chromium:641129
TBR=jmadill@chromium.org
TEST=bots

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

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

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

Comment 17 by zmo@chromium.org, Nov 11 2016

Status: Fixed (was: Assigned)
Project Member

Comment 18 by bugdroid1@chromium.org, Nov 12 2016

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

commit 4cfbf38c25339ad797887ab8e5a4f497db9e2da3
Author: zmo <zmo@chromium.org>
Date: Sat Nov 12 00:52:16 2016

WebGL2 test expectations update.

BUG=641129, 620067 , 618464 
TEST=webgl2_conformance on mac bots
NOTRY=true
TBR=kbr@chromium.org
CQ_INCLUDE_TRYBOTS=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

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

[modify] https://crrev.com/4cfbf38c25339ad797887ab8e5a4f497db9e2da3/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Comment 19 by zmo@chromium.org, Dec 20 2016

Status: Assigned (was: Fixed)
Apple fixed their drivers (centroid) in 10.12.2, so we should disable the workaround there.
Components: -Internals>GPU>WebGL

Sign in to add a comment