d_ptr->ref.ref();
}
-#define ctx QOpenGLContext::currentContext();
-
/*!
Destroys this buffer object, including the storage being
used in the GL server.
d->usagePattern = d->actualUsagePattern = value;
}
-#undef ctx
-
namespace {
void freeBufferFunc(QOpenGLFunctions *funcs, GLuint id)
{
return false;
}
-#define ctx QOpenGLContext::currentContext()
-
/*!
Returns true if this buffer has been created; false otherwise.
d->funcs->glBindBuffer(d->type, 0);
}
-#undef ctx
-
/*!
Releases the buffer associated with \a type in the current
QOpenGLContext.
void QOpenGLBuffer::release(QOpenGLBuffer::Type type)
{
QOpenGLContext *ctx = QOpenGLContext::currentContext();
- if (ctx) {
- QOpenGLFunctions(ctx).glBindBuffer(GLenum(type), 0);
- }
+ if (ctx)
+ ctx->functions()->glBindBuffer(GLenum(type), 0);
}
-#define ctx QOpenGLContext::currentContext()
-
/*!
Returns the GL identifier associated with this buffer; zero if
the buffer has not been created.
return d->guard ? d->guard->id() : 0;
}
-#ifndef GL_BUFFER_SIZE
-#define GL_BUFFER_SIZE 0x8764
-#endif
-
/*!
Returns the size of the data in this buffer, for reading operations.
Returns -1 if fetching the buffer size is not supported, or the
QT_BEGIN_NAMESPACE
-#define QOPENGL_FUNC_CONTEXT QOpenGLContext *ctx = QOpenGLContext::currentContext();
-#define QOPENGL_FUNCP_CONTEXT QOpenGLContext *ctx = QOpenGLContext::currentContext();
-
#ifndef QT_NO_DEBUG
#define QT_RESET_GLERROR() \
{ \
bool QOpenGLFramebufferObjectPrivate::checkFramebufferStatus() const
{
- QOPENGL_FUNCP_CONTEXT;
+ QOpenGLContext *ctx = QOpenGLContext::currentContext();
if (!ctx)
return false; // Context no longer exists.
- GLenum status = QOpenGLFunctions(ctx).glCheckFramebufferStatus(GL_FRAMEBUFFER);
+ GLenum status = ctx->functions()->glCheckFramebufferStatus(GL_FRAMEBUFFER);
switch(status) {
case GL_NO_ERROR:
case GL_FRAMEBUFFER_COMPLETE:
case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS:
qDebug("QOpenGLFramebufferObject: Framebuffer incomplete, attached images must have same dimensions.");
break;
-#if 1
case GL_FRAMEBUFFER_INCOMPLETE_FORMATS:
qDebug("QOpenGLFramebufferObject: Framebuffer incomplete, attached images must have same format.");
break;
case GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:
qDebug("QOpenGLFramebufferObject: Framebuffer incomplete, attachments must have same number of samples per pixel.");
break;
-#endif
default:
qDebug() <<"QOpenGLFramebufferObject: An undefined error has occurred: "<< status;
break;
if (!isValid())
return false;
Q_D(QOpenGLFramebufferObject);
- QOPENGL_FUNC_CONTEXT;
- if (!ctx)
- return false; // Context no longer exists.
QOpenGLContext *current = QOpenGLContext::currentContext();
+ if (!current)
+ return false;
#ifdef QT_DEBUG
- if (!current || current->shareGroup() != d->fbo_guard->group())
+ if (current->shareGroup() != d->fbo_guard->group())
qWarning("QOpenGLFramebufferObject::bind() called from incompatible context");
#endif
d->funcs.glBindFramebuffer(GL_FRAMEBUFFER, d->fbo());
{
if (!isValid())
return false;
- QOPENGL_FUNC_CONTEXT;
- if (!ctx)
- return false; // Context no longer exists.
QOpenGLContext *current = QOpenGLContext::currentContext();
+ if (!current)
+ return false;
#ifdef QT_DEBUG
Q_D(QOpenGLFramebufferObject);
- if (!current || current->shareGroup() != d->fbo_guard->group())
+ if (current->shareGroup() != d->fbo_guard->group())
qWarning("QOpenGLFramebufferObject::release() called from incompatible context");
#endif
Language (GLSL), based on the GL_EXT_geometry_shader4 extension.
*/
-#ifndef GL_FRAGMENT_SHADER
-#define GL_FRAGMENT_SHADER 0x8B30
-#endif
-#ifndef GL_VERTEX_SHADER
-#define GL_VERTEX_SHADER 0x8B31
-#endif
-#ifndef GL_COMPILE_STATUS
-#define GL_COMPILE_STATUS 0x8B81
-#endif
-#ifndef GL_LINK_STATUS
-#define GL_LINK_STATUS 0x8B82
-#endif
-#ifndef GL_INFO_LOG_LENGTH
-#define GL_INFO_LOG_LENGTH 0x8B84
-#endif
-#ifndef GL_ACTIVE_UNIFORMS
-#define GL_ACTIVE_UNIFORMS 0x8B86
-#endif
-#ifndef GL_ACTIVE_UNIFORM_MAX_LENGTH
-#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
-#endif
-#ifndef GL_ACTIVE_ATTRIBUTES
-#define GL_ACTIVE_ATTRIBUTES 0x8B89
-#endif
-#ifndef GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
-#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
-#endif
-#ifndef GL_CURRENT_VERTEX_ATTRIB
-#define GL_CURRENT_VERTEX_ATTRIB 0x8626
-#endif
-#ifndef GL_SHADER_SOURCE_LENGTH
-#define GL_SHADER_SOURCE_LENGTH 0x8B88
-#endif
-#ifndef GL_SHADER_BINARY_FORMATS
-#define GL_SHADER_BINARY_FORMATS 0x8DF8
-#endif
-#ifndef GL_NUM_SHADER_BINARY_FORMATS
-#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
-#endif
-
class QOpenGLShaderPrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QOpenGLShader)
setUniformValueArray(uniformLocation(name), values, count);
}
-#undef ctx
-
/*!
Returns the hardware limit for how many vertices a geometry shader
can output.
removeShader(shader);
}
-
-#undef ctx
-#undef context
-
/*!
Returns true if shader programs of type \a type are supported on
this system; false otherwise.