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
QOpenGLEngineSharedShaders Class Reference

#include <qopenglengineshadermanager_p.h>

+ Collaboration diagram for QOpenGLEngineSharedShaders:

Public Types

enum  SnippetName {
  MainVertexShader , MainWithTexCoordsVertexShader , MainWithTexCoordsAndOpacityVertexShader , UntransformedPositionVertexShader ,
  PositionOnlyVertexShader , ComplexGeometryPositionOnlyVertexShader , PositionWithPatternBrushVertexShader , PositionWithLinearGradientBrushVertexShader ,
  PositionWithConicalGradientBrushVertexShader , PositionWithRadialGradientBrushVertexShader , PositionWithTextureBrushVertexShader , AffinePositionWithPatternBrushVertexShader ,
  AffinePositionWithLinearGradientBrushVertexShader , AffinePositionWithConicalGradientBrushVertexShader , AffinePositionWithRadialGradientBrushVertexShader , AffinePositionWithTextureBrushVertexShader ,
  MainFragmentShader_MO , MainFragmentShader_M , MainFragmentShader_O , MainFragmentShader ,
  MainFragmentShader_ImageArrays , ImageSrcFragmentShader , ImageSrcWithPatternFragmentShader , NonPremultipliedImageSrcFragmentShader ,
  GrayscaleImageSrcFragmentShader , AlphaImageSrcFragmentShader , CustomImageSrcFragmentShader , SolidBrushSrcFragmentShader ,
  TextureBrushSrcFragmentShader , TextureBrushSrcWithPatternFragmentShader , PatternBrushSrcFragmentShader , LinearGradientBrushSrcFragmentShader ,
  RadialGradientBrushSrcFragmentShader , ConicalGradientBrushSrcFragmentShader , ShockingPinkSrcFragmentShader , NoMaskFragmentShader ,
  MaskFragmentShader , RgbMaskFragmentShaderPass1 , RgbMaskFragmentShaderPass2 , RgbMaskWithGammaFragmentShader ,
  NoCompositionModeFragmentShader , MultiplyCompositionModeFragmentShader , ScreenCompositionModeFragmentShader , OverlayCompositionModeFragmentShader ,
  DarkenCompositionModeFragmentShader , LightenCompositionModeFragmentShader , ColorDodgeCompositionModeFragmentShader , ColorBurnCompositionModeFragmentShader ,
  HardLightCompositionModeFragmentShader , SoftLightCompositionModeFragmentShader , DifferenceCompositionModeFragmentShader , ExclusionCompositionModeFragmentShader ,
  TotalSnippetCount , InvalidSnippetName
}
 

Public Member Functions

 QOpenGLEngineSharedShaders (QOpenGLContext *context)
 
 ~QOpenGLEngineSharedShaders ()
 
QOpenGLShaderProgramsimpleProgram ()
 
QOpenGLShaderProgramblitProgram ()
 
QOpenGLEngineShaderProgfindProgramInCache (const QOpenGLEngineShaderProg &prog)
 
void cleanupCustomStage (QOpenGLCustomShaderStage *stage)
 

Static Public Member Functions

static QOpenGLEngineSharedShadersshadersForContext (QOpenGLContext *context)
 

Detailed Description

Definition at line 221 of file qopenglengineshadermanager_p.h.

Member Enumeration Documentation

◆ SnippetName

Enumerator
MainVertexShader 
MainWithTexCoordsVertexShader 
MainWithTexCoordsAndOpacityVertexShader 
UntransformedPositionVertexShader 
PositionOnlyVertexShader 
ComplexGeometryPositionOnlyVertexShader 
PositionWithPatternBrushVertexShader 
PositionWithLinearGradientBrushVertexShader 
PositionWithConicalGradientBrushVertexShader 
PositionWithRadialGradientBrushVertexShader 
PositionWithTextureBrushVertexShader 
AffinePositionWithPatternBrushVertexShader 
AffinePositionWithLinearGradientBrushVertexShader 
AffinePositionWithConicalGradientBrushVertexShader 
AffinePositionWithRadialGradientBrushVertexShader 
AffinePositionWithTextureBrushVertexShader 
MainFragmentShader_MO 
MainFragmentShader_M 
MainFragmentShader_O 
MainFragmentShader 
MainFragmentShader_ImageArrays 
ImageSrcFragmentShader 
ImageSrcWithPatternFragmentShader 
NonPremultipliedImageSrcFragmentShader 
GrayscaleImageSrcFragmentShader 
AlphaImageSrcFragmentShader 
CustomImageSrcFragmentShader 
SolidBrushSrcFragmentShader 
TextureBrushSrcFragmentShader 
TextureBrushSrcWithPatternFragmentShader 
PatternBrushSrcFragmentShader 
LinearGradientBrushSrcFragmentShader 
RadialGradientBrushSrcFragmentShader 
ConicalGradientBrushSrcFragmentShader 
ShockingPinkSrcFragmentShader 
NoMaskFragmentShader 
MaskFragmentShader 
RgbMaskFragmentShaderPass1 
RgbMaskFragmentShaderPass2 
RgbMaskWithGammaFragmentShader 
NoCompositionModeFragmentShader 
MultiplyCompositionModeFragmentShader 
ScreenCompositionModeFragmentShader 
OverlayCompositionModeFragmentShader 
DarkenCompositionModeFragmentShader 
LightenCompositionModeFragmentShader 
ColorDodgeCompositionModeFragmentShader 
ColorBurnCompositionModeFragmentShader 
HardLightCompositionModeFragmentShader 
SoftLightCompositionModeFragmentShader 
DifferenceCompositionModeFragmentShader 
ExclusionCompositionModeFragmentShader 
TotalSnippetCount 
InvalidSnippetName 

