Source/ThirdParty/ANGLE:
Fix High Sierra build.
* src/libANGLE/State.cpp:
(gl::State::kBufferSetters):
* src/libANGLE/State.h:
(gl::State::setBufferBinding):
Remove the need for a global constructor.
Source/WebCore:
Try to fix Linux build
* platform/graphics/ANGLEWebKitBridge.h:
Include headers consistently on all platforms.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@245089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/ThirdParty/ANGLE/ChangeLog b/Source/ThirdParty/ANGLE/ChangeLog
index e99eb42..5471a36 100644
--- a/Source/ThirdParty/ANGLE/ChangeLog
+++ b/Source/ThirdParty/ANGLE/ChangeLog
@@ -1,3 +1,13 @@
+2019-05-08 Alex Christensen <achristensen@webkit.org>
+
+ Fix High Sierra build.
+
+ * src/libANGLE/State.cpp:
+ (gl::State::kBufferSetters):
+ * src/libANGLE/State.h:
+ (gl::State::setBufferBinding):
+ Remove the need for a global constructor.
+
2019-05-08 Don Olmstead <don.olmstead@sony.com>
Update ANGLE
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/State.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/State.cpp
index e4ed138..9e47bda 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/State.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/State.cpp
@@ -216,20 +216,24 @@
mDirtyObjects.set(DIRTY_OBJECT_VERTEX_ARRAY);
}
-const angle::PackedEnumMap<BufferBinding, State::BufferBindingSetter> State::kBufferSetters = {{
- GetBufferBindingSetter<BufferBinding::Array>(),
- GetBufferBindingSetter<BufferBinding::AtomicCounter>(),
- GetBufferBindingSetter<BufferBinding::CopyRead>(),
- GetBufferBindingSetter<BufferBinding::CopyWrite>(),
- GetBufferBindingSetter<BufferBinding::DispatchIndirect>(),
- GetBufferBindingSetter<BufferBinding::DrawIndirect>(),
- GetBufferBindingSetter<BufferBinding::ElementArray>(),
- GetBufferBindingSetter<BufferBinding::PixelPack>(),
- GetBufferBindingSetter<BufferBinding::PixelUnpack>(),
- GetBufferBindingSetter<BufferBinding::ShaderStorage>(),
- GetBufferBindingSetter<BufferBinding::TransformFeedback>(),
- GetBufferBindingSetter<BufferBinding::Uniform>(),
-}};
+const angle::PackedEnumMap<BufferBinding, State::BufferBindingSetter>& State::kBufferSetters()
+{
+ static const angle::PackedEnumMap<BufferBinding, State::BufferBindingSetter> setters {{
+ GetBufferBindingSetter<BufferBinding::Array>(),
+ GetBufferBindingSetter<BufferBinding::AtomicCounter>(),
+ GetBufferBindingSetter<BufferBinding::CopyRead>(),
+ GetBufferBindingSetter<BufferBinding::CopyWrite>(),
+ GetBufferBindingSetter<BufferBinding::DispatchIndirect>(),
+ GetBufferBindingSetter<BufferBinding::DrawIndirect>(),
+ GetBufferBindingSetter<BufferBinding::ElementArray>(),
+ GetBufferBindingSetter<BufferBinding::PixelPack>(),
+ GetBufferBindingSetter<BufferBinding::PixelUnpack>(),
+ GetBufferBindingSetter<BufferBinding::ShaderStorage>(),
+ GetBufferBindingSetter<BufferBinding::TransformFeedback>(),
+ GetBufferBindingSetter<BufferBinding::Uniform>(),
+ }};
+ return setters;
+}
State::State(ContextID contextIn,
const State *shareContextState,
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/State.h b/Source/ThirdParty/ANGLE/src/libANGLE/State.h
index bec9a5e..5a49431 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/State.h
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/State.h
@@ -318,7 +318,7 @@
//// Typed buffer binding point manipulation ////
ANGLE_INLINE void setBufferBinding(const Context *context, BufferBinding target, Buffer *buffer)
{
- (this->*(kBufferSetters[target]))(context, buffer);
+ (this->*(kBufferSetters()[target]))(context, buffer);
}
ANGLE_INLINE Buffer *getTargetBuffer(BufferBinding target) const
@@ -693,7 +693,7 @@
static_assert(DIRTY_OBJECT_MAX == 9, "check DIRTY_OBJECT_MAX");
// Dispatch table for buffer update functions.
- static const angle::PackedEnumMap<BufferBinding, BufferBindingSetter> kBufferSetters;
+ static const angle::PackedEnumMap<BufferBinding, BufferBindingSetter>& kBufferSetters();
Version mClientVersion;
ContextID mContext;
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 376f422..1b75a1e 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,10 @@
+2019-05-08 Alex Christensen <achristensen@webkit.org>
+
+ Try to fix Linux build
+
+ * platform/graphics/ANGLEWebKitBridge.h:
+ Include headers consistently on all platforms.
+
2019-05-08 Don Olmstead <don.olmstead@sony.com>
Update ANGLE
diff --git a/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h b/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h
index 55a84b12..4f38bf3 100644
--- a/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h
+++ b/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h
@@ -23,8 +23,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef ANGLEWebKitBridge_h
-#define ANGLEWebKitBridge_h
+#pragma once
#if USE(LIBEPOXY)
// libepoxy headers have to be included before <ANGLE/ShaderLang.h> in order to avoid
@@ -32,11 +31,7 @@
#include <epoxy/gl.h>
#endif
-#if PLATFORM(COCOA)
#include <ANGLE/ShaderLang.h>
-#else
-#include <ANGLE/GLSLANG/ShaderLang.h>
-#endif
#include <wtf/text/WTFString.h>
#if PLATFORM(COCOA)
@@ -100,5 +95,3 @@
};
} // namespace WebCore
-
-#endif