summaryrefslogtreecommitdiffstats
path: root/src/angle/patches/0001-Make-it-possible-to-link-ANGLE-statically-for-single.patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/angle/patches/0001-Make-it-possible-to-link-ANGLE-statically-for-single.patch')
-rw-r--r--src/angle/patches/0001-Make-it-possible-to-link-ANGLE-statically-for-single.patch200
1 files changed, 0 insertions, 200 deletions
diff --git a/src/angle/patches/0001-Make-it-possible-to-link-ANGLE-statically-for-single.patch b/src/angle/patches/0001-Make-it-possible-to-link-ANGLE-statically-for-single.patch
deleted file mode 100644
index 9de8c54fb6..0000000000
--- a/src/angle/patches/0001-Make-it-possible-to-link-ANGLE-statically-for-single.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-From f1eeb288ae18f3015f435fc2df25ec1eb0f15e1a Mon Sep 17 00:00:00 2001
-From: Friedemann Kleint <Friedemann.Kleint@digia.com>
-Date: Sat, 14 Sep 2013 11:07:17 +0300
-Subject: [PATCH] Make it possible to link ANGLE statically for
- single-thread use.
-
-Fix exports and provide static instances of thread-local
-data depending on QT_OPENGL_ES_2_ANGLE_STATIC.
-
-Change-Id: Ifab25a820adf5953bb3b09036de53dbf7f1a7fd5
----
- src/3rdparty/angle/include/KHR/khrplatform.h | 2 +-
- src/3rdparty/angle/src/libEGL/main.cpp | 35 ++++++++++++++++++++--------
- src/3rdparty/angle/src/libGLESv2/main.cpp | 21 ++++++++++++++---
- 3 files changed, 44 insertions(+), 14 deletions(-)
-
-diff --git a/src/3rdparty/angle/include/KHR/khrplatform.h b/src/3rdparty/angle/include/KHR/khrplatform.h
-index 8ec0d19..541bfa9 100644
---- a/src/3rdparty/angle/include/KHR/khrplatform.h
-+++ b/src/3rdparty/angle/include/KHR/khrplatform.h
-@@ -97,7 +97,7 @@
- *-------------------------------------------------------------------------
- * This precedes the return type of the function in the function prototype.
- */
--#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
-+#if defined(_WIN32) && !defined(__SCITECH_SNAP__) && !defined(QT_OPENGL_ES_2_ANGLE_STATIC)
- # define KHRONOS_APICALL __declspec(dllimport)
- #elif defined (__SYMBIAN32__)
- # define KHRONOS_APICALL IMPORT_C
-diff --git a/src/3rdparty/angle/src/libEGL/main.cpp b/src/3rdparty/angle/src/libEGL/main.cpp
-index 424ec3f..7dea5fc 100644
---- a/src/3rdparty/angle/src/libEGL/main.cpp
-+++ b/src/3rdparty/angle/src/libEGL/main.cpp
-@@ -10,6 +10,8 @@
-
- #include "common/debug.h"
-
-+#ifndef QT_OPENGL_ES_2_ANGLE_STATIC
-+
- static DWORD currentTLS = TLS_OUT_OF_INDEXES;
-
- extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
-@@ -86,74 +88,87 @@ extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved
- return TRUE;
- }
-
-+#endif // !QT_OPENGL_ES_2_ANGLE_STATIC
-+
- namespace egl
- {
-+Current *getCurrent()
-+{
-+#ifndef QT_OPENGL_ES_2_ANGLE_STATIC
-+ return (Current*)TlsGetValue(currentTLS);
-+#else
-+ // No precautions for thread safety taken as ANGLE is used single-threaded in Qt.
-+ static Current curr = { EGL_SUCCESS, EGL_OPENGL_ES_API, EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_SURFACE };
-+ return &curr;
-+#endif
-+}
-+
- void setCurrentError(EGLint error)
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- current->error = error;
- }
-
- EGLint getCurrentError()
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- return current->error;
- }
-
- void setCurrentAPI(EGLenum API)
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- current->API = API;
- }
-
- EGLenum getCurrentAPI()
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- return current->API;
- }
-
- void setCurrentDisplay(EGLDisplay dpy)
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- current->display = dpy;
- }
-
- EGLDisplay getCurrentDisplay()
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- return current->display;
- }
-
- void setCurrentDrawSurface(EGLSurface surface)
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- current->drawSurface = surface;
- }
-
- EGLSurface getCurrentDrawSurface()
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- return current->drawSurface;
- }
-
- void setCurrentReadSurface(EGLSurface surface)
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- current->readSurface = surface;
- }
-
- EGLSurface getCurrentReadSurface()
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- return current->readSurface;
- }
-diff --git a/src/3rdparty/angle/src/libGLESv2/main.cpp b/src/3rdparty/angle/src/libGLESv2/main.cpp
-index 6d7a241..730a6ac 100644
---- a/src/3rdparty/angle/src/libGLESv2/main.cpp
-+++ b/src/3rdparty/angle/src/libGLESv2/main.cpp
-@@ -11,6 +11,8 @@
-
- #include "libGLESv2/Context.h"
-
-+#ifndef QT_OPENGL_ES_2_ANGLE_STATIC
-+
- static DWORD currentTLS = TLS_OUT_OF_INDEXES;
-
- extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
-@@ -69,11 +71,24 @@ extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved
- return TRUE;
- }
-
-+#endif // !QT_OPENGL_ES_2_ANGLE_STATIC
-+
- namespace gl
- {
-+Current *getCurrent()
-+{
-+#ifndef QT_OPENGL_ES_2_ANGLE_STATIC
-+ return (Current*)TlsGetValue(currentTLS);
-+#else
-+ // No precautions for thread safety taken as ANGLE is used single-threaded in Qt.
-+ static gl::Current curr = { 0, 0 };
-+ return &curr;
-+#endif
-+}
-+
- void makeCurrent(Context *context, egl::Display *display, egl::Surface *surface)
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- current->context = context;
- current->display = display;
-@@ -86,7 +101,7 @@ void makeCurrent(Context *context, egl::Display *display, egl::Surface *surface)
-
- Context *getContext()
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- return current->context;
- }
-@@ -112,7 +127,7 @@ Context *getNonLostContext()
-
- egl::Display *getDisplay()
- {
-- Current *current = (Current*)TlsGetValue(currentTLS);
-+ Current *current = getCurrent();
-
- return current->display;
- }
---
-1.8.1.msysgit.1
-