Definition at line 226 of file qopenglengineshadermanager_p.h.

Constructor & Destructor Documentation

◆ QOpenGLEngineSharedShaders()

QOpenGLEngineSharedShaders::QOpenGLEngineSharedShaders ( QOpenGLContext * context)

Definition at line 83 of file qopenglengineshadermanager.cpp.

References QOpenGLShaderProgram::addCacheableShaderFromSourceCode(), AffinePositionWithConicalGradientBrushVertexShader, AffinePositionWithLinearGradientBrushVertexShader, AffinePositionWithPatternBrushVertexShader, AffinePositionWithRadialGradientBrushVertexShader, AffinePositionWithTextureBrushVertexShader, AlphaImageSrcFragmentShader, QByteArray::append(), QOpenGLShaderProgram::bindAttributeLocation(), ColorBurnCompositionModeFragmentShader, ColorDodgeCompositionModeFragmentShader, ComplexGeometryPositionOnlyVertexShader, ConicalGradientBrushSrcFragmentShader, context, QSurfaceFormat::CoreProfile, QThread::currentThread(), CustomImageSrcFragmentShader, DarkenCompositionModeFragmentShader, DifferenceCompositionModeFragmentShader, ExclusionCompositionModeFragmentShader, fmt, QOpenGLShader::Fragment, GrayscaleImageSrcFragmentShader, HardLightCompositionModeFragmentShader, i, ImageSrcFragmentShader, ImageSrcWithPatternFragmentShader, isCoreProfile(), QOpenGLShaderProgram::isLinked(), LightenCompositionModeFragmentShader, LinearGradientBrushSrcFragmentShader, QOpenGLShaderProgram::link(), QOpenGLShaderProgram::log(), MainFragmentShader, MainFragmentShader_ImageArrays, MainFragmentShader_M, MainFragmentShader_MO, MainFragmentShader_O, MainVertexShader, MainWithTexCoordsAndOpacityVertexShader, MainWithTexCoordsVertexShader, MaskFragmentShader, MultiplyCompositionModeFragmentShader, NoCompositionModeFragmentShader, NoMaskFragmentShader, NonPremultipliedImageSrcFragmentShader, OverlayCompositionModeFragmentShader, PatternBrushSrcFragmentShader, PositionOnlyVertexShader, PositionWithConicalGradientBrushVertexShader, PositionWithLinearGradientBrushVertexShader, PositionWithPatternBrushVertexShader, PositionWithRadialGradientBrushVertexShader, PositionWithTextureBrushVertexShader, Q_UNLIKELY, qCritical, qDebug, qFatal, qMakePair(), qopenglslAffinePositionWithConicalGradientBrushVertexShader, qopenglslAffinePositionWithLinearGradientBrushVertexShader, qopenglslAffinePositionWithPatternBrushVertexShader, qopenglslAffinePositionWithRadialGradientBrushVertexShader, qopenglslAffinePositionWithTextureBrushVertexShader, qopenglslAlphaImageSrcFragmentShader, qopenglslComplexGeometryPositionOnlyVertexShader, qopenglslConicalGradientBrushSrcFragmentShader, qopenglslCustomSrcFragmentShader, qopenglslGrayscaleImageSrcFragmentShader, qopenglslImageSrcFragmentShader, qopenglslImageSrcWithPatternFragmentShader, qopenglslLinearGradientBrushSrcFragmentShader, qopenglslMainFragmentShader, qopenglslMainFragmentShader_ImageArrays, qopenglslMainFragmentShader_M, qopenglslMainFragmentShader_MO, qopenglslMainFragmentShader_O, qopenglslMainVertexShader, qopenglslMainWithTexCoordsAndOpacityVertexShader, qopenglslMainWithTexCoordsVertexShader, qopenglslMaskFragmentShader, qopenglslNonPremultipliedImageSrcFragmentShader, qopenglslPatternBrushSrcFragmentShader, qopenglslPositionOnlyVertexShader, qopenglslPositionWithConicalGradientBrushVertexShader, qopenglslPositionWithLinearGradientBrushVertexShader, qopenglslPositionWithPatternBrushVertexShader, qopenglslPositionWithTextureBrushVertexShader, qopenglslRadialGradientBrushSrcFragmentShader, qopenglslRgbMaskFragmentShaderPass1, qopenglslRgbMaskFragmentShaderPass2, qopenglslShockingPinkSrcFragmentShader, qopenglslSolidBrushSrcFragmentShader, qopenglslTextureBrushSrcFragmentShader, qopenglslTextureBrushSrcWithPatternFragmentShader, qopenglslUntransformedPositionVertexShader, qPrintable, QT_PMV_MATRIX_1_ATTR, QT_PMV_MATRIX_2_ATTR, QT_PMV_MATRIX_3_ATTR, QT_TEXTURE_COORDS_ATTR, QT_VERTEX_COORDS_ATTR, qWarning, RadialGradientBrushSrcFragmentShader, RgbMaskFragmentShaderPass1, RgbMaskFragmentShaderPass2, RgbMaskWithGammaFragmentShader, ScreenCompositionModeFragmentShader, ShockingPinkSrcFragmentShader, SoftLightCompositionModeFragmentShader, SolidBrushSrcFragmentShader, TextureBrushSrcFragmentShader, TextureBrushSrcWithPatternFragmentShader, TotalSnippetCount, UntransformedPositionVertexShader, and QOpenGLShader::Vertex.

