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

Issue 618464 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug

Blocking:
issue 429053



Sign in to add a comment

OSX OpenGL optimizes out unused std140 and shared blocks

Project Member Reported by cwallez@chromium.org, Jun 8 2016

Issue description

This causes failures in deqp/fuctional/gles3/uniformbuffers.html because OpenGL ES disallows the std140 and shared blocks from being optimized (this restriction doesn't exist in Desktop GL)
 

Comment 1 by zmo@chromium.org, Jun 8 2016

Blocking: 429053
Labels: -Pri-3 Pri-2
For all webgl2 bugs, please block crbug 429053
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 9 2016

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

commit f85912350646219dc0fba38666f48dfefe59e281
Author: zmo <zmo@chromium.org>
Date: Thu Jun 09 11:37:15 2016

Roll WebGL 0e41a33..04fa5ca

https://chromium.googlesource.com/external/khronosgroup/webgl.git/+log/0e41a33..04fa5ca

BUG= 618464 
TEST=bots
TBR=kbr@chromium.org,cwallez@chromium.org
NOTRY=true
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/2049693004
Cr-Commit-Position: refs/heads/master@{#398843}

[modify] https://crrev.com/f85912350646219dc0fba38666f48dfefe59e281/DEPS
[modify] https://crrev.com/f85912350646219dc0fba38666f48dfefe59e281/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 15 2016

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

commit f85912350646219dc0fba38666f48dfefe59e281
Author: zmo <zmo@chromium.org>
Date: Thu Jun 09 11:37:15 2016

Roll WebGL 0e41a33..04fa5ca

https://chromium.googlesource.com/external/khronosgroup/webgl.git/+log/0e41a33..04fa5ca

BUG= 618464 
TEST=bots
TBR=kbr@chromium.org,cwallez@chromium.org
NOTRY=true
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/2049693004
Cr-Commit-Position: refs/heads/master@{#398843}

[modify] https://crrev.com/f85912350646219dc0fba38666f48dfefe59e281/DEPS
[modify] https://crrev.com/f85912350646219dc0fba38666f48dfefe59e281/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

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

Components: Blink>WebGL
To clarify, since these tests have been split up since this bug was filed, are the failures caused by this bug all in this test?
https://www.khronos.org/registry/webgl/sdk/tests/deqp/functional/gles3/uniformbuffers/random.html

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

correct
Cc: jiajia....@intel.com qiankun....@intel.com

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

Filed as Radar 28268519.

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 29 2016

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

commit 9aa83fe302578d226f195fff5fb3f0e2fb723a4c
Author: Qin Jiajia <jiajia.qin@intel.com>
Date: Thu Sep 29 00:42:42 2016

Add workaround for unused std140 and shared uniform blocks on MacOS

On some Mac drivers with shader version 4.1, they will
treat unused std140 and shared uniform blocks' members as inactive. However,
WebGL2.0 based on OpenGL ES3.0.4 requires all members of a named uniform block
declared with a shared or std140 layout qualifier to be considered active.
The uniform block itself is also considered active.

This workaround is to reference all members of unused std140 and shared uniform blocks
at the beginning of the vertex/fragment shader's main().

BUG= chromium:618464 
TEST=UniformBufferTest.ActiveUniformBlockNumber

Change-Id: I1d2c5e3e8da04786ac6a37fd26f7bb9c14cd76ed
Reviewed-on: https://chromium-review.googlesource.com/387169
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/include/GLSLANG/ShaderLang.h
[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/CONTRIBUTORS
[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/compiler/translator/Compiler.cpp
[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/libANGLE/renderer/gl/ShaderGL.cpp
[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/compiler/translator/util.h
[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/compiler/translator/util.cpp
[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/compiler.gypi
[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/tests/gl_tests/UniformBufferTest.cpp
[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/libANGLE/renderer/gl/renderergl_utils.cpp
[add] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/compiler/translator/UseInterfaceBlockFields.cpp
[add] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/compiler/translator/UseInterfaceBlockFields.h
[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/libANGLE/renderer/gl/WorkaroundsGL.h
[modify] https://crrev.com/9aa83fe302578d226f195fff5fb3f0e2fb723a4c/src/compiler/translator/Compiler.h

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 4 2016

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

commit 2ae51c4ea3e7b08e143df3a97017519bd3e2ca11
Author: jmadill <jmadill@chromium.org>
Date: Tue Oct 04 17:15:21 2016

Roll ANGLE 886de36..4c65524

https://chromium.googlesource.com/angle/angle.git/+log/886de36..4c65524

BUG= chromium:651493 , 651101 , chromium:618464 

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/2393613002
Cr-Commit-Position: refs/heads/master@{#422837}

[modify] https://crrev.com/2ae51c4ea3e7b08e143df3a97017519bd3e2ca11/DEPS

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 13 2016

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

commit 7835b525b7cb1409ca5229e491c6f6a7cbbc0d93
Author: Qin Jiajia <jiajia.qin@intel.com>
Date: Sat Oct 08 03:20:17 2016

Reland "Add workaround for unused std140 and shared uniform blocks on MacOS"

On some Mac drivers with shader version 4.1, they will
treat unused std140 and shared uniform blocks' members as inactive. However,
WebGL2.0 based on OpenGL ES3.0.4 requires all members of a named uniform block
declared with a shared or std140 layout qualifier to be considered active.
The uniform block itself is also considered active.

This workaround is to reference all members of unused std140 and shared uniform blocks
at the beginning of the vertex/fragment shader's main().

BUG= chromium:618464 
TEST=UniformBufferTest.ActiveUniformBlockNumber

Change-Id: I18da4e2b61b0170068bf5ea38ce54667b0737780
Reviewed-on: https://chromium-review.googlesource.com/395648
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>

[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/include/GLSLANG/ShaderLang.h
[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/CONTRIBUTORS
[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/compiler/translator/Compiler.cpp
[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/libANGLE/renderer/gl/ShaderGL.cpp
[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/compiler/translator/util.h
[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/compiler/translator/util.cpp
[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/compiler.gypi
[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/tests/gl_tests/UniformBufferTest.cpp
[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/libANGLE/renderer/gl/renderergl_utils.cpp
[add] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/compiler/translator/UseInterfaceBlockFields.cpp
[add] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/compiler/translator/UseInterfaceBlockFields.h
[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/libANGLE/renderer/gl/WorkaroundsGL.h
[modify] https://crrev.com/7835b525b7cb1409ca5229e491c6f6a7cbbc0d93/src/compiler/translator/Compiler.h

Project Member

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

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

commit ab328c117ab17dbd4da154d8444e03b9e6631d47
Author: jiajia.qin <jiajia.qin@intel.com>
Date: Fri Oct 14 17:31:14 2016

Roll ANGLE 873d00f..336b147

https://chromium.googlesource.com/angle/angle.git/+log/873d00f..336b147

BUG= chromium:654103 , chromium:618464 ,chromium:650138

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/2421873002
Cr-Commit-Position: refs/heads/master@{#425374}

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

Project Member

Comment 12 by bugdroid1@chromium.org, Oct 17 2016

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

commit 79a5c76ce73c9d7dd4ce4576767660c11b80a382
Author: jiajia.qin <jiajia.qin@intel.com>
Date: Mon Oct 17 19:18:08 2016

Enable ANGLE workaround for unused std140/shared blocks bug

Active Uniforms/Blocks number is wrong on Mac Drivers when there are
unused std140/shared uniform blocks. The workaround is to insert statements
to reference all members in unused std140/shared blocks at the beginning of
the vertex/fragment shader's main().

BUG= 618464 
TEST=UniformBufferTest.ActiveUniformBlockNumber
     deqp/functional/gles3/uniformbuffers/random.html
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/2378373003
Cr-Commit-Position: refs/heads/master@{#425740}

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

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

Status: Fixed (was: Available)
Project Member

Comment 14 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 15 by zmo@chromium.org, Mar 31 2017

This is resolved on 10.12.4 Beta (16E175b)
Project Member

Comment 16 by bugdroid1@chromium.org, Jun 8 2017

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

commit 1733d120eb79e2d8d49b18892e60ee1297f646f7
Author: zmo <zmo@chromium.org>
Date: Thu Jun 08 23:24:48 2017

Update WebGL2 conformance test expectations for Mac bots.

BUG= 598930 , 617290 , 618464 ,630800, 641149 , 643866 , 645298 , 646182 , 654187 , 663188 ,665197, 665656 , 676848 , 679682 , 679684 , 679686 , 679687 , 679689 , 679690 , 679691 , 680278 , 684903 
TEST=mac bots on GPU FYI waterfall
TBR=kbr@chromium.org,kainino@chromium.org
NOTRY=true
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/2931993002
Cr-Commit-Position: refs/heads/master@{#478121}

[modify] https://crrev.com/1733d120eb79e2d8d49b18892e60ee1297f646f7/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Components: -Internals>GPU>WebGL

Sign in to add a comment