Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QSGMaterialShaderPrivate Class Reference

#include <qsgmaterialshader_p.h>

Collaboration diagram for QSGMaterialShaderPrivate:

Classes

struct  ShaderStageData

Public Member Functions

 QSGMaterialShaderPrivate (QSGMaterialShader *q)
void clearCachedRendererData ()
void prepare (QShader::Variant vertexShaderVariant)
QShader shader (QShader::Stage stage) const

Static Public Member Functions

static QSGMaterialShaderPrivateget (QSGMaterialShader *s)
static const QSGMaterialShaderPrivateget (const QSGMaterialShader *s)
static QShader loadShader (const QString &filename)

Public Attributes

QSGMaterialShaderq_ptr
QHash< QShader::Stage, QStringshaderFileNames
QSGMaterialShader::Flags flags
QHash< QShader::Stage, ShaderStageDatashaders
int ubufBinding = -1
int ubufSize = 0
QRhiShaderResourceBinding::StageFlags ubufStages
QRhiShaderResourceBinding::StageFlags combinedImageSamplerBindings [MAX_SHADER_RESOURCE_BINDINGS]
int combinedImageSamplerCount [MAX_SHADER_RESOURCE_BINDINGS]
ShaderStageDatavertexShader = nullptr
ShaderStageDatafragmentShader = nullptr
QByteArray masterUniformData
QVarLengthArray< QSGTexture *, 4 > textureBindingTable [MAX_SHADER_RESOURCE_BINDINGS]
QVarLengthArray< QRhiSampler *, 4 > samplerBindingTable [MAX_SHADER_RESOURCE_BINDINGS]

Static Public Attributes

static const int MAX_SHADER_RESOURCE_BINDINGS = 32

Detailed Description

Definition at line 28 of file qsgmaterialshader_p.h.

Constructor & Destructor Documentation

◆ QSGMaterialShaderPrivate()

QSGMaterialShaderPrivate::QSGMaterialShaderPrivate ( QSGMaterialShader * q)
inline

Definition at line 33 of file qsgmaterialshader_p.h.

Member Function Documentation

◆ clearCachedRendererData()

void QSGMaterialShaderPrivate::clearCachedRendererData ( )

Definition at line 176 of file qsgmaterialshader.cpp.

◆ get() [1/2]

const QSGMaterialShaderPrivate * QSGMaterialShaderPrivate::get ( const QSGMaterialShader * s)
inlinestatic

Definition at line 35 of file qsgmaterialshader_p.h.

◆ get() [2/2]

QSGMaterialShaderPrivate * QSGMaterialShaderPrivate::get ( QSGMaterialShader * s)
inlinestatic

Definition at line 34 of file qsgmaterialshader_p.h.

◆ loadShader()

QShader QSGMaterialShaderPrivate::loadShader ( const QString & filename)
static

Definition at line 166 of file qsgmaterialshader.cpp.

◆ prepare()

void QSGMaterialShaderPrivate::prepare ( QShader::Variant vertexShaderVariant)

Definition at line 198 of file qsgmaterialshader.cpp.

◆ shader()

QShader QSGMaterialShaderPrivate::shader ( QShader::Stage stage) const
inline

Definition at line 40 of file qsgmaterialshader_p.h.

Member Data Documentation

◆ combinedImageSamplerBindings

QRhiShaderResourceBinding::StageFlags QSGMaterialShaderPrivate::combinedImageSamplerBindings[MAX_SHADER_RESOURCE_BINDINGS]

Definition at line 63 of file qsgmaterialshader_p.h.

◆ combinedImageSamplerCount

int QSGMaterialShaderPrivate::combinedImageSamplerCount[MAX_SHADER_RESOURCE_BINDINGS]

Definition at line 64 of file qsgmaterialshader_p.h.

◆ flags

QSGMaterialShader::Flags QSGMaterialShaderPrivate::flags

Definition at line 46 of file qsgmaterialshader_p.h.

◆ fragmentShader

ShaderStageData* QSGMaterialShaderPrivate::fragmentShader = nullptr

Definition at line 67 of file qsgmaterialshader_p.h.

◆ masterUniformData

QByteArray QSGMaterialShaderPrivate::masterUniformData

Definition at line 69 of file qsgmaterialshader_p.h.

◆ MAX_SHADER_RESOURCE_BINDINGS

const int QSGMaterialShaderPrivate::MAX_SHADER_RESOURCE_BINDINGS = 32
static

Definition at line 58 of file qsgmaterialshader_p.h.

◆ q_ptr

QSGMaterialShader* QSGMaterialShaderPrivate::q_ptr

Definition at line 44 of file qsgmaterialshader_p.h.

◆ samplerBindingTable

QVarLengthArray<QRhiSampler *, 4> QSGMaterialShaderPrivate::samplerBindingTable[MAX_SHADER_RESOURCE_BINDINGS]

Definition at line 72 of file qsgmaterialshader_p.h.

◆ shaderFileNames

QHash<QShader::Stage, QString> QSGMaterialShaderPrivate::shaderFileNames

Definition at line 45 of file qsgmaterialshader_p.h.

◆ shaders

QHash<QShader::Stage, ShaderStageData> QSGMaterialShaderPrivate::shaders

Definition at line 56 of file qsgmaterialshader_p.h.

◆ textureBindingTable

QVarLengthArray<QSGTexture *, 4> QSGMaterialShaderPrivate::textureBindingTable[MAX_SHADER_RESOURCE_BINDINGS]

Definition at line 71 of file qsgmaterialshader_p.h.

◆ ubufBinding

int QSGMaterialShaderPrivate::ubufBinding = -1

Definition at line 60 of file qsgmaterialshader_p.h.

◆ ubufSize

int QSGMaterialShaderPrivate::ubufSize = 0

Definition at line 61 of file qsgmaterialshader_p.h.

◆ ubufStages

QRhiShaderResourceBinding::StageFlags QSGMaterialShaderPrivate::ubufStages

Definition at line 62 of file qsgmaterialshader_p.h.

◆ vertexShader

ShaderStageData* QSGMaterialShaderPrivate::vertexShader = nullptr

Definition at line 66 of file qsgmaterialshader_p.h.


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