![]() |
Qt 6.x
The Qt SDK
|
#include "qopenglshaderprogram.h"
#include "qopenglextrafunctions.h"
#include "private/qopenglcontext_p.h"
#include <QtOpenGL/QOpenGLVersionFunctionsFactory>
#include <QtCore/private/qobject_p.h>
#include <QtCore/qdebug.h>
#include <QtCore/qfile.h>
#include <QtCore/qlist.h>
#include <QtCore/qloggingcategory.h>
#include <QtCore/qvarlengtharray.h>
#include <QtGui/private/qopenglprogrambinarycache_p.h>
#include <QtGui/qtransform.h>
#include <QtGui/QColor>
#include <QtGui/QSurfaceFormat>
#include <QtOpenGL/qopenglfunctions_4_0_core.h>
#include <algorithm>
#include <memory>
#include "moc_qopenglshaderprogram.cpp"
Go to the source code of this file.
Classes | |
class | QOpenGLShaderPrivate |
struct | QVersionDirectivePosition |
class | QOpenGLShaderProgramPrivate |
Macros | |
#define | GL_GEOMETRY_SHADER 0x8DD9 |
#define | GL_TESS_CONTROL_SHADER 0x8E88 |
#define | GL_TESS_EVALUATION_SHADER 0x8E87 |
#define | GL_COMPUTE_SHADER 0x91B9 |
#define | GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 |
#define | GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 |
#define | GL_PATCH_VERTICES 0x8E72 |
#define | GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 |
#define | GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 |
#define | setUniformMatrixArray(func, location, values, count, type, cols, rows) |
#define | setUniformGenericMatrixArray(colfunc, location, values, count, type, cols, rows) |
Functions | |
static bool | isFormatGLES (const QSurfaceFormat &f) |
static bool | supportsGeometry (const QSurfaceFormat &f) |
static bool | supportsCompute (const QSurfaceFormat &f) |
static bool | supportsTessellation (const QSurfaceFormat &f) |
static QVersionDirectivePosition | findVersionDirectivePosition (const char *source) |
static QShader::Stage | qt_shaderTypeToStage (QOpenGLShader::ShaderType type) |
static QOpenGLShader::ShaderType | qt_shaderStageToType (QShader::Stage stage) |
Variables | |
static const char | qualifierDefines [] |
static const char | blendEquationAdvancedHeader [] |
#define GL_COMPUTE_SHADER 0x91B9 |
Definition at line 159 of file qopenglshaderprogram.cpp.
#define GL_GEOMETRY_SHADER 0x8DD9 |
Definition at line 150 of file qopenglshaderprogram.cpp.
#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 |
Definition at line 162 of file qopenglshaderprogram.cpp.
#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 |
Definition at line 165 of file qopenglshaderprogram.cpp.
#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 |
Definition at line 174 of file qopenglshaderprogram.cpp.
#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 |
Definition at line 171 of file qopenglshaderprogram.cpp.
#define GL_PATCH_VERTICES 0x8E72 |
Definition at line 168 of file qopenglshaderprogram.cpp.
#define GL_TESS_CONTROL_SHADER 0x8E88 |
Definition at line 153 of file qopenglshaderprogram.cpp.
#define GL_TESS_EVALUATION_SHADER 0x8E87 |
Definition at line 156 of file qopenglshaderprogram.cpp.
Definition at line 3197 of file qopenglshaderprogram.cpp.
Definition at line 3181 of file qopenglshaderprogram.cpp.
|
static |
Definition at line 474 of file qopenglshaderprogram.cpp.
References Normal, Q_ASSERT, Q_FALLTHROUGH, and state.
Referenced by QOpenGLShader::compileSourceCode().
|
inlinestatic |
Definition at line 178 of file qopenglshaderprogram.cpp.
References QSurfaceFormat::OpenGLES.
Referenced by supportsCompute(), and supportsTessellation().
|
inlinestatic |
Definition at line 1063 of file qopenglshaderprogram.cpp.
References QOpenGLShader::Compute, QShader::ComputeStage, QOpenGLShader::Fragment, QShader::FragmentStage, QOpenGLShader::Geometry, QShader::GeometryStage, QOpenGLShader::TessellationControl, QShader::TessellationControlStage, QOpenGLShader::TessellationEvaluation, QShader::TessellationEvaluationStage, QOpenGLShader::Vertex, and QShader::VertexStage.
Referenced by QOpenGLShaderProgramPrivate::compileCacheable().
|
inlinestatic |
Definition at line 1044 of file qopenglshaderprogram.cpp.
References QOpenGLShader::Compute, QShader::ComputeStage, QOpenGLShader::Fragment, QShader::FragmentStage, QOpenGLShader::Geometry, QShader::GeometryStage, QOpenGLShader::TessellationControl, QShader::TessellationControlStage, QOpenGLShader::TessellationEvaluation, QShader::TessellationEvaluationStage, QOpenGLShader::Vertex, and QShader::VertexStage.
Referenced by QOpenGLShaderProgram::addCacheableShaderFromSourceCode(), and QOpenGLShaderProgram::addCacheableShaderFromSourceFile().
|
inlinestatic |
Definition at line 189 of file qopenglshaderprogram.cpp.
References isFormatGLES(), and qMakePair().
Referenced by QOpenGLShaderPrivate::QOpenGLShaderPrivate(), and QOpenGLShader::hasOpenGLShaders().
|
inlinestatic |
Definition at line 184 of file qopenglshaderprogram.cpp.
References qMakePair().
Referenced by QOpenGLShaderPrivate::QOpenGLShaderPrivate(), and QOpenGLShader::hasOpenGLShaders().
|
inlinestatic |
Definition at line 201 of file qopenglshaderprogram.cpp.
References isFormatGLES(), and qMakePair().
Referenced by QOpenGLShaderPrivate::QOpenGLShaderPrivate(), and QOpenGLShader::hasOpenGLShaders().
|
static |
Definition at line 451 of file qopenglshaderprogram.cpp.
Referenced by QOpenGLShader::compileSourceCode().
|
static |
Definition at line 435 of file qopenglshaderprogram.cpp.
Referenced by QOpenGLShader::compileSourceCode().