4#ifndef QOPENGLTEXTUREHELPER_P_H
5#define QOPENGLTEXTUREHELPER_P_H
18#include <QtOpenGL/qtopenglglobal.h>
19#include <QtCore/private/qglobal_p.h>
31#ifndef GL_TEXTURE_BASE_LEVEL
32#define GL_TEXTURE_BASE_LEVEL 0x813C
34#ifndef GL_TEXTURE_MAX_LEVEL
35#define GL_TEXTURE_MAX_LEVEL 0x813D
37#ifndef GL_TEXTURE_COMPARE_MODE
38#define GL_TEXTURE_COMPARE_MODE 0x884C
40#ifndef GL_TEXTURE_COMPARE_FUNC
41#define GL_TEXTURE_COMPARE_FUNC 0x884D
45#if !defined(Q_OS_ANDROID) || !defined(__clang__)
48#elif !defined(GL_APICALL)
82 (this->*GenerateTextureMipmap)(
texture,
target, bindingTarget);
118 (this->*TextureImage3D)(
texture,
target, bindingTarget,
level,
internalFormat,
width,
height,
depth,
border,
format,
type,
pixels);
124 (this->*TextureImage2D)(
texture,
target, bindingTarget,
level,
internalFormat,
width,
height,
border,
format,
type,
pixels);
140 (this->*TextureSubImage3D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
type,
pixels);
143 (this->*TextureSubImage3D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
type,
pixels);
154 (this->*TextureSubImage2D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
width,
height,
format,
type,
pixels);
157 (this->*TextureSubImage2D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
width,
height,
format,
type,
pixels);
211 (this->*CompressedTextureSubImage2D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
width,
height,
format,
imageSize,
bits);
214 (this->*CompressedTextureSubImage2D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
width,
height,
format,
imageSize,
bits);
227 (this->*CompressedTextureSubImage3D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
imageSize,
bits);
230 (this->*CompressedTextureSubImage3D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
imageSize,
bits);
273 (this->*CompressedTextureImage3D)(
texture,
target, bindingTarget,
level,
internalFormat,
width,
height,
depth,
border,
imageSize,
bits);
276 (this->*CompressedTextureImage3D)(
texture,
target, bindingTarget,
level,
internalFormat,
width,
height,
depth,
border,
imageSize,
bits);
476 TexSubImage3D(
target,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
type,
pixels);
500 CompressedTexSubImage3D(
target,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
imageSize,
data);
596#if !QT_CONFIG(opengles2)
619#if !QT_CONFIG(opengles2)
645 typedef void (
QOpenGLTextureHelper::*TextureImage3DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border,
GLenum format,
GLenum type, const GLvoid *
pixels);
646 typedef void (
QOpenGLTextureHelper::*TextureImage2DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLint border,
GLenum format,
GLenum type, const GLvoid *
pixels);
648 typedef void (
QOpenGLTextureHelper::*TextureSubImage3DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLenum type, const GLvoid *
pixels);
649 typedef void (
QOpenGLTextureHelper::*TextureSubImage2DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type, const GLvoid *
pixels);
654 typedef void (
QOpenGLTextureHelper::*CompressedTextureSubImage2DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLsizei imageSize, const GLvoid *
bits);
655 typedef void (
QOpenGLTextureHelper::*CompressedTextureSubImage3DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLsizei imageSize, const GLvoid *
bits);
658 typedef void (
QOpenGLTextureHelper::*CompressedTextureImage3DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border,
GLsizei imageSize, const GLvoid *
bits);
661 TextureParameteriMemberFunc TextureParameteri;
662 TextureParameterivMemberFunc TextureParameteriv;
663 TextureParameterfMemberFunc TextureParameterf;
664 TextureParameterfvMemberFunc TextureParameterfv;
665 GenerateTextureMipmapMemberFunc GenerateTextureMipmap;
666 TextureStorage3DMemberFunc TextureStorage3D;
667 TextureStorage2DMemberFunc TextureStorage2D;
668 TextureStorage1DMemberFunc TextureStorage1D;
669 TextureStorage3DMultisampleMemberFunc TextureStorage3DMultisample;
670 TextureStorage2DMultisampleMemberFunc TextureStorage2DMultisample;
671 TextureImage3DMemberFunc TextureImage3D;
672 TextureImage2DMemberFunc TextureImage2D;
673 TextureImage1DMemberFunc TextureImage1D;
674 TextureSubImage3DMemberFunc TextureSubImage3D;
675 TextureSubImage2DMemberFunc TextureSubImage2D;
676 TextureSubImage1DMemberFunc TextureSubImage1D;
677 TextureImage3DMultisampleMemberFunc TextureImage3DMultisample;
678 TextureImage2DMultisampleMemberFunc TextureImage2DMultisample;
679 CompressedTextureSubImage1DMemberFunc CompressedTextureSubImage1D;
680 CompressedTextureSubImage2DMemberFunc CompressedTextureSubImage2D;
681 CompressedTextureSubImage3DMemberFunc CompressedTextureSubImage3D;
682 CompressedTextureImage1DMemberFunc CompressedTextureImage1D;
683 CompressedTextureImage2DMemberFunc CompressedTextureImage2D;
684 CompressedTextureImage3DMemberFunc CompressedTextureImage3D;
699 void (
QOPENGLF_APIENTRYP TextureImage3DEXT)(
GLuint texture,
GLenum target,
GLint level,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border,
GLenum format,
GLenum type,
const GLvoid *
pixels);
702 void (
QOPENGLF_APIENTRYP TextureSubImage3DEXT)(
GLuint texture,
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLenum type,
const GLvoid *
pixels);
707 void (
QOPENGLF_APIENTRYP CompressedTextureSubImage3DEXT)(
GLuint texture,
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLsizei imageSize,
const GLvoid *
bits);
725 void (
QOPENGLF_APIENTRYP TexSubImage3D)(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLenum type,
const GLvoid *
pixels);
731 void (
QOPENGLF_APIENTRYP CompressedTexSubImage3D)(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLsizei imageSize,
const GLvoid *
data);
758#undef Q_CALL_MEMBER_FUNCTION
The QOpenGLFunctions class provides cross-platform access to the OpenGL ES 2.0 API.
void glPixelStorei(GLenum pname, GLint param)
Convenience function that calls glPixelStorei(pname, param).
void glGetBooleanv(GLenum pname, GLboolean *params)
Convenience function that calls glGetBooleanv(pname, params).
void glGetIntegerv(GLenum pname, GLint *params)
Convenience function that calls glGetIntegerv(pname, params).
void setSkipPixels(int skipPixels)
Sets the number of pixels that are skipped to skipPixels.
bool isLeastSignificantBitFirst() const
void setRowLength(int rowLength)
Sets the number of pixels in a row to rowLength.
void setImageHeight(int imageHeight)
Sets the image height for 3D textures to imageHeight.
void setSwapBytesEnabled(bool swapBytes)
swapBytes specifies if the byte ordering for multibyte components is reversed.
void setSkipRows(int skipRows)
Sets the number of rows that are skipped to skipRows.
bool isSwapBytesEnabled() const
void setLeastSignificantByteFirst(bool lsbFirst)
lsbFirst specifies if bits within a byte are ordered from least to most significat.
void setAlignment(int alignment)
Sets the alignment requirements for each pixel row.
void setSkipImages(int skipImages)
Sets the number of images that are skipped to skipImages.
void glTextureStorage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height)
void glTextureView(GLuint texture, GLenum target, GLuint origTexture, GLenum internalFormat, GLuint minLevel, GLuint numLevels, GLuint minLayer, GLuint numLayers)
void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations)
void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width)
void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
void glTexImage3D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth)
void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
void glCompressedTextureImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations)
void setPixelUploadOptions(const QOpenGLPixelTransferOptions &options)
QOpenGLFunctions * functions
void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
void glTextureStorage3DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations)
void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
void glTextureImage2DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations)
void glActiveTexture(GLenum texture)
void glTextureParameterfv(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, const GLfloat *params)
void glTextureStorage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei levels, GLenum internalFormat, GLsizei width)
void glTextureParameteriv(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, const GLint *params)
QOpenGLPixelTransferOptions savePixelUploadOptions()
void glTextureImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void glTextureImage3DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations)
void glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations)
void glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations)
void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img)
void glGenerateTextureMipmap(GLuint texture, GLenum target, GLenum bindingTarget)
void glTexImage1D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void glTextureStorage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth)
void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
void glGenerateMipmap(GLenum target)
void glTextureImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height)
void glCompressedTextureImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glCompressedTextureSubImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTextureSubImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTextureParameterf(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, GLfloat param)
void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
void glCompressedTextureSubImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTextureImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void glTextureSubImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels, const QOpenGLPixelTransferOptions *const options=nullptr)
void glCompressedTextureImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTextureStorage2DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations)
void glCompressedTextureSubImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTextureParameteri(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, GLint param)
void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
void glTextureSubImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTexBufferRange(GLenum target, GLenum internalFormat, GLuint buffer, GLintptr offset, GLsizeiptr size)
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
#define QOPENGLF_APIENTRYP
GLenum GLuint GLenum GLuint GLuint GLuint GLuint numlayers
GLboolean GLboolean GLboolean b
typedef GLint(GL_APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC)(GLuint program
GLint GLenum GLsizei GLsizei GLsizei depth
typedef GLfloat(GL_APIENTRYP PFNGLGETPATHLENGTHNVPROC)(GLuint path
GLenum GLuint GLint level
GLint GLsizei GLsizei height
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLuint origtexture
GLenum GLuint GLenum GLuint GLuint GLuint minlayer
GLsizei GLenum GLsizei GLsizei GLboolean fixedSampleLocations
GLint GLenum GLsizei GLsizei GLsizei GLint border
GLint GLint GLint yoffset
GLint GLint GLint GLint zoffset
typedef GLsizei(GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC)(GLuint target)
GLenum GLuint GLenum GLuint GLuint numlevels
typedef GLenum(GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSKHRPROC)(void)
GLint GLenum internalformat
GLenum GLuint GLenum GLuint minlevel
typedef GLboolean(GL_APIENTRYP PFNGLISENABLEDIOESPROC)(GLenum target
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum const GLint * param
GLenum GLuint GLintptr offset
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum const void * pixels
GLint GLsizei GLsizei GLenum format
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei imageSize
GLsizei GLenum internalFormat
#define GL_UNPACK_SKIP_IMAGES
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const void * bits
#define GL_UNPACK_IMAGE_HEIGHT