diff options
Diffstat (limited to 'src/render/backend/managers_p.h')
-rw-r--r-- | src/render/backend/managers_p.h | 15 |
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< |