4#ifndef QOPENGLCONTEXT_P_H
5#define QOPENGLCONTEXT_P_H
18#include <QtGui/private/qtguiglobal_p.h>
24#include <private/qobject_p.h>
27#include <QtCore/QByteArray>
28#include <QtCore/QHash>
91 FreeResourceFunc m_func;
137 template <
typename T>
143 T *resource =
static_cast<T *
>(
group->d_func()->m_resources.value(
this,
nullptr));
182 , vaoHelperDestroyCallback(
nullptr)
183 , max_texture_size(-1)
184 , workaround_brokenFBOReadBack(
false)
185 , workaround_brokenTexSubImage(
false)
186 , workaround_missingPrecisionQualifiers(
false)
188 , qgl_current_fbo_invalid(
false)
190 , defaultFboRedirect(0)
233 int maxTextureSize();
240#if !defined(QT_NO_DEBUG)
244 bool old = makeCurrentTracker.value(
context,
false);
251 makeCurrentTracker.remove(
context);
257 void _q_screenDestroyed(
QObject *
object);
QHash< QOpenGLMultiGroupSharedResource *, QOpenGLSharedResource * > m_resources
~QOpenGLContextGroupPrivate() override
QOpenGLContextGroupPrivate()
QList< QOpenGLSharedResource * > m_sharedResources
QList< QOpenGLContext * > m_shares
QList< QOpenGLSharedResource * > m_pendingDeletion
QOpenGLContext * m_context
The QOpenGLContextGroup class represents a group of contexts sharing OpenGL resources....
QOpenGLContextGroup * shareGroup
QOpenGLVertexArrayObjectHelperDestroyCallback_t vaoHelperDestroyCallback
static void cleanMakeCurrentTracker(QOpenGLContext *context)
QPaintEngineEx * active_engine
QOpenGLContextVersionFunctionHelper * versionFunctions
QOpenGLContext * shareContext
QOpenGLTextureHelper * textureFunctions
GLuint defaultFboRedirect
QOpenGLFramebufferObject * qgl_current_fbo
QPlatformOpenGLContext * platformGLContext
QOpenGLFunctions * functions
bool qgl_current_fbo_invalid
QOpenGLVertexArrayObjectHelper * vaoHelper
bool workaround_brokenFBOReadBack
void(*)(QOpenGLVertexArrayObjectHelper *) QOpenGLVertexArrayObjectHelperDestroyCallback_t
QSet< QByteArray > extensionNames
QSurfaceFormat requestedFormat
bool workaround_missingPrecisionQualifiers
std::function< void()> textureFunctionsDestroyCallback
static QMutex makeCurrentTrackerMutex
bool workaround_brokenTexSubImage
static bool toggleMakeCurrentTracker(QOpenGLContext *context, bool value)
static QOpenGLContextPrivate * get(QOpenGLContext *context)
static QHash< QOpenGLContext *, bool > makeCurrentTracker
virtual ~QOpenGLContextVersionFunctionHelper()
The QOpenGLFramebufferObject class encapsulates an OpenGL framebuffer object.
The QOpenGLFunctions class provides cross-platform access to the OpenGL ES 2.0 API.
The QOpenGLMultiGroupSharedResource keeps track of a shared resource that might be needed from multip...
T * value(QOpenGLContext *context)
The QOpenGLSharedResourceGuard class is a convenience sub-class of QOpenGLSharedResource to be used t...
QOpenGLSharedResourceGuard(QOpenGLContext *context, GLuint id, FreeResourceFunc func)
void invalidateResource() override
~QOpenGLSharedResourceGuard() override
The QOpenGLSharedResource class is used to keep track of resources that are shared between OpenGL con...
QOpenGLContextGroup * group() const
virtual void freeResource(QOpenGLContext *context)=0
virtual void invalidateResource()=0
The QPlatformOpenGLContext class provides an abstraction for native GL contexts.
The QScreen class is used to query screen properties. \inmodule QtGui.
cache insert(employee->id(), employee)
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
Q_GUI_EXPORT void qt_gl_set_global_share_context(QOpenGLContext *context)
Q_GUI_EXPORT QOpenGLContext * qt_gl_global_share_context()
typedef GLint(GL_APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC)(GLuint program