7#include <QtGui/qtguiglobal.h>
16# define APIENTRY __stdcall
17# define Q_UNDEF_APIENTRY
20# define WINGDIAPI __declspec(dllimport)
21# define Q_UNDEF_WINGDIAPI
23# define QT_APIENTRY __stdcall
40#if QT_CONFIG(opengles2)
41# if defined(Q_OS_IOS) || defined(Q_OS_TVOS)
42# if QT_CONFIG(opengles3)
43# include <OpenGLES/ES3/gl.h>
44# include <OpenGLES/ES3/glext.h>
46# include <OpenGLES/ES2/gl.h>
47# include <OpenGLES/ES2/glext.h>
51
52
53
54
55
56typedef void* GLeglImageOES;
58# elif !defined(Q_OS_DARWIN)
73# ifndef GL_GLEXT_PROTOTYPES
74# define GL_GLEXT_PROTOTYPES
75# define QGL_TEMP_GLEXT_PROTO
78# if QT_CONFIG(opengles32)
79# include <GLES3/gl32.h>
80# elif QT_CONFIG(opengles31)
81# include <GLES3/gl31.h>
82# elif QT_CONFIG(opengles3)
83# include <GLES3/gl3.h>
85# include <GLES2/gl2.h>
88# ifdef QGL_TEMP_GLEXT_PROTO
89# undef GL_GLEXT_PROTOTYPES
90# undef QGL_TEMP_GLEXT_PROTO
94
95
96
97
98
101# include <QtGui/qopengles2ext.h>
104# if defined(Q_OS_MACOS)
105# include <OpenGL/gl.h>
106# define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
107# include <OpenGL/gl3.h>
108# include <OpenGL/glext.h>
110# define GL_GLEXT_LEGACY
113# ifndef GL_GLEXT_PROTOTYPES
114# define GL_GLEXT_PROTOTYPES
116# undef GL_GLEXT_PROTOTYPES
120# include <QtGui/qopenglext.h>
125#if !QT_CONFIG(opengles2)
129# if !defined(Q_OS_MAC)
130# define QT_OPENGL_4_3
137#if !QT_CONFIG(opengles2)
145#define QT_APIENTRYP QT_APIENTRY *
156#ifndef GL_VERSION_2_0
161#ifndef GL_VERSION_1_5
163typedef ptrdiff_t GLintptr;
164typedef ptrdiff_t GLsizeiptr;
167#ifndef GL_ARB_vertex_buffer_object
169typedef ptrdiff_t GLintptrARB;
170typedef ptrdiff_t GLsizeiptrARB;
173#ifndef GL_ARB_shader_objects
175typedef char GLcharARB;
177typedef void *GLhandleARB;
179typedef unsigned int GLhandleARB;
184#ifndef GL_ARB_half_float_pixel
185typedef unsigned short GLhalfARB;
188#ifndef GL_NV_half_float
189typedef unsigned short GLhalfNV;
192#ifndef GLEXT_64_TYPES_DEFINED
194#define GLEXT_64_TYPES_DEFINED
197#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
199#elif defined(__sun__) || defined(__digital__)
202#if defined(__arch64__) || defined(_LP64)
203typedef long int int64_t;
204typedef unsigned long int uint64_t;
206typedef long long int int64_t;
207typedef unsigned long long int uint64_t;
210#elif defined(__UNIXOS2__) || defined(__SOL64__)
211typedef long int int32_t;
212typedef long long int int64_t;
213typedef unsigned long long int uint64_t;
214#elif defined(_WIN32) && (defined(__GNUC__) || defined(_MSC_VER))
217typedef __int32 int32_t;
218typedef __int64 int64_t;
219typedef unsigned __int64 uint64_t;
226#ifndef GL_EXT_timer_query
227typedef int64_t GLint64EXT;
228typedef uint64_t GLuint64EXT;
232typedef int64_t GLint64;
233typedef uint64_t GLuint64;
234typedef struct __GLsync *GLsync;
237#ifndef GL_ARB_cl_event
243#ifndef GL_ARB_debug_output
244typedef void (QT_APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,
const GLchar *message,
const GLvoid *userParam);
247#ifndef GL_AMD_debug_output
248typedef void (QT_APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,
const GLchar *message,GLvoid *userParam);
252typedef void (QT_APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,
const GLchar *message,
const GLvoid *userParam);
255#ifndef GL_NV_vdpau_interop
256typedef GLintptr GLvdpauSurfaceNV;
265typedef ptrdiff_t qopengl_GLintptr;
269#if defined(QT_APIENTRY) && !defined(QOPENGLF_APIENTRY)
270# define QOPENGLF_APIENTRY QT_APIENTRY
273# ifndef QOPENGLF_APIENTRYP
274# ifdef QOPENGLF_APIENTRY
275# define QOPENGLF_APIENTRYP QOPENGLF_APIENTRY *
277# define QOPENGLF_APIENTRY
278# define QOPENGLF_APIENTRYP *
284#ifdef Q_UNDEF_WINGDIAPI
286# undef Q_UNDEF_WINGDIAPI
288#ifdef Q_UNDEF_APIENTRY
290# undef Q_UNDEF_APIENTRY
The QOpenGLContextGroup class represents a group of contexts sharing OpenGL resources....
The QOpenGLMultiGroupSharedResource keeps track of a shared resource that might be needed from multip...
The QOpenGLSharedResourceGuard class is a convenience sub-class of QOpenGLSharedResource to be used t...
The QOpenGLSharedResource class is used to keep track of resources that are shared between OpenGL con...
friend class QOpenGLContextPrivate
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Q_GLOBAL_STATIC(QReadWriteLock, g_updateMutex)
ptrdiff_t qopengl_GLsizeiptr
QOpenGLContext * qt_gl_global_share_context()
void qt_gl_set_global_share_context(QOpenGLContext *context)
static QOpenGLContext * global_share_context