Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qopenglfunctions.cpp File Reference
#include "qopenglfunctions.h"
#include "qopenglextrafunctions.h"
#include "qopenglextensions_p.h"
#include "qdebug.h"
#include <QtGui/private/qopenglcontext_p.h>
#include <QtGui/private/qopengl_p.h>
#include <QtGui/private/qguiapplication_p.h>
#include <qpa/qplatformintegration.h>
#include <qpa/qplatformnativeinterface.h>
+ Include dependency graph for qopenglfunctions.cpp:

Go to the source code of this file.

Classes

struct  QOpenGLFunctionsPrivateEx
 

Macros

#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT   0x8DBA
 
#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args)   +1
 
#define QT_OPENGL_FUNCTION_NAMES(ret, name, args)    "gl"#name"\0"
 
#define QT_OPENGL_FLAGS(ret, name, args)    0,
 
#define QT_OPENGL_IMPLEMENT(CLASS, FUNCTIONS)
 
#define RESOLVE(name)    resolve(context, "gl"#name, name)
 

Functions

static QOpenGLFunctionsPrivateExqt_gl_functions (QOpenGLContext *context=nullptr)
 
static int qt_gl_resolve_features ()
 
static int qt_gl_resolve_extensions ()
 
static void QOPENGLF_APIENTRY qopenglfSpecialClearDepthf (GLclampf depth)
 
static void QOPENGLF_APIENTRY qopenglfSpecialDepthRangef (GLclampf zNear, GLclampf zFar)
 
static void QOPENGLF_APIENTRY qopenglfSpecialGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)
 
static GLboolean QOPENGLF_APIENTRY qopenglfSpecialIsProgram (GLuint program)
 
static GLboolean QOPENGLF_APIENTRY qopenglfSpecialIsShader (GLuint shader)
 
static void QOPENGLF_APIENTRY qopenglfSpecialReleaseShaderCompiler ()
 

Macro Definition Documentation

◆ GL_FRAMEBUFFER_SRGB_CAPABLE_EXT

#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT   0x8DBA

Definition at line 19 of file qopenglfunctions.cpp.

◆ QT_OPENGL_COUNT_FUNCTIONS

#define QT_OPENGL_COUNT_FUNCTIONS (   ret,
  name,
  args 
)    +1

Definition at line 26 of file qopenglfunctions.cpp.

◆ QT_OPENGL_FLAGS

#define QT_OPENGL_FLAGS (   ret,
  name,
  args 
)     0,

Definition at line 29 of file qopenglfunctions.cpp.

◆ QT_OPENGL_FUNCTION_NAMES

#define QT_OPENGL_FUNCTION_NAMES (   ret,
  name,
  args 
)     "gl"#name"\0"

Definition at line 27 of file qopenglfunctions.cpp.

◆ QT_OPENGL_IMPLEMENT

#define QT_OPENGL_IMPLEMENT (   CLASS,
  FUNCTIONS 
)
Value:
void CLASS::init(QOpenGLContext *context) \
{ \
const char *names = FUNCTIONS(QT_OPENGL_FUNCTION_NAMES); \
const char *name = names; \
for (int i = 0; i < FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS); ++i) { \
name += strlen(name) + 1; \
} \
}
\inmodule QtGui
static void * context
GLuint name
GLuint GLuint * names
const void * getProcAddress
#define QT_OPENGL_FUNCTION_NAMES(ret, name, args)
#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args)
QT_END_NAMESPACE typedef QT_PREPEND_NAMESPACE(quintptr) WId

Definition at line 31 of file qopenglfunctions.cpp.

◆ RESOLVE

#define RESOLVE (   name)     resolve(context, "gl"#name, name)

Definition at line 2109 of file qopenglfunctions.cpp.

Function Documentation

◆ qopenglfSpecialClearDepthf()

static void QOPENGLF_APIENTRY qopenglfSpecialClearDepthf ( GLclampf  depth)
static

Definition at line 2115 of file qopenglfunctions.cpp.

References context, QOpenGLContext::currentContext(), funcs, and qt_gl_functions().

Referenced by QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qopenglfSpecialDepthRangef()

static void QOPENGLF_APIENTRY qopenglfSpecialDepthRangef ( GLclampf  zNear,
GLclampf  zFar 
)
static

Definition at line 2122 of file qopenglfunctions.cpp.

References context, QOpenGLContext::currentContext(), funcs, and qt_gl_functions().

Referenced by QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qopenglfSpecialGetShaderPrecisionFormat()

static void QOPENGLF_APIENTRY qopenglfSpecialGetShaderPrecisionFormat ( GLenum  shadertype,
GLenum  precisiontype,
GLint range,
GLint precision 
)
static

Definition at line 2129 of file qopenglfunctions.cpp.

References Q_UNUSED.

Referenced by QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate().

+ Here is the caller graph for this function:

◆ qopenglfSpecialIsProgram()

static GLboolean QOPENGLF_APIENTRY qopenglfSpecialIsProgram ( GLuint  program)
static

Definition at line 2136 of file qopenglfunctions.cpp.

Referenced by QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate().

+ Here is the caller graph for this function:

◆ qopenglfSpecialIsShader()

static GLboolean QOPENGLF_APIENTRY qopenglfSpecialIsShader ( GLuint  shader)
static

Definition at line 2141 of file qopenglfunctions.cpp.

Referenced by QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate().

+ Here is the caller graph for this function:

◆ qopenglfSpecialReleaseShaderCompiler()

static void QOPENGLF_APIENTRY qopenglfSpecialReleaseShaderCompiler ( )
static

Definition at line 2146 of file qopenglfunctions.cpp.

Referenced by QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate().

+ Here is the caller graph for this function:

◆ qt_gl_functions()

static QOpenGLFunctionsPrivateEx * qt_gl_functions ( QOpenGLContext context = nullptr)
static

Definition at line 151 of file qopenglfunctions.cpp.

References context, QOpenGLContext::currentContext(), funcs, and Q_ASSERT.

Referenced by QOpenGLFunctions::QOpenGLFunctions(), QOpenGLFunctions::initializeOpenGLFunctions(), qopenglfSpecialClearDepthf(), and qopenglfSpecialDepthRangef().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qt_gl_resolve_extensions()

static int qt_gl_resolve_extensions ( )
static

Definition at line 314 of file qopenglfunctions.cpp.

References QOpenGLExtensions::ASTCTextureCompression, QOpenGLExtensions::BGRATextureFormat, Qt::CaseInsensitive, QString::compare(), QOpenGLContext::currentContext(), QOpenGLExtensions::DDSTextureCompression, QOpenGLExtensions::Depth24, QOpenGLExtensions::DiscardFramebuffer, QOpenGLExtensions::ElementIndexUint, QOpenGLExtensions::ETC1TextureCompression, QOpenGLExtensions::ETC2TextureCompression, QOpenGLExtensions::FramebufferBlit, QOpenGLExtensions::FramebufferMultisample, QOpenGLExtensions::GenerateMipmap, QOpenGLExtensions::GeometryShaders, GL_FRAMEBUFFER_SRGB_CAPABLE_EXT, GLboolean(), QOpenGLExtensions::HalfFloatVertex, QOpenGLExtensions::MapBuffer, QOpenGLExtensions::MapBufferRange, QOpenGLExtensionMatcher::match(), QOpenGLExtensions::MirroredRepeat, QOpenGLExtensions::MultiView, QOpenGLExtensions::MultiViewExtended, QPlatformNativeInterface::nativeResourceForIntegration(), QOpenGLExtensions::NVFloatBuffer, QOpenGLExtensions::PackedDepthStencil, QOpenGLExtensions::PixelBufferObject, QGuiApplication::platformNativeInterface(), QOpenGLExtensions::PVRTCTextureCompression, qMakePair(), QOpenGLExtensions::Sized16Formats, QOpenGLExtensions::Sized8Formats, QOpenGLExtensions::SRGBFrameBuffer, QOpenGLExtensions::StandardDerivatives, QOpenGLExtensions::StencilTwoSide, QOpenGLExtensions::StencilWrap, QOpenGLExtensions::TextureCompression, QOpenGLExtensions::TextureRectangle, and QOpenGLExtensions::TextureSwizzle.

Referenced by QOpenGLExtensions::hasOpenGLExtension(), and QOpenGLExtensions::openGLExtensions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qt_gl_resolve_features()