4#ifndef QSGRHISHADEREFFECTNODE_P_H
5#define QSGRHISHADEREFFECTNODE_P_H
18#include <private/qsgadaptationlayer_p.h>
107 void handleTextureChange();
108 void handleTextureProviderDestroyed(
QObject *
object);
\inmodule QtCore\reentrant
The QSGMaterialShader class represents a graphics API independent shader program.
The QSGMaterial class encapsulates rendering state for a shader program.
RenderMode
\value RenderMode2D Normal 2D rendering \value RenderMode2DNoDepthBuffer Normal 2D rendering with dep...
QString log() const override
void prepareShaderCode(ShaderInfo::Type typeHint, const QUrl &src, ShaderInfo *result) override
Status status() const override
bool hasSeparateSamplerAndTextureObjects() const override
QSGRhiShaderLinker m_linker
QVector< QSGTextureProvider * > m_textureProviders
bool m_hasCustomFragmentShader
static const int MAX_BINDINGS
QSGMaterialType * m_materialType
QSGMaterialType * type() const override
This function is called by the scene graph to query an identifier that is unique to the QSGMaterialSh...
~QSGRhiShaderEffectMaterial()
bool usesSubRectUniform(int binding) const
int compare(const QSGMaterial *other) const override
Compares this material to other and returns 0 if they are equal; -1 if this material should sort befo...
QSGMaterialShader * createShader(QSGRendererInterface::RenderMode renderMode) const override
This function returns a new instance of a the QSGMaterialShader implementation used to render geometr...
QSGRhiShaderEffectNode * m_node
void * m_materialTypeCacheKey
QSGPlainTexture * m_dummyTexture
QSGShaderEffectNode::CullMode m_cullMode
void updateTextureProviders(bool layoutChange)
bool m_geometryUsesTextureSubRect
bool m_hasCustomVertexShader
void preprocess() override
Override this function to do processing on the node before it is rendered.
static void garbageCollectMaterialTypeCache(void *materialTypeCacheKey)
QRectF updateNormalizedTextureSubRect(bool supportsAtlasTextures) override
void syncMaterial(SyncData *syncData) override
static void resetMaterialTypeCache(void *materialTypeCacheKey)
void feedSamplers(const QSGShaderEffectNode::ShaderData &shader, const QSet< int > *dirtyIndices=nullptr)
QHash< QByteArray, int > m_samplerNameMap
QHash< uint, Constant > m_constants
void linkTextureSubRects()
QSet< int > m_subRectBindings
QHash< int, QVariant > m_samplers
uint m_constantBufferSize
void feedConstants(const QSGShaderEffectNode::ShaderData &shader, const QSet< int > *dirtyIndices=nullptr)
bool contains(const T &value) const
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLenum GLuint GLintptr GLsizeiptr size
[1]
QDebug operator<<(QDebug debug, const QSGRhiShaderLinker::Constant &c)
The QSGMaterialType class is used as a unique type token in combination with QSGMaterial.
QSGShaderEffectNode::VariableData::SpecialType specialType
bool operator==(const Constant &other) const