summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qopenglcontext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qopenglcontext.cpp')
-rw-r--r--src/gui/kernel/qopenglcontext.cpp33
1 files changed, 26 insertions, 7 deletions
diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp
index e258218e85..7382d63a06 100644
--- a/src/gui/kernel/qopenglcontext.cpp
+++ b/src/gui/kernel/qopenglcontext.cpp
@@ -230,6 +230,7 @@ public:
};
static QThreadStorage<QGuiGLThreadContext *> qwindow_context_storage;
+static QOpenGLContext *global_share_context = 0;
#ifndef QT_NO_DEBUG
QHash<QOpenGLContext *, bool> QOpenGLContextPrivate::makeCurrentTracker;
@@ -330,6 +331,25 @@ QOpenGLContext *QOpenGLContextPrivate::setCurrentContext(QOpenGLContext *context
return previous;
}
+/*!
+ \internal
+
+ This function is used by the Qt WebEngine to set up context sharing
+ across multiple windows. Do not use it for any other purpose.
+*/
+void QOpenGLContextPrivate::setGlobalShareContext(QOpenGLContext *context)
+{
+ global_share_context = context;
+}
+
+/*!
+ \internal
+*/
+QOpenGLContext *QOpenGLContextPrivate::globalShareContext()
+{
+ return global_share_context;
+}
+
int QOpenGLContextPrivate::maxTextureSize()
{
if (max_texture_size != -1)
@@ -597,7 +617,8 @@ QOpenGLFunctions *QOpenGLContext::functions() const
Returns a pointer to an object that provides access to all functions for
the version and profile of this context. Before using any of the functions
- they must be initialized by calling QAbstractOpenGLFunctions::initializeOpenGLFunctions().
+ they must be initialized by calling QAbstractOpenGLFunctions::initializeOpenGLFunctions()
+ with this context being the current context.
Usually one would use the template version of this function to automatically
have the result cast to the correct type.
@@ -609,7 +630,7 @@ QOpenGLFunctions *QOpenGLContext::functions() const
qWarning() << "Could not obtain required OpenGL context version";
exit(1);
}
- funcs->initializeOpenGLFunctions(context);
+ funcs->initializeOpenGLFunctions();
\endcode
It is possible to request a functions object for a different version and profile
@@ -639,8 +660,9 @@ QOpenGLFunctions *QOpenGLContext::functions() const
/*!
Returns a pointer to an object that provides access to all functions for the
- \a versionProfile of the current context. Before using any of the functions they must
- be initialized by calling QAbstractOpenGLFunctions::initializeOpenGLFunctions().
+ \a versionProfile of this context. Before using any of the functions they must
+ be initialized by calling QAbstractOpenGLFunctions::initializeOpenGLFunctions()
+ with this context being the current context.
Usually one would use the template version of this function to automatically
have the result cast to the correct type.
@@ -1010,7 +1032,6 @@ void *QOpenGLContext::openGLModuleHandle()
\value DesktopGL Desktop OpenGL
\value GLES2 OpenGL ES 2.0 or higher
- \value GLES1 OpenGL ES 1.x
\since 5.3
*/
@@ -1038,8 +1059,6 @@ QOpenGLContext::OpenGLModuleType QOpenGLContext::openGLModuleType()
return QGuiApplicationPrivate::instance()->platformIntegration()->openGLModuleType();
#elif defined(QT_OPENGL_ES_2)
return GLES2;
-#elif defined(QT_OPENGL_ES)
- return GLES1;
#else
return DesktopGL;
#endif