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
Combined button and popup list for selecting options.
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