New issue
Advanced search Search tips

Issue 810767 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug

Blocking:
issue 807632



Sign in to add a comment

wimplicit-fallthrough for angle

Project Member Reported by thakis@chromium.org, Feb 9 2018

Issue description

see  bug 807632  comment 0.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 9 2018

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

commit 41b072b646f1178d4b16db72a55e5e5510c8dd66
Author: Nico Weber <thakis@chromium.org>
Date: Fri Feb 09 21:02:27 2018

Prepare for -Wimplicit-fallthrough in ANGLE.

Disable the warning for flex-generated output, which contains
lots of intentional fallthrough.

Fixes a bug where GL_SAMPLE_ALPHA_TO_ONE_EXT would fall through
to GL_COVERAGE_MODULATION_CHROMIUM and hence behave like that.

Fixes a bug in the D3D9 state management where invalidating
DIRTY_BIT_POLYGON_OFFSET would also invalidate the stencil bits.

One somewhat common incorrect pattern in ANGLE is nested switch
statements that look like so:

  switch (a) {
    case a1:
      switch (b) {
        case b1:
          ...
          break;
      }
    case a2:
      ...
  }

The assumption here seems to be that the breakk exits the outer
case (here a1), while it in fact only exits the inner switch,
so that we fall through to a2.  In most places, I fixed this
by adding an explicit `break` after the inner switch.

This fixes a bug wher GL_PATH_JOIN_STYLE_CHROMIUM would fall through to
GL_PATH_MITER_LIMIT_CHROMIUM in validation (but since the join style
enum is always > 0, this happened to not have an effect in practice).

This also fixes 87 bugs in GetLoadFunctionsMap() where invalid
values would previously return an unrelated function map instead
of the empty load function map.

Bug:  chromium:810767 
Change-Id: Ib51388c73fbfc229160e2c10f8fb9364cc7c996c
Reviewed-on: https://chromium-review.googlesource.com/911529
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>

