![]() |
Qt 6.x
The Qt SDK
|
#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 QSGMaterialShaderPrivate * | get (QSGMaterialShader *s) |
| static const QSGMaterialShaderPrivate * | get (const QSGMaterialShader *s) |
| static QShader | loadShader (const QString &filename) |
Public Attributes | |
| QSGMaterialShader * | q_ptr |
| QHash< QShader::Stage, QString > | shaderFileNames |
| QSGMaterialShader::Flags | flags |
| QHash< QShader::Stage, ShaderStageData > | shaders |
| int | ubufBinding = -1 |
| int | ubufSize = 0 |
| QRhiShaderResourceBinding::StageFlags | ubufStages |
| QRhiShaderResourceBinding::StageFlags | combinedImageSamplerBindings [MAX_SHADER_RESOURCE_BINDINGS] |
| int | combinedImageSamplerCount [MAX_SHADER_RESOURCE_BINDINGS] |
| ShaderStageData * | vertexShader = nullptr |
| ShaderStageData * | fragmentShader = 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 |
Definition at line 28 of file qsgmaterialshader_p.h.
|
inline |
Definition at line 33 of file qsgmaterialshader_p.h.
| void QSGMaterialShaderPrivate::clearCachedRendererData | ( | ) |
Definition at line 176 of file qsgmaterialshader.cpp.
References clear(), i, MAX_SHADER_RESOURCE_BINDINGS, samplerBindingTable, and textureBindingTable.
Referenced by QSGBatchRenderer::ShaderManager::clearCachedRendererData(), and prepare().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 35 of file qsgmaterialshader_p.h.
|
inlinestatic |
Definition at line 34 of file qsgmaterialshader_p.h.
Referenced by QSGBatchRenderer::calculateVertexInputLayout(), QSGBatchRenderer::ShaderManager::clearCachedRendererData(), QSGDefaultRenderContext::initializeRhiShader(), QSGBatchRenderer::ShaderManager::prepareMaterial(), and QSGBatchRenderer::ShaderManager::prepareMaterialNoRewrite().
Here is the caller graph for this function:Definition at line 166 of file qsgmaterialshader.cpp.
References QShader::fromSerialized(), qWarning, and QIODeviceBase::ReadOnly.
Referenced by prepare(), and QSGBatchRenderer::RhiVisualizer::prepareVisualize().
Here is the call graph for this function:
Here is the caller graph for this function:| void QSGMaterialShaderPrivate::prepare | ( | QShader::Variant | vertexShaderVariant | ) |
Definition at line 198 of file qsgmaterialshader.cpp.
References QShader::BatchableVertexShader, QSet< T >::begin(), QShaderDescription::UniformBlock::binding, QShaderDescription::UniformBlock::blockName, QByteArray::clear(), clearCachedRendererData(), combinedImageSamplerBindings, combinedImageSamplerCount, QVariant::constData(), QByteArray::constData(), desc, QSet< T >::end(), QHash< Key, T >::end(), QHash< Key, T >::erase(), QByteArray::fill(), QHash< Key, T >::find(), fragmentShader, QShader::FragmentStage, i, it, loadShader(), masterUniformData, MAX_SHADER_RESOURCE_BINDINGS, QByteArrayLiteral, QSGMaterialShaderPrivate::ShaderStageData::qt_order_attrib_location, qWarning, shaderFileNames, QList< T >::size(), QShaderDescription::UniformBlock::size, toSrbStage(), ubufBinding, ubufSize, ubufStages, var, vertexShader, and QShader::VertexStage.
Referenced by QSGDefaultRenderContext::initializeRhiShader().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 40 of file qsgmaterialshader_p.h.
References QShader::shader().
Referenced by QSGBatchRenderer::ShaderManager::prepareMaterial(), and QSGBatchRenderer::ShaderManager::prepareMaterialNoRewrite().
Here is the call graph for this function:
Here is the caller graph for this function:| QRhiShaderResourceBinding::StageFlags QSGMaterialShaderPrivate::combinedImageSamplerBindings[MAX_SHADER_RESOURCE_BINDINGS] |
Definition at line 63 of file qsgmaterialshader_p.h.
Referenced by prepare().
| int QSGMaterialShaderPrivate::combinedImageSamplerCount[MAX_SHADER_RESOURCE_BINDINGS] |
Definition at line 64 of file qsgmaterialshader_p.h.
Referenced by prepare().
| QSGMaterialShader::Flags QSGMaterialShaderPrivate::flags |
Definition at line 46 of file qsgmaterialshader_p.h.
| ShaderStageData* QSGMaterialShaderPrivate::fragmentShader = nullptr |
Definition at line 67 of file qsgmaterialshader_p.h.
Referenced by prepare().
| QByteArray QSGMaterialShaderPrivate::masterUniformData |
Definition at line 69 of file qsgmaterialshader_p.h.
Referenced by prepare().
|
static |
Definition at line 58 of file qsgmaterialshader_p.h.
Referenced by clearCachedRendererData(), and prepare().
| QSGMaterialShader* QSGMaterialShaderPrivate::q_ptr |
Definition at line 44 of file qsgmaterialshader_p.h.
| QVarLengthArray<QRhiSampler *, 4> QSGMaterialShaderPrivate::samplerBindingTable[MAX_SHADER_RESOURCE_BINDINGS] |
Definition at line 72 of file qsgmaterialshader_p.h.
Referenced by clearCachedRendererData().
| QHash<QShader::Stage, QString> QSGMaterialShaderPrivate::shaderFileNames |
Definition at line 45 of file qsgmaterialshader_p.h.
Referenced by prepare().
| QHash<QShader::Stage, ShaderStageData> QSGMaterialShaderPrivate::shaders |
Definition at line 56 of file qsgmaterialshader_p.h.
| QVarLengthArray<QSGTexture *, 4> QSGMaterialShaderPrivate::textureBindingTable[MAX_SHADER_RESOURCE_BINDINGS] |
Definition at line 71 of file qsgmaterialshader_p.h.
Referenced by clearCachedRendererData().
| int QSGMaterialShaderPrivate::ubufBinding = -1 |
Definition at line 60 of file qsgmaterialshader_p.h.
Referenced by prepare().
| int QSGMaterialShaderPrivate::ubufSize = 0 |
Definition at line 61 of file qsgmaterialshader_p.h.
Referenced by prepare().
| QRhiShaderResourceBinding::StageFlags QSGMaterialShaderPrivate::ubufStages |
Definition at line 62 of file qsgmaterialshader_p.h.
Referenced by prepare().
| ShaderStageData* QSGMaterialShaderPrivate::vertexShader = nullptr |
Definition at line 66 of file qsgmaterialshader_p.h.
Referenced by QSGBatchRenderer::calculateVertexInputLayout(), and prepare().