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);
75 void setDependencyIndex(quint32 index);
77 QVector<QSSGCommand *> commands;
80 QColor clearColor = Qt::black;
81 QRhiTextureRenderTarget::Flags renderTargetFlags = {};
84 MaterialModes materialMode = OriginalMaterial;
85 QSSGRenderGraphObject *overrideMaterial =
nullptr;
86 QSSGUserShaderAugmentation shaderAugmentation;
87 QRhiDepthStencilClearValue depthStencilClearValue = { };
88 PassModes passMode = UserPass;
89 Role role = Role::TopLevel;
91 FlagT m_dirtyFlags = 0;
92 State m_state = State::None;
93 quint32 m_dependencyIndex = 0;