summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libGLESv2/main.cpp
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@digia.com>2013-09-18 11:51:20 +0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-19 08:53:35 +0200
commit1a334f8135d4be7b73b39ac736af0e722c864e83 (patch)
treecc0b7703b815e9fca858e8eecd7eb556e186998c /src/3rdparty/angle/src/libGLESv2/main.cpp
parentd84ed9a92ae0ce96b843c9dd5c263c6a0925405b (diff)
ANGLE: Update to version 2446
Update ANGLE and reapply patches. Patch changes: "Dynamically resolve functions of dwmapi.dll" Removed; ANGLE no longer uses DWM API "Make it possible to link ANGLE statically for single-thread use" Avoid name collision by using ANGLE-style getCurrent() "Fix build when SSE2 is not available." Added guard for __cpuid(), which is not available on ARM "Make DX9/DX11 mutually exclusive" Adjustments due to underlying code changes "ANGLE: Avoid memory copies on buffers when data is null" Removed; fixed upstream "Add missing intrin.h include for __cpuid" Removed; fixed upstream Change-Id: I4f3d850fc555d3194ddc05e0b51c4966d33f7eaf Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/main.cpp')
-rw-r--r--src/3rdparty/angle/src/libGLESv2/main.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/main.cpp b/src/3rdparty/angle/src/libGLESv2/main.cpp
index 5d23e8e70f..730a6ac022 100644
--- a/src/3rdparty/angle/src/libGLESv2/main.cpp
+++ b/src/3rdparty/angle/src/libGLESv2/main.cpp
@@ -71,30 +71,27 @@ extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved
return TRUE;
}
-static gl::Current *current()
-{
- return (gl::Current*)TlsGetValue(currentTLS);
-}
-
-#else // !QT_OPENGL_ES_2_ANGLE_STATIC
+#endif // !QT_OPENGL_ES_2_ANGLE_STATIC
-static inline gl::Current *current()
+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
}
-#endif // QT_OPENGL_ES_2_ANGLE_STATIC
-
-namespace gl
-{
void makeCurrent(Context *context, egl::Display *display, egl::Surface *surface)
{
- Current *curr = current();
+ Current *current = getCurrent();
- curr->context = context;
- curr->display = display;
+ current->context = context;
+ current->display = display;
if (context && display && surface)
{
@@ -104,7 +101,9 @@ void makeCurrent(Context *context, egl::Display *display, egl::Surface *surface)
Context *getContext()
{
- return current()->context;
+ Current *current = getCurrent();
+
+ return current->context;
}
Context *getNonLostContext()
@@ -128,7 +127,9 @@ Context *getNonLostContext()
egl::Display *getDisplay()
{
- return current()->display;
+ Current *current = getCurrent();
+
+ return current->display;
}
// Records an error code