+ Here is the call graph for this function:

◆ ~QOpenGLEngineSharedShaders()

QOpenGLEngineSharedShaders::~QOpenGLEngineSharedShaders ( )

Definition at line 299 of file qopenglengineshadermanager.cpp.

References QList< T >::clear(), QThread::currentThread(), qDebug, and qDeleteAll().

+ Here is the call graph for this function:

Member Function Documentation

◆ blitProgram()

QOpenGLShaderProgram * QOpenGLEngineSharedShaders::blitProgram ( )
inline

Definition at line 311 of file qopenglengineshadermanager_p.h.

Referenced by QOpenGLEngineShaderManager::blitProgram(), and QOpenGLEngineShaderManager::useBlitProgram().

+ Here is the caller graph for this function:

◆ cleanupCustomStage()

void QOpenGLEngineSharedShaders::cleanupCustomStage ( QOpenGLCustomShaderStage * stage)

Definition at line 450 of file qopenglengineshadermanager.cpp.

References QList< T >::removeIf(), and QOpenGLCustomShaderStage::source().

+ Here is the call graph for this function:

◆ findProgramInCache()

QOpenGLEngineShaderProg * QOpenGLEngineSharedShaders::findProgramInCache ( const QOpenGLEngineShaderProg & prog)

Definition at line 328 of file qopenglengineshadermanager.cpp.

References QByteArray::append(), QByteArray::constData(), QOpenGLContext::currentContext(), CustomImageSrcFragmentShader, QOpenGLShader::Fragment, GLuint, i, QList< T >::insert(), QList< T >::last(), CachedShader::load(), QList< T >::move(), NoMaskFragmentShader, QT_MASK_TEXTURE_UNIT, QT_OPACITY_ATTR, QT_PMV_MATRIX_1_ATTR, QT_PMV_MATRIX_2_ATTR, QT_PMV_MATRIX_3_ATTR, QT_TEXTURE_COORDS_ATTR, QT_VERTEX_COORDS_ATTR, qUtf16Printable, qWarning, QList< T >::removeLast(), QList< T >::size(), CachedShader::store(), and QOpenGLShader::Vertex.

Referenced by QOpenGLEngineShaderManager::useCorrectShaderProg().

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

◆ shadersForContext()

QOpenGLEngineSharedShaders * QOpenGLEngineSharedShaders::shadersForContext ( QOpenGLContext * context)
static

Definition at line 71 of file qopenglengineshadermanager.cpp.

References context.

Referenced by QOpenGLEngineShaderManager::QOpenGLEngineShaderManager().

+ Here is the caller graph for this function:

◆ simpleProgram()

QOpenGLShaderProgram * QOpenGLEngineSharedShaders::simpleProgram ( )
inline

Definition at line 310 of file qopenglengineshadermanager_p.h.

Referenced by QOpenGLEngineShaderManager::currentProgram(), QOpenGLEngineShaderManager::simpleProgram(), and QOpenGLEngineShaderManager::useSimpleProgram().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: