Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qopenglfunctions.cpp File Reference

(8cc8bbb466fb871585bfa1d5c56fc8bc6d6c8a96)

#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.

Referenced by qt_gl_resolve_extensions().

◆ 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) { \
functions[i] = QT_PREPEND_NAMESPACE(getProcAddress(context, name)); \
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)

Definition at line 31 of file qopenglfunctions.cpp.

◆ RESOLVE

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

Function Documentation

◆ qopenglfSpecialClearDepthf()

static void QOPENGLF_APIENTRY qopenglfSpecialClearDepthf ( GLclampf depth)
static

Definition at line 2119 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 2126 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 2133 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 2140 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 2145 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 2150 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, QOpenGLExtensions::MirroredRepeat, QOpenGLExtensions::MultiView, QOpenGLExtensions::MultiViewExtended, 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()