[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/compiler/preprocessor/Tokenizer.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/libANGLE/validationEGL.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/compiler/translator/ASTMetadataHLSL.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/compiler/preprocessor/Tokenizer.l
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/compiler/translator/IntermNode.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/compiler/translator/glslang.l
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/compiler/translator/glslang_lex.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/libANGLE/renderer/load_functions_table_autogen.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/libANGLE/validationES2.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/compiler/translator/ParseContext.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/compiler/translator/EmulatePrecision.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/libANGLE/renderer/gen_load_functions_table.py
[add] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/common/angle_fallthrough.h
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/libANGLE/State.cpp
[modify] https://crrev.com/41b072b646f1178d4b16db72a55e5e5510c8dd66/src/libANGLE/renderer/d3d/d3d9/StateManager9.cpp

Project Member

Comment 2 by bugdroid1@chromium.org, Feb 12 2018

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

commit 34a062691e1c5eebfd81ae694546be6c89de126f
Author: Geoff Lang <geofflang@chromium.org>
Date: Mon Feb 12 22:38:16 2018

Remove usage of ANGLE_FALLTHROUGH in EmulatePrecision.cpp

BUG= chromium:810767 

Change-Id: Ic0dafc9038b14093fdb799fe382ba8275195c0cc
Reviewed-on: https://chromium-review.googlesource.com/914804
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>

[modify] https://crrev.com/34a062691e1c5eebfd81ae694546be6c89de126f/src/compiler/translator/EmulatePrecision.cpp

Project Member

Comment 3 by bugdroid1@chromium.org, Feb 15 2018

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

commit 9d6031b05bc4574cd169a30a7a9c9c53470fe668
Author: angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Thu Feb 15 01:58:44 2018

Roll src/third_party/angle/ 2f23f35af..f3803d4f7 (23 commits)

https://chromium.googlesource.com/angle/angle.git/+log/2f23f35afb94..f3803d4f74a5

$ git log 2f23f35af..f3803d4f7 --date=short --no-merges --format='%ad %ae %s'
2018-02-14 ynovikov Fix standalone Linux build
2017-11-07 geofflang StateManagerGL: Use dirty bits for framebuffer bindings.
2018-02-14 jmadill Vulkan: Cache clear color in ContextVk.
2018-02-14 jmadill Vulkan: Pass RendererVk to Allocate helpers.
2018-02-14 jmadill Vulkan: Implement basic Renderbuffer creation.
2018-02-14 lucferron AngleWrangle: Suppress newly introduced flakyness
2018-02-08 lucferron Vulkan: Autogen mandatory texture caps
2017-09-21 geofflang D3D: Implement robust resource init for Surfaces.
2018-02-14 jmadill Revert "Vulkan: Add glslang validator to build."
2018-02-13 yunchao.he Code refactoring for end2end tests.
2018-02-09 lucferron Vulkan: Add culling rasterization states tests and invert front face
2018-02-07 lucferron Vulkan: Texture caps map
2018-02-13 oetuaho Store invariant varying names as ImmutableString
2018-02-08 oetuaho Don't search for nonexistent brackets in InitializeVariables
2018-02-12 tobine Put Vulkan mock ICD json file in separate dir
2018-01-29 oetuaho Add a constexpr constructor for TVariable
2018-02-12 geofflang Remove usage of ANGLE_FALLTHROUGH in EmulatePrecision.cpp
2018-02-12 jmadill Add test for scissored clear.
2018-02-08 brandon1.jones Enable Multisample Sources in copyImageInternal For D3D11
2018-02-12 jmadill Vulkan: Add glslang validator to build.
2018-02-02 jiawei.shao ES31: Add link validation on geometry shader itself
2018-02-12 geofflang Revert "GLES1: Link against angle_util_static instead of angle_util."
2018-02-02 jie.a.chen Vulkan: Prepend layer path to VK_LAYER_PATH

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


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

Change-Id: I7efd5cb74b02148bd9dd16e1e7d5be7274cf1819
Reviewed-on: https://chromium-review.googlesource.com/920642
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@{#536924}
[modify] https://crrev.com/9d6031b05bc4574cd169a30a7a9c9c53470fe668/DEPS

Project Member

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

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

commit b5db2b497b4e26d84f7f2a284dddc726ff740502
Author: Nico Weber <thakis@chromium.org>
Date: Thu Feb 15 18:54:20 2018

Enable -Wimplicit-fallthrough for ANGLE.

Also teach MSVC that ANGLE_CRASH() can't return.

Also fix instances of the warning in build configurations where
UNREACHABLE() can return (e.g. release without dcheck_always_on
or debug).

If the UNREACHABLE()s are truly unreachable, this change has
no behavior change.

Bug:   chromium:810767 

Change-Id: I68f3587cf3e268c3ef634dce7ae3d70399859d0f
Reviewed-on: https://chromium-review.googlesource.com/914842
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>

[modify] https://crrev.com/b5db2b497b4e26d84f7f2a284dddc726ff740502/src/libANGLE/renderer/d3d/d3d9/Blit9.cpp
[modify] https://crrev.com/b5db2b497b4e26d84f7f2a284dddc726ff740502/src/libANGLE/formatutils.cpp
[modify] https://crrev.com/b5db2b497b4e26d84f7f2a284dddc726ff740502/BUILD.gn
[modify] https://crrev.com/b5db2b497b4e26d84f7f2a284dddc726ff740502/src/compiler/translator/util.cpp
[modify] https://crrev.com/b5db2b497b4e26d84f7f2a284dddc726ff740502/src/compiler/translator/ParseContext.cpp
[modify] https://crrev.com/b5db2b497b4e26d84f7f2a284dddc726ff740502/src/compiler/translator/UtilsHLSL.cpp
[delete] https://crrev.com/4edce33698c367a3884a597ead73775a5e4abb24/src/common/angle_fallthrough.h
[modify] https://crrev.com/b5db2b497b4e26d84f7f2a284dddc726ff740502/src/common/debug.h

Comment 5 by thakis@chromium.org, Feb 15 2018

Owner: thakis@chromium.org
Status: Fixed (was: Unconfirmed)
Project Member

Comment 6 by bugdroid1@chromium.org, Feb 21 2018

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

commit aa589352854818cfb65093fbfb4313ca060007dd
Author: angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Wed Feb 21 23:48:07 2018

Roll skia/third_party/externals/angle2/ e5fe7aad8..df4b63164 (46 commits)

https://chromium.googlesource.com/angle/angle.git/+log/e5fe7aad8454..df4b631648a6

$ git log e5fe7aad8..df4b63164 --date=short --no-merges --format='%ad %ae %s'
2018-01-18 fjhenigman Vulkan: Add unmap in BufferVk::getIndexRange.
2018-02-21 jmadill Fix missing include files visible to GN.
2018-02-20 jmadill Vulkan: Add CommandGraph class.
2018-02-20 jmadill Add gl::RenderbufferState shared state helper.
2018-02-02 geofflang D3D11: Downsample when copying to emulated 16-bit texture formats.
2018-02-20 jmadill Add empty file to prevent git clean from deleting the tools folder.
2018-02-14 geofflang StateManagerGL: Use dirty bits for VAO bindings.
2018-02-16 cwallez Expand the EGLIOSurfaceClientBufferTests
2018-02-16 oetuaho Add a constexpr constructor for TFunction
2018-02-16 oetuaho Avoid redundant symbol lookup when parsing functions
2018-02-16 jmadill Don't no-op draw calls for zero count in validation.
2018-02-15 jmadill Vulkan: Implement basic Renderbuffer attachments.
2018-02-16 oetuaho Simplify built-in function node initialization
2017-01-05 fjhenigman Vulkan: vertex attributes in client memory.
2018-02-15 thakis Mark third-party code in ANGLE as no_chromium_code.
2018-02-15 jmadill Add missing is_fuchsia to system_utils selection.
2018-02-15 jmadill Vulkan: Add depth/stencil surfaces.
2018-02-15 oetuaho Clean up dead insertion of unmangled symbols
2018-02-12 thakis Enable -Wimplicit-fallthrough for ANGLE.
2018-02-14 lfy GLES1: macOS: Add rpath to libGLESv1_CM.dylib
2018-02-09 shinchiro Fix mingw compile.
2018-02-08 lfy GLES1: Mat4 transform library
2018-02-14 ynovikov Fix standalone Linux build
2017-11-07 geofflang StateManagerGL: Use dirty bits for framebuffer bindings.
2018-02-14 jmadill Vulkan: Cache clear color in ContextVk.
2018-02-14 jmadill Vulkan: Pass RendererVk to Allocate helpers.
2018-02-14 jmadill Vulkan: Implement basic Renderbuffer creation.
2018-02-14 lucferron AngleWrangle: Suppress newly introduced flakyness
2018-02-08 lucferron Vulkan: Autogen mandatory texture caps
2017-09-21 geofflang D3D: Implement robust resource init for Surfaces.
2018-02-14 jmadill Revert "Vulkan: Add glslang validator to build."
2018-02-13 yunchao.he Code refactoring for end2end tests.
2018-02-09 lucferron Vulkan: Add culling rasterization states tests and invert front face
2018-02-07 lucferron Vulkan: Texture caps map
2018-02-13 oetuaho Store invariant varying names as ImmutableString
2018-02-08 oetuaho Don't search for nonexistent brackets in InitializeVariables
2018-02-12 tobine Put Vulkan mock ICD json file in separate dir
2018-01-29 oetuaho Add a constexpr constructor for TVariable
2018-02-12 geofflang Remove usage of ANGLE_FALLTHROUGH in EmulatePrecision.cpp
2018-02-12 jmadill Add test for scissored clear.
2018-02-08 brandon1.jones Enable Multisample Sources in copyImageInternal For D3D11
2018-02-12 jmadill Vulkan: Add glslang validator to build.
2018-02-02 jiawei.shao ES31: Add link validation on geometry shader itself
2018-02-12 geofflang Revert "GLES1: Link against angle_util_static instead of angle_util."
2018-02-02 jie.a.chen Vulkan: Prepend layer path to VK_LAYER_PATH
2018-02-11 yunchao.he Clean up end2end tests for Intel OSX.

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


The AutoRoll server is located here: https://angle-skia-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=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-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-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-Clang-x86_64-Release-ANGLE
TBR=djsollen@google.com

Change-Id: I23133c2b60746b8cf251eba611ae84f56bd3247c
Reviewed-on: https://skia-review.googlesource.com/109103
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>

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

Project Member

Comment 7 by bugdroid1@chromium.org, Feb 22 2018

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

commit b54f018d008644f1d01e9de294811ac277edb2ed
Author: skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Thu Feb 22 07:13:20 2018

Roll src/third_party/skia/ 59ddc6d5e..aa5893528 (3 commits)

https://skia.googlesource.com/skia.git/+log/59ddc6d5ee39..aa5893528548

$ git log 59ddc6d5e..aa5893528 --date=short --no-merges --format='%ad %ae %s'
2018-02-21 angle-skia-autoroll Roll skia/third_party/externals/angle2/ e5fe7aad8..df4b63164 (46 commits)
2018-02-21 reed lowp impl for decal stages
2018-02-21 djsollen Fix Angle autoroller by adding missing platform specific files.

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


The AutoRoll server is located here: https://autoroll.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=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
TBR=djsollen@chromium.org

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

Sign in to add a comment