49 const char *name3,
const char *name4)
73 #if defined(QT_OPENGL_ES) 74 #define qt_gl_getProcAddress(ctx,name) \ 75 qt_gl_getProcAddress_search((ctx), name, name "OES", name "EXT", name "ARB") 76 #define qt_gl_getProcAddressEXT(ctx,name) \ 77 qt_gl_getProcAddress_search((ctx), name "OES", name, name "EXT", name "ARB") 78 #define qt_gl_getProcAddressARB(ctx,name) \ 79 qt_gl_getProcAddress_search((ctx), name "OES", name, name "ARB", name "EXT") 80 #define qt_gl_getProcAddressOES(ctx,name) \ 81 qt_gl_getProcAddress_search((ctx), name "OES", name, name "EXT", name "ARB") 83 #define qt_gl_getProcAddress(ctx,name) \ 84 qt_gl_getProcAddress_search((ctx), name, name "ARB", name "EXT", 0) 85 #define qt_gl_getProcAddressEXT(ctx,name) \ 86 qt_gl_getProcAddress_search((ctx), name "EXT", name, name "ARB", 0) 87 #define qt_gl_getProcAddressARB(ctx,name) \ 88 qt_gl_getProcAddress_search((ctx), name "ARB", name, name "EXT", 0) 89 #define qt_gl_getProcAddressOES(ctx,name) \ 90 qt_gl_getProcAddress_search((ctx), name "OES", name, name "EXT", name "ARB") 95 #if defined(QT_OPENGL_ES_2) 96 static bool have_resolved =
false;
106 qWarning(
"QGLFramebufferObject: Unable to resolve framebuffer object extensions -" 107 " make sure there is a current context when creating the framebuffer object.");
116 #if !defined(QT_OPENGL_ES_2) 143 #if !defined(QT_OPENGL_ES_2) 157 #if !defined(QT_OPENGL_ES_2) 171 #if !defined(QT_OPENGL_ES_2) 196 #if defined(QGL_RESOLVE_BUFFER_FUNCS) 206 #ifdef QT_OPENGL_ES_2 208 if (extensions.
match(
"GL_OES_mapbuffer")) {
220 #if defined(QGL_RESOLVE_BUFFER_FUNCS) 247 #if defined(QT_OPENGL_ES_2) 412 #if !defined(QT_OPENGL_ES_2) 415 bool gl2supported =
true;
417 gl2supported =
false;
420 gl2supported =
false;
428 gl2supported =
false;
bool qt_resolve_version_1_3_functions(QGLContext *ctx)
void(APIENTRY * _glActiveStencilFaceEXT)(GLenum)
#define glMultiTexCoord4f
void(APIENTRY * _glUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *)
void(APIENTRY * _glGetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params)
void(APIENTRY * _glUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *)
#define glDeleteProgramsARB
void(APIENTRY * _glProgramLocalParameter4fvARB)(GLenum, GLuint, const GLfloat *)
GLvoid *(APIENTRY * _glMapBufferARB)(GLenum, GLenum)
#define QT_END_NAMESPACE
This macro expands to.
#define glFramebufferTextureEXT
void(APIENTRY * _glUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *)
void(APIENTRY * _glUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *)
GLint(APIENTRY * _glGetAttribLocation)(GLuint, const char *)
#define glStencilOpSeparate
GLuint(APIENTRY * _glCreateShader)(GLenum)
GLenum(APIENTRY * _glCheckFramebufferStatus)(GLenum target)
#define qt_gl_getProcAddressARB(ctx, name)
#define glGetShaderSource
GLboolean(APIENTRY * _glIsFramebuffer)(GLuint framebuffer)
void(APIENTRY * _glDeleteFramebuffers)(GLsizei n, const GLuint *framebuffers)
void(APIENTRY * _glBindFramebuffer)(GLenum target, GLuint framebuffer)
#define glGetFramebufferAttachmentParameteriv
void(APIENTRY * _glShaderSource)(GLuint, GLsizei, const char **, const GLint *)
#define glFramebufferTextureFaceEXT
#define glGenRenderbuffers
void(APIENTRY * _glMultiTexCoord4f)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat)
void(APIENTRY * _glDeleteProgramsARB)(GLsizei, const GLuint *)
#define glBindAttribLocation
bool qt_resolve_framebufferobject_extensions(QGLContext *ctx)
void(APIENTRY * _glUniform4fv)(GLint, GLsizei, const GLfloat *)
#define glVertexAttribPointer
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
#define glVertexAttrib3fv
#define glVertexAttrib2fv
void * getProcAddress(const QString &proc) const
Returns a function pointer to the GL extension function passed in proc.
void(APIENTRY * _glUniform3fv)(GLint, GLsizei, const GLfloat *)
void(APIENTRY * _glGetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params)
#define glEnableVertexAttribArray
void(APIENTRY * _glAttachShader)(GLuint, GLuint)
#define glVertexAttrib1fv
void(APIENTRY * _glUseProgram)(GLuint)
void(APIENTRY * _glGetProgramBinaryOES)(GLuint, GLsizei, GLsizei *, GLenum *, void *)
#define glBindFramebuffer
void(APIENTRY * _glGetShaderSource)(GLuint, GLsizei, GLsizei *, char *)
Q_GUI_EXPORT QString extensions()
#define glRenderbufferStorageMultisampleEXT
void(APIENTRY * _glUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *)
#define glUniformMatrix3x2fv
#define glDeleteRenderbuffers
#define glGetAttribLocation
bool qt_resolve_glsl_extensions(QGLContext *ctx)
void(APIENTRY * _glBindAttribLocation)(GLuint, GLuint, const char *)
#define glFramebufferTextureLayerEXT
#define glVertexAttrib4fv
#define glGetBufferParameteriv
void(APIENTRY * _glVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *)
#define qt_gl_getProcAddressEXT(ctx, name)
bool qt_resolve_buffer_extensions(QGLContext *ctx)
void(APIENTRY * _glBindBuffer)(GLenum, GLuint)
void(APIENTRY * _glDetachShader)(GLuint, GLuint)
#define glBlitFramebufferEXT
void(APIENTRY * _glEGLImageTargetRenderbufferStorageOES)(GLenum, EGLImageKHR)
#define glUniformMatrix3fv
void(APIENTRY * _glEGLImageTargetTexture2DOES)(GLenum, EGLImageKHR)
void(APIENTRY * _glGetBufferParameteriv)(GLenum, GLenum, GLint *)
void(APIENTRY * _glBufferSubData)(GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *)
void(APIENTRY * _glGenProgramsARB)(GLsizei, GLuint *)
#define QT_BEGIN_NAMESPACE
This macro expands to.
void(APIENTRY * _glUniform1fv)(GLint, GLsizei, const GLfloat *)
void(APIENTRY * _glUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *)
void(APIENTRY * _glRenderbufferStorageMultisampleEXT)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
void(APIENTRY * _glUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *)
void(APIENTRY * _glLinkProgram)(GLuint)
The QGLContext class encapsulates an OpenGL rendering context.
void(APIENTRY * _glBindRenderbuffer)(GLenum target, GLuint renderbuffer)
#define glCheckFramebufferStatus
GLboolean(APIENTRY * _glIsShader)(GLuint)
#define glUniformMatrix2x3fv
void(APIENTRY * _glBufferData)(GLenum, GLsizeiptrARB, const GLvoid *, GLenum)
#define glDeleteFramebuffers
void(APIENTRY * _glRenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
void(APIENTRY * _glGenerateMipmap)(GLenum target)
void(APIENTRY * _glBlitFramebufferEXT)(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, GLbitfield mask, GLenum filter)
void(APIENTRY * _glFramebufferTextureFaceEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
bool qt_resolve_version_2_0_functions(QGLContext *ctx)
Q_CORE_EXPORT void qWarning(const char *,...)
#define glGenFramebuffers
void(APIENTRY * _glStencilOpSeparate)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal...
void(APIENTRY * _glFramebufferTextureEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level)
#define glGetBufferSubData
void(APIENTRY * _glBindProgramARB)(GLenum, GLuint)
void(APIENTRY * _glGenRenderbuffers)(GLsizei n, GLuint *renderbuffers)
void(APIENTRY * _glProgramStringARB)(GLenum, GLenum, GLsizei, const GLvoid *)
void(APIENTRY * _glGetBufferSubData)(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *)
void(APIENTRY * _glFramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
#define glGetShaderInfoLog
#define glUniformMatrix2x4fv
#define glUniformMatrix4x2fv
#define glGetRenderbufferParameteriv
void(APIENTRY * _glProgramParameteriEXT)(GLuint program, GLenum pname, GLint value)
void(APIENTRY * _glGetProgramiv)(GLuint, GLenum, GLint *)
#define glBindRenderbuffer
#define glActiveStencilFaceEXT
#define glProgramLocalParameter4fvARB
void(APIENTRY * _glUniform1iv)(GLint, GLsizei, const GLint *)
void(APIENTRY * _glDeleteProgram)(GLuint)
void(APIENTRY * _glVertexAttrib3fv)(GLuint, const GLfloat *)
GLboolean(APIENTRY * _glIsRenderbuffer)(GLuint renderbuffer)
#define glEGLImageTargetRenderbufferStorageOES
void(APIENTRY * _glShaderBinary)(GLint, const GLuint *, GLenum, const void *, GLint)
void(APIENTRY * _glGetShaderiv)(GLuint, GLenum, GLint *)
void(APIENTRY * _glVertexAttrib4fv)(GLuint, const GLfloat *)
#define glUniformMatrix3x4fv
GLboolean(APIENTRY * _glIsProgram)(GLuint)
void(APIENTRY * _glDeleteShader)(GLuint)
#define glDisableVertexAttribArray
void(APIENTRY * _glGenBuffers)(GLsizei, GLuint *)
#define glUniformMatrix4fv
#define glProgramParameteriEXT
void(APIENTRY * _glUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *)
void(APIENTRY * _glActiveTexture)(GLenum)
void(APIENTRY * _glCompileShader)(GLuint)
void(APIENTRY * _glGenFramebuffers)(GLsizei n, GLuint *framebuffers)
void(APIENTRY * _glDisableVertexAttribArray)(GLuint)
bool qt_resolve_eglimage_gl_extensions(QGLContext *ctx)
void(APIENTRY * _glVertexAttrib2fv)(GLuint, const GLfloat *)
void(APIENTRY * _glProgramBinaryOES)(GLuint, GLenum, const void *, GLint)
bool match(const char *str) const
#define glGetUniformLocation
void(APIENTRY * _glGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, char *)
static Extensions glExtensions()
void(APIENTRY * _glDeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers)
#define glFramebufferRenderbuffer
static void * qt_gl_getProcAddress_search(QGLContext *ctx, const char *name1, const char *name2, const char *name3, const char *name4)
void(APIENTRY * _glFramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
void(APIENTRY * _glGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, char *)
void(APIENTRY * _glDeleteBuffers)(GLsizei, const GLuint *)
void(APIENTRY * _glBlendColor)(GLclampf, GLclampf, GLclampf, GLclampf)
void(APIENTRY * _glUniform2fv)(GLint, GLsizei, const GLfloat *)
void(APIENTRY * _glEnableVertexAttribArray)(GLuint)
#define glFramebufferTexture2D
GLuint(APIENTRY * _glCreateProgram)()
bool qt_resolve_frag_program_extensions(QGLContext *ctx)
void(APIENTRY * _glVertexAttrib1fv)(GLuint, const GLfloat *)
void(APIENTRY * _glFramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
void(APIENTRY * _glUniform1i)(GLint, GLint)
#define glUniformMatrix4x3fv
#define glUniformMatrix2fv
void(APIENTRY * _glUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *)
bool qt_resolve_stencil_face_extension(QGLContext *ctx)
#define glProgramStringARB
static QGLExtensionFuncs & extensionFuncs(const QGLContext *ctx)
#define glRenderbufferStorage
#define glEGLImageTargetTexture2DOES
bool qt_bufferFuncsResolved
#define glGetProgramInfoLog
GLboolean(APIENTRY * _glUnmapBufferARB)(GLenum)
GLuint(APIENTRY * _glGetUniformLocation)(GLuint, const char *)