WebGL 2.0 deqp/data/gles3/shaders/linkage.html test fails |
|||
Issue descriptionWhat steps will reproduce the problem? (1) open chrome with command line: --enable-unsafe-es3-apis (2) open url: https://www.khronos.org/registry/webgl/sdk/tests/deqp/data/gles3/shaders/linkage.html?webglVersion=2 What is the expected output? All tests pass. What do you see instead? Some tests fail. failed: linkage.uniform.block.layout_qualifier_mismatch_1: expected linking to fail, but passed. failed: linkage.uniform.block.layout_qualifier_mismatch_2: expected linking to fail, but passed. failed: linkage.uniform.block.layout_qualifier_mismatch_3: expected linking to fail, but passed. failed: linkage.uniform.block.layout_qualifier_mismatch_5: expected linking to fail, but passed. For layout_qualifier_mismatch_1, layout_qualifier_mismatch_2, they passed on Linux with Intel mesa. For layout_qualifier_mismatch_3, it failed both on Linux with Intel mesa and Linux with nVidia. The above test cases require layout qualifier in all shaders should be same. But I didn't see such limitation in GLSL spec 3.30.6. For layout_qualifier_mismatch_5, I think there is a bug in ANGLE. After translation, layout qualifier of a uniform block member is moved to total uniform block. And layout qualifier is not the same as before moving. See the shader translated by ANGLE: Before translation: #version 300 es uniform Block { layout(row_major) uniform highp mat3 val; }; in highp vec4 dEQP_Position; out mediump float res; void main() { res = val[0][1]; gl_Position = dEQP_Position; } #version 300 es uniform Block { layout(column_major) uniform highp mat3 val; }; precision mediump float; layout(location = 0) out mediump vec4 dEQP_FragColor; in mediump float res; void main() { dEQP_FragColor = vec4(val[2], 1.0); } After translation #version 450 layout(shared, column_major) uniform webgl_3003f1e2955cde38{ mat3 webgl_d29633f34eb1c59e; } ; in vec4 webgl_4e70e556c0899ad0; out float webgl_4ba25cf9b5244b88; void main(){ (gl_Position = vec4(0.0, 0.0, 0.0, 0.0)); (webgl_4ba25cf9b5244b88 = webgl_d29633f34eb1c59e[0][1]); (gl_Position = webgl_4e70e556c0899ad0); } #version 450 layout(shared, column_major) uniform webgl_3003f1e2955cde38{ mat3 webgl_d29633f34eb1c59e; } ; layout(location = 0) out vec4 webgl_341844a501096ec4; in float webgl_4ba25cf9b5244b88; void main(){ (webgl_341844a501096ec4 = vec4(webgl_d29633f34eb1c59e[2], 1.0)); }
,
Jul 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/angle/angle/+/84954988ad266c11cacdfd716bf09e3d7910ec7b commit 84954988ad266c11cacdfd716bf09e3d7910ec7b Author: Corentin Wallez <cwallez@chromium.org> Date: Tue Jul 12 19:42:18 2016 ShaderVars: add isSameInterfaceBlockFieldAtLinkTime This will be used by Chromium to check for interface blocks mismatches. BUG= 621031 Change-Id: Ia6cc19e5d7b2a5c33af558d65b87885a6b72cea3 Reviewed-on: https://chromium-review.googlesource.com/359607 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> [modify] https://crrev.com/84954988ad266c11cacdfd716bf09e3d7910ec7b/src/compiler/translator/ShaderVars.cpp [modify] https://crrev.com/84954988ad266c11cacdfd716bf09e3d7910ec7b/include/GLSLANG/ShaderLang.h [modify] https://crrev.com/84954988ad266c11cacdfd716bf09e3d7910ec7b/include/GLSLANG/ShaderVars.h
,
Jul 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cd38fb65da3ae6cacf0aab32971b92f9b4697031 commit cd38fb65da3ae6cacf0aab32971b92f9b4697031 Author: cwallez <cwallez@chromium.org> Date: Wed Jul 13 15:11:49 2016 Roll ANGLE 9585a78..8495498 https://chromium.googlesource.com/angle/angle.git/+log/9585a78..8495498 BUG= 621031 , 627417 TBR=geofflang@chromium.org TEST=bots CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.linux:linux_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2148803002 Cr-Commit-Position: refs/heads/master@{#405153} [modify] https://crrev.com/cd38fb65da3ae6cacf0aab32971b92f9b4697031/DEPS
,
Jul 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cd38fb65da3ae6cacf0aab32971b92f9b4697031 commit cd38fb65da3ae6cacf0aab32971b92f9b4697031 Author: cwallez <cwallez@chromium.org> Date: Wed Jul 13 15:11:49 2016 Roll ANGLE 9585a78..8495498 https://chromium.googlesource.com/angle/angle.git/+log/9585a78..8495498 BUG= 621031 , 627417 TBR=geofflang@chromium.org TEST=bots CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.linux:linux_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2148803002 Cr-Commit-Position: refs/heads/master@{#405153} [modify] https://crrev.com/cd38fb65da3ae6cacf0aab32971b92f9b4697031/DEPS
,
Jul 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e4feb0d482d7b795afe2257ef8f304c4c1428151 commit e4feb0d482d7b795afe2257ef8f304c4c1428151 Author: cwallez <cwallez@chromium.org> Date: Wed Jul 13 20:10:03 2016 program_manager: detect interface block mismatches This fixes the deqp/data/gles3/shaders/linkage.html tests that were checking that compilation fail if interface blocks have different layouts. BUG= 621031 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2147663002 Cr-Commit-Position: refs/heads/master@{#405256} [modify] https://crrev.com/e4feb0d482d7b795afe2257ef8f304c4c1428151/gpu/command_buffer/service/program_manager.cc [modify] https://crrev.com/e4feb0d482d7b795afe2257ef8f304c4c1428151/gpu/command_buffer/service/program_manager.h
,
Jul 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/angle/angle/+/163fa52193706ae87ece150f955861909e7c675f commit 163fa52193706ae87ece150f955861909e7c675f Author: Qiankun Miao <qiankun.miao@intel.com> Date: Fri Jul 15 09:38:04 2016 Workaround interpolation qualifier mismatching Centroid implies smooth when doing translation. But the Intel Mesa driver considers centroid and smooth are different interpolation qualifiers which makes shaders fail compilation. This patch adds smooth at the front of centroid at translation step. And it makes linkage.varying.rules.differing_interpolation_2 test in WebGL 2.0 dEQP test pass. BUG= 621031 TEST=WebGL 2.0 deqp/data/gles3/shaders/linkage.html Change-Id: I8f0944846b5244b21c526ae95a7ce37c1504efb7 Reviewed-on: https://chromium-review.googlesource.com/360638 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org> [modify] https://crrev.com/163fa52193706ae87ece150f955861909e7c675f/src/compiler/translator/BaseTypes.h
,
Jul 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0db21f9f2bc7bee9c40c64c5ad192297d32a567c commit 0db21f9f2bc7bee9c40c64c5ad192297d32a567c Author: jmadill <jmadill@chromium.org> Date: Mon Jul 18 18:45:41 2016 Roll ANGLE 4c32feb..5bc93c4 https://chromium.googlesource.com/angle/angle.git/+log/4c32feb..5bc93c4 BUG= 621031 , 628052 , 612066 TBR=cwallez@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/2158003002 Cr-Commit-Position: refs/heads/master@{#406049} [modify] https://crrev.com/0db21f9f2bc7bee9c40c64c5ad192297d32a567c/DEPS
,
Jul 18 2016
There is still an assert being triggered when checking for packing restriction of varyings when the shader uses structs as varyings. Working on it.
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/angle/angle/+/e58e1416a5fa2f66173917a9cbcb21b252060d76 commit e58e1416a5fa2f66173917a9cbcb21b252060d76 Author: Corentin Wallez <cwallez@chromium.org> Date: Mon Jul 18 20:40:46 2016 ShCheckVariablesWithinPackingLimits add sh::ShaderVariable overload This overload doesn't take a stripped down version of the variable information, which makes it possible to handle varying structs correctly by flattening them as individual variables. BUG= 621031 Change-Id: I367629fce3d17dd7e1f876c5937eb37f3d97c7f4 Reviewed-on: https://chromium-review.googlesource.com/361460 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> [modify] https://crrev.com/e58e1416a5fa2f66173917a9cbcb21b252060d76/include/GLSLANG/ShaderLang.h [modify] https://crrev.com/e58e1416a5fa2f66173917a9cbcb21b252060d76/src/compiler/translator/VariableInfo.h [modify] https://crrev.com/e58e1416a5fa2f66173917a9cbcb21b252060d76/src/compiler/translator/VariableInfo.cpp [modify] https://crrev.com/e58e1416a5fa2f66173917a9cbcb21b252060d76/src/compiler/translator/VariablePacker.cpp [modify] https://crrev.com/e58e1416a5fa2f66173917a9cbcb21b252060d76/src/compiler/translator/ShaderLang.cpp [modify] https://crrev.com/e58e1416a5fa2f66173917a9cbcb21b252060d76/src/tests/compiler_tests/VariablePacker_test.cpp [modify] https://crrev.com/e58e1416a5fa2f66173917a9cbcb21b252060d76/src/compiler/translator/VariablePacker.h
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b5eca3ee3d161241434148dc04000723635405d9 commit b5eca3ee3d161241434148dc04000723635405d9 Author: cwallez <cwallez@chromium.org> Date: Tue Jul 19 17:11:15 2016 Roll ANGLE 5bc93c4..e58e141 https://chromium.googlesource.com/angle/angle.git/+log/5bc93c4..e58e141 BUG= 621031 ,None TBR=geofflang@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/2160273002 Cr-Commit-Position: refs/heads/master@{#406298} [modify] https://crrev.com/b5eca3ee3d161241434148dc04000723635405d9/DEPS
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/76b5713818d5a400b9f49076a73a904bfc439b56 commit 76b5713818d5a400b9f49076a73a904bfc439b56 Author: cwallez <cwallez@chromium.org> Date: Tue Jul 19 17:25:58 2016 Revert of Roll ANGLE 5bc93c4..e58e141 (patchset #1 id:1 of https://codereview.chromium.org/2160273002/ ) Reason for revert: Fails compilation on Android Original issue's description: > Roll ANGLE 5bc93c4..e58e141 > > https://chromium.googlesource.com/angle/angle.git/+log/5bc93c4..e58e141 > > BUG= 621031 ,None > > TBR=geofflang@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 > > Committed: https://crrev.com/b5eca3ee3d161241434148dc04000723635405d9 > Cr-Commit-Position: refs/heads/master@{#406298} TBR=geofflang@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 621031 ,None Review-Url: https://codereview.chromium.org/2161133002 Cr-Commit-Position: refs/heads/master@{#406306} [modify] https://crrev.com/76b5713818d5a400b9f49076a73a904bfc439b56/DEPS
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/12bbbc3a5b81d582700072356b7c6fd716bfea33 commit 12bbbc3a5b81d582700072356b7c6fd716bfea33 Author: cwallez <cwallez@chromium.org> Date: Tue Jul 19 19:47:54 2016 Roll ANGLE 5bc93c4..d9fe55f https://chromium.googlesource.com/angle/angle.git/+log/5bc93c4..d9fe55f BUG= 621031 ,None TBR=geofflang@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/2158343003 Cr-Commit-Position: refs/heads/master@{#406352} [modify] https://crrev.com/12bbbc3a5b81d582700072356b7c6fd716bfea33/DEPS
,
Jul 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d138862def50d5228bf2403bc301b41b4312a5de commit d138862def50d5228bf2403bc301b41b4312a5de Author: cwallez <cwallez@chromium.org> Date: Wed Jul 20 00:03:47 2016 program_manager::CheckPacking, sends full sh::ShaderVariable CheckVaryingPacking used to send stripped-down varying information to ShCheckVariablesWithinPackingLimits but this was incorrect for GLSL ES 3 that supports structure as varyings. Make use of a new ShCheckVariablesWithinPackingLimits entry point that takes the full sh::ShaderVariable information. This fixes an assert in the deqp/data/gles3/shaders/linkage.html WebGL 2 tests. BUG= 621031 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 Review-Url: https://codereview.chromium.org/2158793006 Cr-Commit-Position: refs/heads/master@{#406421} [modify] https://crrev.com/d138862def50d5228bf2403bc301b41b4312a5de/gpu/command_buffer/service/program_manager.cc
,
Jul 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2a0e012ae47116af81fd5cb5144288160f2adedf commit 2a0e012ae47116af81fd5cb5144288160f2adedf Author: cwallez <cwallez@chromium.org> Date: Wed Jul 20 16:13:40 2016 WebGL2 CTS: remove suppression of linkage.html TBR=zmo@chromium.org BUG= 621031 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 Review-Url: https://codereview.chromium.org/2156133002 Cr-Commit-Position: refs/heads/master@{#406573} [modify] https://crrev.com/2a0e012ae47116af81fd5cb5144288160f2adedf/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
,
Aug 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/angle/angle/+/aae1e4ae8225ff47e38d133ce6d8e358d4706d90 commit aae1e4ae8225ff47e38d133ce6d8e358d4706d90 Author: Corentin Wallez <cwallez@chromium.org> Date: Mon Aug 01 13:44:09 2016 ShCheckVariablesWithinPackingLimits: remove deprecated overload BUG= 621031 Change-Id: Ib4cdd88ecd58f617813a91379a8b8b518fba149b Reviewed-on: https://chromium-review.googlesource.com/364910 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> [modify] https://crrev.com/aae1e4ae8225ff47e38d133ce6d8e358d4706d90/src/compiler/translator/ShaderLang.cpp [modify] https://crrev.com/aae1e4ae8225ff47e38d133ce6d8e358d4706d90/include/GLSLANG/ShaderLang.h
,
Aug 2 2016
,
Aug 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7d14391a9db97aba4f2d03da2e453e11f7014dcc commit 7d14391a9db97aba4f2d03da2e453e11f7014dcc Author: cwallez <cwallez@chromium.org> Date: Wed Aug 03 16:58:51 2016 Roll ANGLE 5655b84..9c721c6 https://chromium.googlesource.com/angle/angle.git/+log/5655b84..9c721c6 BUG= 621031 TBR=geofflang@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/2210493003 Cr-Commit-Position: refs/heads/master@{#409545} [modify] https://crrev.com/7d14391a9db97aba4f2d03da2e453e11f7014dcc/DEPS |
|||
►
Sign in to add a comment |
|||
Comment 1 by cwallez@chromium.org
, Jul 12 2016Status: Started (was: Untriaged)