summaryrefslogtreecommitdiffstats
path: root/src/render/backend/managers_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/backend/managers_p.h')
-rw-r--r--src/render/backend/managers_p.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/render/backend/managers_p.h b/src/render/backend/managers_p.h
index 024059a30..24b161b6e 100644
--- a/src/render/backend/managers_p.h
+++ b/src/render/backend/managers_p.h
@@ -204,6 +204,21 @@ class ShaderManager : public Qt3DCore::QResourceManager<
{
public:
ShaderManager() {}
+
+ // Called in AspectThread by Shader node functor destroy
+ void addShaderIdToCleanup(Qt3DCore::QNodeId id)
+ {
+ m_shaderIdsToCleanup.push_back(id);
+ }
+
+ // Called by RenderThread in updateGLResources (locked)
+ QVector<Qt3DCore::QNodeId> takeShaderIdsToCleanup()
+ {
+ return std::move(m_shaderIdsToCleanup);
+ }
+
+private:
+ QVector<Qt3DCore::QNodeId> m_shaderIdsToCleanup;
};
class ShaderBuilderManager : public Qt3DCore::QResourceManager<