45 enum class Role : quint8 {
50 enum class DirtyFlag : quint8
54 using FlagT = std::underlying_type_t<DirtyFlag>;
56 enum class State : quint8
63 static constexpr DirtyFlag DirtyMask { std::numeric_limits<FlagT>::max() };
66 ~QSSGRenderUserPass();
68 bool isDirty(DirtyFlag flag = DirtyMask)
const;
69 void markDirty(DirtyFlag flag);
70 void clearDirty(DirtyFlag flag);
72 bool isReady()
const {
return (m_state == State::Ready); }
74 void finalizeShaders(
const QSSGRenderContextInterface &ctx);
76 QVector<QSSGCommand *> commands;
79 QColor clearColor = Qt::black;
80 QRhiTextureRenderTarget::Flags renderTargetFlags = {};
83 MaterialModes materialMode = OriginalMaterial;
84 QSSGRenderGraphObject *overrideMaterial =
nullptr;
85 QSSGUserShaderAugmentation shaderAugmentation;
86 QRhiDepthStencilClearValue depthStencilClearValue = { };
87 PassModes passMode = UserPass;
88 Role role = Role::TopLevel;
90 FlagT m_dirtyFlags = 0;
91 State m_state = State::None;
96 quint32 m_nestingDepth = 0;
100 quint32 m_declarationOrder = 0;
102 void resetCommands();