Changeset 245155 in webkit


Ignore:
Timestamp:
May 9, 2019 1:27:21 PM (5 years ago)
Author:
don.olmstead@sony.com
Message:

[ANGLE] Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=197676
<rdar://problem/50609501>

Reviewed by Alex Christensen.

  • changes.diff:

Updated with all the previous fixes.

  • include/EGL/eglplatform.h:

Use the more generic name USE_SYSTEM_EGL not USE_WPE.

  • src/common/debug.h:

Fix a stray COMPILER_GCC to be GNUC.

Location:
trunk/Source/ThirdParty/ANGLE
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/ThirdParty/ANGLE/ChangeLog

    r245092 r245155  
     12019-05-09  Don Olmstead  <don.olmstead@sony.com>
     2
     3        [ANGLE] Update ANGLE
     4        https://bugs.webkit.org/show_bug.cgi?id=197676
     5        <rdar://problem/50609501>
     6
     7        Reviewed by Alex Christensen.
     8
     9        * changes.diff:
     10        Updated with all the previous fixes.
     11        * include/EGL/eglplatform.h:
     12        Use the more generic name USE_SYSTEM_EGL not USE_WPE.
     13        * src/common/debug.h:
     14        Fix a stray COMPILER_GCC to be __GNUC__.
     15
    1162019-05-08  Alex Christensen  <achristensen@webkit.org>
    217
  • trunk/Source/ThirdParty/ANGLE/changes.diff

    r245088 r245155  
    11diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
    2 index 543f8e5cb..9203604a3 100644
     2index 543f8e5cb..bfd9bd68e 100644
    33--- a/include/EGL/eglplatform.h
    44+++ b/include/EGL/eglplatform.h
     
    88 
    99-#elif defined(USE_OZONE)
    10 +#elif defined(USE_OZONE) || defined(USE_WPE)
     10+#elif defined(USE_OZONE) || defined(USE_SYSTEM_EGL)
    1111 
    1212 typedef intptr_t EGLNativeDisplayType;
    1313 typedef intptr_t EGLNativePixmapType;
    1414diff --git a/include/GLSLANG/ShaderLang.h b/include/GLSLANG/ShaderLang.h
    15 index c804715d2..a7cee1d46 100644
     15index c804715d2..1e5ee2979 100644
    1616--- a/include/GLSLANG/ShaderLang.h
    1717+++ b/include/GLSLANG/ShaderLang.h
    18 @@ -8,7 +8,7 @@
     18@@ -8,7 +8,11 @@
    1919 
    2020 #include <stddef.h>
    2121 
    2222-#include "KHR/khrplatform.h"
     23+#if defined(__APPLE__)
    2324+#include "khrplatform.h"
     25+#else
     26+#include "../KHR/khrplatform.h"
     27+#endif
    2428 
    2529 #include <array>
    2630 #include <map>
    2731diff --git a/src/common/PoolAlloc.cpp b/src/common/PoolAlloc.cpp
    28 index b6e3702f8..20645c5e3 100644
     32index b6e3702f8..e0eb53388 100644
    2933--- a/src/common/PoolAlloc.cpp
    3034+++ b/src/common/PoolAlloc.cpp
     
    3842 
    3943 #if !defined(ANGLE_DISABLE_POOL_ALLOC)
    40 @@ -331,4 +331,4 @@ void Allocation::checkAllocList() const
    41          alloc->check();
    42  }
    43  
    44 -}  // namespace angle
    45 \ No newline at end of file
    46 +}  // namespace angle
     44diff --git a/src/common/debug.h b/src/common/debug.h
     45index 64783687b..3bfafb5b9 100644
     46--- a/src/common/debug.h
     47+++ b/src/common/debug.h
     48@@ -248,7 +248,7 @@ std::ostream &FmtHex(std::ostream &os, T value)
     49 #    define EVENT(message, ...) (void(0))
     50 #endif
     51 
     52-#if defined(COMPILER_GCC) || defined(__clang__)
     53+#if defined(__GNUC__) || defined(__clang__)
     54 #    define ANGLE_CRASH() __builtin_trap()
     55 #else
     56 #    define ANGLE_CRASH() ((void)(*(volatile char *)0 = 0)), __assume(0)
     57@@ -336,7 +336,7 @@ std::ostream &FmtHex(std::ostream &os, T value)
     58 #    define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \
     59         _Pragma("clang diagnostic push") _Pragma("clang diagnostic error \"-Wpadded\"")
     60 #    define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("clang diagnostic pop")
     61-#elif defined(COMPILER_GCC)
     62+#elif defined(__GNUC__)
     63 #    define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \
     64         _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic error \"-Wpadded\"")
     65 #    define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("GCC diagnostic pop")
    4766diff --git a/src/common/mathutil.h b/src/common/mathutil.h
    4867index edf63dd15..6573dd589 100644
     
    5877 inline int BitCount(uint32_t bits)
    5978 {
     79diff --git a/src/common/utilities.cpp b/src/common/utilities.cpp
     80index 84be99016..295b8f1a0 100644
     81--- a/src/common/utilities.cpp
     82+++ b/src/common/utilities.cpp
     83@@ -617,11 +617,16 @@ bool IsTriangleMode(PrimitiveMode drawMode)
     84 
     85 namespace priv
     86 {
     87-const angle::PackedEnumMap<PrimitiveMode, bool> gLineModes = {
     88-    {{PrimitiveMode::LineLoop, true},
     89-     {PrimitiveMode::LineStrip, true},
     90-     {PrimitiveMode::LineStripAdjacency, true},
     91-     {PrimitiveMode::Lines, true}}};
     92+const angle::PackedEnumMap<PrimitiveMode, bool>& gLineModes()
     93+{
     94+    static const angle::PackedEnumMap<PrimitiveMode, bool> modes {
     95+        { PrimitiveMode::LineLoop, true },
     96+        { PrimitiveMode::LineStrip, true },
     97+        { PrimitiveMode::LineStripAdjacency, true },
     98+        { PrimitiveMode::Lines, true }
     99+    };
     100+    return modes;
     101+};
     102 }  // namespace priv
     103 
     104 bool IsIntegerFormat(GLenum unsizedFormat)
     105diff --git a/src/common/utilities.h b/src/common/utilities.h
     106index 9dcb06e8a..7a1429a43 100644
     107--- a/src/common/utilities.h
     108+++ b/src/common/utilities.h
     109@@ -78,12 +78,12 @@ bool IsTriangleMode(PrimitiveMode drawMode);
     110 
     111 namespace priv
     112 {
     113-extern const angle::PackedEnumMap<PrimitiveMode, bool> gLineModes;
     114+extern const angle::PackedEnumMap<PrimitiveMode, bool>& gLineModes();
     115 }  // namespace priv
     116 
     117 ANGLE_INLINE bool IsLineMode(PrimitiveMode primitiveMode)
     118 {
     119-    return priv::gLineModes[primitiveMode];
     120+    return priv::gLineModes()[primitiveMode];
     121 }
     122 
     123 bool IsIntegerFormat(GLenum unsizedFormat);
    60124diff --git a/src/compiler/preprocessor/ExpressionParser.cpp b/src/compiler/preprocessor/ExpressionParser.cpp
    61125index 461c2145d..5da6a22d6 100644
     
    70134 
    71135    Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
     136diff --git a/src/compiler/preprocessor/Tokenizer.cpp b/src/compiler/preprocessor/Tokenizer.cpp
     137index 2ce67b738..429026e98 100644
     138--- a/src/compiler/preprocessor/Tokenizer.cpp
     139+++ b/src/compiler/preprocessor/Tokenizer.cpp
     140@@ -700,8 +700,6 @@ IF YOU MODIFY THIS FILE YOU ALSO NEED TO RUN generate_parser.sh.
     141 #if defined(__clang__)
     142 // Flex uses `/*FALLTHROUGH*/` instead of dedicated statements.
     143 #    pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
     144-// Flex isn't semi-colon clean.
     145-#    pragma clang diagnostic ignored "-Wextra-semi-stmt"
     146 #endif
     147 
     148 // Workaround for flex using the register keyword, deprecated in C++11.
     149diff --git a/src/compiler/preprocessor/Tokenizer.l b/src/compiler/preprocessor/Tokenizer.l
     150index 94db185ef..3df736713 100644
     151--- a/src/compiler/preprocessor/Tokenizer.l
     152+++ b/src/compiler/preprocessor/Tokenizer.l
     153@@ -41,8 +41,6 @@ IF YOU MODIFY THIS FILE YOU ALSO NEED TO RUN generate_parser.sh.
     154 #if defined(__clang__)
     155 // Flex uses `/*FALLTHROUGH*/` instead of dedicated statements.
     156 #pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
     157-// Flex isn't semi-colon clean.
     158-#pragma clang diagnostic ignored "-Wextra-semi-stmt"
     159 #endif
     160 
     161 // Workaround for flex using the register keyword, deprecated in C++11.
    72162diff --git a/src/compiler/translator/ShaderVars.cpp b/src/compiler/translator/ShaderVars.cpp
    73163index 202ed2111..2c2592ffb 100644
     
    137227     else
    138228     {
     229diff --git a/src/compiler/translator/glslang.l b/src/compiler/translator/glslang.l
     230index 8af29a8a7..c6aa91d52 100644
     231--- a/src/compiler/translator/glslang.l
     232+++ b/src/compiler/translator/glslang.l
     233@@ -40,8 +40,6 @@ WHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp).
     234 #endif
     235 #if defined(__clang__)
     236 #pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
     237-// Flex isn't semi-colon clean.
     238-#pragma clang diagnostic ignored "-Wextra-semi-stmt"
     239 #endif
     240 }
     241 
     242diff --git a/src/compiler/translator/glslang_lex.cpp b/src/compiler/translator/glslang_lex.cpp
     243index 2bf0ab37b..f35e05ada 100644
     244--- a/src/compiler/translator/glslang_lex.cpp
     245+++ b/src/compiler/translator/glslang_lex.cpp
     246@@ -25,8 +25,6 @@
     247 #endif
     248 #if defined(__clang__)
     249 #pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
     250-// Flex isn't semi-colon clean.
     251-#pragma clang diagnostic ignored "-Wextra-semi-stmt"
     252 #endif
     253 
     254 
    139255diff --git a/src/compiler/translator/glslang_tab.cpp b/src/compiler/translator/glslang_tab.cpp
    140 index a60203b85..fabad4f96 100644
     256index a60203b85..56c7fbd9b 100644
    141257--- a/src/compiler/translator/glslang_tab.cpp
    142258+++ b/src/compiler/translator/glslang_tab.cpp
     
    149265 
    150266    Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
    151 @@ -5198,4 +5200,4 @@ yyreturn:
    152  int glslang_parse(TParseContext* context) {
    153      return yyparse(context, context->getScanner());
    154  }
    155 -
    156 \ No newline at end of file
    157 +
    158267diff --git a/src/compiler/translator/glslang_tab.h b/src/compiler/translator/glslang_tab.h
    159268index e05076fcb..19be0f89d 100644
     
    236345 }
    237346diff --git a/src/libANGLE/State.cpp b/src/libANGLE/State.cpp
    238 index 7223bb9de..e4ed138a7 100644
     347index 7223bb9de..9e47bda44 100644
    239348--- a/src/libANGLE/State.cpp
    240349+++ b/src/libANGLE/State.cpp
    241 @@ -1214,7 +1214,7 @@ void State::detachSampler(const Context *context, GLuint sampler)
     350@@ -216,20 +216,24 @@ void State::setGenericBufferBinding<BufferBinding::ElementArray>(const Context *
     351     mDirtyObjects.set(DIRTY_OBJECT_VERTEX_ARRAY);
     352 }
     353 
     354-const angle::PackedEnumMap<BufferBinding, State::BufferBindingSetter> State::kBufferSetters = {{
     355-    GetBufferBindingSetter<BufferBinding::Array>(),
     356-    GetBufferBindingSetter<BufferBinding::AtomicCounter>(),
     357-    GetBufferBindingSetter<BufferBinding::CopyRead>(),
     358-    GetBufferBindingSetter<BufferBinding::CopyWrite>(),
     359-    GetBufferBindingSetter<BufferBinding::DispatchIndirect>(),
     360-    GetBufferBindingSetter<BufferBinding::DrawIndirect>(),
     361-    GetBufferBindingSetter<BufferBinding::ElementArray>(),
     362-    GetBufferBindingSetter<BufferBinding::PixelPack>(),
     363-    GetBufferBindingSetter<BufferBinding::PixelUnpack>(),
     364-    GetBufferBindingSetter<BufferBinding::ShaderStorage>(),
     365-    GetBufferBindingSetter<BufferBinding::TransformFeedback>(),
     366-    GetBufferBindingSetter<BufferBinding::Uniform>(),
     367-}};
     368+const angle::PackedEnumMap<BufferBinding, State::BufferBindingSetter>& State::kBufferSetters()
     369+{
     370+    static const angle::PackedEnumMap<BufferBinding, State::BufferBindingSetter> setters {{
     371+        GetBufferBindingSetter<BufferBinding::Array>(),
     372+        GetBufferBindingSetter<BufferBinding::AtomicCounter>(),
     373+        GetBufferBindingSetter<BufferBinding::CopyRead>(),
     374+        GetBufferBindingSetter<BufferBinding::CopyWrite>(),
     375+        GetBufferBindingSetter<BufferBinding::DispatchIndirect>(),
     376+        GetBufferBindingSetter<BufferBinding::DrawIndirect>(),
     377+        GetBufferBindingSetter<BufferBinding::ElementArray>(),
     378+        GetBufferBindingSetter<BufferBinding::PixelPack>(),
     379+        GetBufferBindingSetter<BufferBinding::PixelUnpack>(),
     380+        GetBufferBindingSetter<BufferBinding::ShaderStorage>(),
     381+        GetBufferBindingSetter<BufferBinding::TransformFeedback>(),
     382+        GetBufferBindingSetter<BufferBinding::Uniform>(),
     383+    }};
     384+    return setters;
     385+}
     386 
     387 State::State(ContextID contextIn,
     388              const State *shareContextState,
     389@@ -1214,7 +1218,7 @@ void State::detachSampler(const Context *context, GLuint sampler)
    242390     {
    243391         if (mSamplers[i].id() == sampler)
     
    248396     }
    249397 }
     398diff --git a/src/libANGLE/State.h b/src/libANGLE/State.h
     399index bec9a5e09..5a49431f3 100644
     400--- a/src/libANGLE/State.h
     401+++ b/src/libANGLE/State.h
     402@@ -318,7 +318,7 @@ class State : angle::NonCopyable
     403     //// Typed buffer binding point manipulation ////
     404     ANGLE_INLINE void setBufferBinding(const Context *context, BufferBinding target, Buffer *buffer)
     405     {
     406-        (this->*(kBufferSetters[target]))(context, buffer);
     407+        (this->*(kBufferSetters()[target]))(context, buffer);
     408     }
     409 
     410     ANGLE_INLINE Buffer *getTargetBuffer(BufferBinding target) const
     411@@ -693,7 +693,7 @@ class State : angle::NonCopyable
     412     static_assert(DIRTY_OBJECT_MAX == 9, "check DIRTY_OBJECT_MAX");
     413 
     414     // Dispatch table for buffer update functions.
     415-    static const angle::PackedEnumMap<BufferBinding, BufferBindingSetter> kBufferSetters;
     416+    static const angle::PackedEnumMap<BufferBinding, BufferBindingSetter>& kBufferSetters();
     417 
     418     Version mClientVersion;
     419     ContextID mContext;
    250420diff --git a/src/libANGLE/VertexArray.cpp b/src/libANGLE/VertexArray.cpp
    251421index f14876668..56a783f8a 100644
     
    283453                     }
    284454                 }
    285 diff --git a/src/third_party/khronos/GL/wglext.h b/src/third_party/khronos/GL/wglext.h
    286 index daba41091..86134ca73 100644
    287 --- a/src/third_party/khronos/GL/wglext.h
    288 +++ b/src/third_party/khronos/GL/wglext.h
    289 @@ -33,7 +33,7 @@ extern "C" {
    290  ** used to make the header, and the header can be found at
    291  **   http://www.opengl.org/registry/
    292  **
    293 -** Khronos $Revision: 27684 $ on $Date: 2014-08-11 01:21:35 -0700 (Mon, 11 Aug 2014) $
    294 +** Khronos $Revision: 225340 $ on $Date: 2017-11-30 12:39:54 -0800 (Thu, 30 Nov 2017) $
    295  */
    296  
    297  #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
     455diff --git a/src/libANGLE/validationES3.cpp b/src/libANGLE/validationES3.cpp
     456index 1acb57843..94db8b545 100644
     457--- a/src/libANGLE/validationES3.cpp
     458+++ b/src/libANGLE/validationES3.cpp
     459@@ -4166,7 +4166,7 @@ bool ValidateBindFragDataLocationIndexedEXT(Context *context,
     460         context->validationError(GL_INVALID_OPERATION, kES3Required);
     461         return false;
     462     }
     463-    if (index < 0 || index > 1)
     464+    if (index > 1)
     465     {
     466         // This error is not explicitly specified but the spec does say that "<index> may be zero or
     467         // one to specify that the color be used as either the first or second color input to the
     468diff --git a/src/tests/compiler_tests/QualificationOrder_test.cpp b/src/tests/compiler_tests/QualificationOrder_test.cpp
     469index c0249dbb9..f8b1c5fdc 100644
     470--- a/src/tests/compiler_tests/QualificationOrder_test.cpp
     471+++ b/src/tests/compiler_tests/QualificationOrder_test.cpp
     472@@ -429,7 +429,7 @@ TEST_F(QualificationOrderFragmentShaderTest, InvalidFunctionParametersInvariant)
     473         "}\n"
     474         "void main()\n"
     475         "{\n"
     476-        "      gl_FragColor = vec4(foo0(value));\n"
     477+        "    gl_FragColor = vec4(foo0(value));\n"
     478         "}\n";
     479 
     480     if (compile(shaderString))
     481@@ -449,7 +449,7 @@ TEST_F(QualificationOrderFragmentShaderTest, InvalidFunctionParametersAttribute)
     482         "}\n"
     483         "void main()\n"
     484         "{\n"
     485-        "      gl_FragColor = vec4(foo0(value));\n"
     486+        "    gl_FragColor = vec4(foo0(value));\n"
     487         "}\n";
     488 
     489     if (compile(shaderString))
     490@@ -469,7 +469,7 @@ TEST_F(QualificationOrderFragmentShaderTest, InvalidFunctionParametersVarying)
     491         "}\n"
     492         "void main()\n"
     493         "{\n"
     494-        "      gl_FragColor = vec4(foo0(value));\n"
     495+        "    gl_FragColor = vec4(foo0(value));\n"
     496         "}\n";
     497 
     498     if (compile(shaderString))
     499@@ -491,7 +491,7 @@ TEST_F(QualificationOrderFragmentShaderTest, InvalidFunctionParametersLayout)
     500         "out vec4 colorOUT;\n"
     501         "void main()\n"
     502         "{\n"
     503-        "      colorOUT = vec4(foo0(value));\n"
     504+        "    colorOUT = vec4(foo0(value));\n"
     505         "}\n";
     506 
     507     if (compile(shaderString))
     508@@ -513,7 +513,7 @@ TEST_F(QualificationOrderFragmentShaderTest, InvalidFunctionParametersCentroidIn
     509         "out vec4 colorOUT;\n"
     510         "void main()\n"
     511         "{\n"
     512-        "      colorOUT = vec4(foo0(value));\n"
     513+        "    colorOUT = vec4(foo0(value));\n"
     514         "}\n";
     515 
     516     if (compile(shaderString))
     517@@ -535,7 +535,7 @@ TEST_F(QualificationOrderFragmentShaderTest, InvalidFunctionParametersFlatIn)
     518         "out vec4 colorOUT;\n"
     519         "void main()\n"
     520         "{\n"
     521-        "      colorOUT = vec4(foo0(value));\n"
     522+        "    colorOUT = vec4(foo0(value));\n"
     523         "}\n";
     524 
     525     if (compile(shaderString))
     526diff --git a/src/tests/perf_tests/MultiviewPerf.cpp b/src/tests/perf_tests/MultiviewPerf.cpp
     527index df6408d02..9144dfa36 100644
     528--- a/src/tests/perf_tests/MultiviewPerf.cpp
     529+++ b/src/tests/perf_tests/MultiviewPerf.cpp
     530@@ -276,7 +276,7 @@ void MultiviewCPUBoundBenchmark::initializeBenchmark()
     531         "{\n"
     532         "   vec4 v = vPosition;\n"
     533         "   v.xy += uOffset;\n"
     534-        "      gl_Position = v;\n"
     535+        "   gl_Position = v;\n"
     536         "}\n";
     537 
     538     const std::string fs =
     539@@ -374,7 +374,7 @@ void MultiviewGPUBoundBenchmark::initializeBenchmark()
     540         "   frag_Col3 = vert_Col3;\n"
     541         "   frag_Col4 = vert_Col4;\n"
     542         "   frag_Col5 = vert_Col5;\n"
     543-        "      gl_Position = vPosition;\n"
     544+        "   gl_Position = vPosition;\n"
     545         "}\n";
     546 
     547     const std::string &fs =
  • trunk/Source/ThirdParty/ANGLE/include/EGL/eglplatform.h

    r245088 r245155  
    111111typedef struct ANativeWindow*           EGLNativeWindowType;
    112112
    113 #elif defined(USE_OZONE) || defined(USE_WPE)
     113#elif defined(USE_OZONE) || defined(USE_SYSTEM_EGL)
    114114
    115115typedef intptr_t EGLNativeDisplayType;
  • trunk/Source/ThirdParty/ANGLE/src/common/debug.h

    r245088 r245155  
    337337        _Pragma("clang diagnostic push") _Pragma("clang diagnostic error \"-Wpadded\"")
    338338#    define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("clang diagnostic pop")
    339 #elif defined(COMPILER_GCC)
     339#elif defined(__GNUC__)
    340340#    define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \
    341341        _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic error \"-Wpadded\"")
Note: See TracChangeset for help on using the changeset viewer.