diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-12-09 11:07:49 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2016-01-13 14:03:38 +0000 |
commit | fd74521e9284cc2feb1bb020f2dea7bd65338e1d (patch) | |
tree | b84dc87c0c838a787a9b7b107905923ef49482ff | |
parent | 129daa5d24e6a7a960b29150c4c65693bb7b1f21 (diff) |
ComputeJobManager added
Change-Id: Ia3d1c209ea06ce6a6fd3aa87f4034d3eeaeffdda
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r-- | src/render/backend/handle_types_p.h | 2 | ||||
-rw-r--r-- | src/render/backend/managers_p.h | 13 | ||||
-rw-r--r-- | src/render/backend/nodemanagers.cpp | 7 | ||||
-rw-r--r-- | src/render/backend/nodemanagers_p.h | 7 |
4 files changed, 29 insertions, 0 deletions
diff --git a/src/render/backend/handle_types_p.h b/src/render/backend/handle_types_p.h index 5e9c8fe85..f48bae2cc 100644 --- a/src/render/backend/handle_types_p.h +++ b/src/render/backend/handle_types_p.h @@ -87,6 +87,7 @@ class ObjectPicker; class BoundingVolumeDebug; class OpenGLVertexArrayObject; class Light; +class ComputeJob; typedef Qt3DCore::QHandle<RenderAttachment, 16> HAttachment; typedef Qt3DCore::QHandle<CameraLens, 8> HCamera; @@ -116,6 +117,7 @@ typedef Qt3DCore::QHandle<GeometryRenderer, 16> HGeometryRenderer; typedef Qt3DCore::QHandle<ObjectPicker, 16> HObjectPicker; typedef Qt3DCore::QHandle<BoundingVolumeDebug, 16> HBoundingVolumeDebug; typedef Qt3DCore::QHandle<Light, 16> HLight; +typedef Qt3DCore::QHandle<ComputeJob, 16> HComputeJob; } // namespace Render diff --git a/src/render/backend/managers_p.h b/src/render/backend/managers_p.h index 5df8345d0..927e6c5e9 100644 --- a/src/render/backend/managers_p.h +++ b/src/render/backend/managers_p.h @@ -74,6 +74,7 @@ #include <Qt3DRender/private/boundingvolumedebug_p.h> #include <Qt3DRender/private/openglvertexarrayobject_p.h> #include <Qt3DRender/private/light_p.h> +#include <Qt3DRender/private/computejob_p.h> QT_BEGIN_NAMESPACE @@ -346,6 +347,17 @@ public: LightManager() {} }; +class ComputeJobManager : public Qt3DCore::QResourceManager< + ComputeJob, + Qt3DCore::QNodeId, + 16, + Qt3DCore::ArrayAllocatingPolicy, + Qt3DCore::ObjectLevelLockingPolicy> +{ +public: + ComputeJobManager() {} +}; + } // namespace Render } // namespace Qt3DRender @@ -365,6 +377,7 @@ Q_DECLARE_RESOURCE_INFO(Qt3DRender::Render::Attribute, Q_REQUIRES_CLEANUP) Q_DECLARE_RESOURCE_INFO(Qt3DRender::Render::Geometry, Q_REQUIRES_CLEANUP) Q_DECLARE_RESOURCE_INFO(Qt3DRender::Render::ObjectPicker, Q_REQUIRES_CLEANUP) Q_DECLARE_RESOURCE_INFO(Qt3DRender::Render::BoundingVolumeDebug, Q_REQUIRES_CLEANUP) +Q_DECLARE_RESOURCE_INFO(Qt3DRender::Render::ComputeJob, Q_REQUIRES_CLEANUP) QT_END_NAMESPACE diff --git a/src/render/backend/nodemanagers.cpp b/src/render/backend/nodemanagers.cpp index fca3d1198..cac7d2e5c 100644 --- a/src/render/backend/nodemanagers.cpp +++ b/src/render/backend/nodemanagers.cpp @@ -81,6 +81,7 @@ NodeManagers::NodeManagers() , m_objectPickerManager(new ObjectPickerManager()) , m_boundingVolumeDebugManager(new BoundingVolumeDebugManager()) , m_lightManager(new LightManager()) + , m_computeJobManager(new ComputeJobManager()) { } @@ -264,6 +265,12 @@ LightManager *NodeManagers::manager<Light>() const Q_DECL_NOEXCEPT return m_lightManager; } +template<> +ComputeJobManager *NodeManagers::manager<ComputeJob>() const Q_DECL_NOEXCEPT +{ + return m_computeJobManager; +} + } // Render } // Qt3DRender diff --git a/src/render/backend/nodemanagers_p.h b/src/render/backend/nodemanagers_p.h index 092a40156..22bceead3 100644 --- a/src/render/backend/nodemanagers_p.h +++ b/src/render/backend/nodemanagers_p.h @@ -92,6 +92,7 @@ class TextureManager; class TextureDataManager; class LayerManager; class LightManager; +class ComputeJobManager; class FrameGraphNode; class Annotation; @@ -122,6 +123,7 @@ class GeometryRenderer; class ObjectPicker; class BoundingVolumeDebug; class Light; +class ComputeJob; class QT3DRENDERSHARED_PRIVATE_EXPORT NodeManagers { @@ -192,6 +194,7 @@ public: inline ObjectPickerManager *objectPickerManager() const Q_DECL_NOEXCEPT { return m_objectPickerManager; } inline BoundingVolumeDebugManager *boundingVolumeDebugManager() const Q_DECL_NOEXCEPT { return m_boundingVolumeDebugManager; } inline LightManager *lightManager() const Q_DECL_NOEXCEPT { return m_lightManager; } + inline ComputeJobManager *computeJobManager() const Q_DECL_NOEXCEPT { return m_computeJobManager; } private: CameraManager *m_cameraManager; @@ -224,6 +227,7 @@ private: ObjectPickerManager *m_objectPickerManager; BoundingVolumeDebugManager *m_boundingVolumeDebugManager; LightManager *m_lightManager; + ComputeJobManager *m_computeJobManager; }; // Specializations @@ -318,6 +322,9 @@ QT3DRENDERSHARED_PRIVATE_EXPORT BoundingVolumeDebugManager *NodeManagers::manage template<> LightManager *NodeManagers::manager<Light>() const Q_DECL_NOEXCEPT; +template<> +QT3DRENDERSHARED_PRIVATE_EXPORT ComputeJobManager *NodeManagers::manager<ComputeJob>() const Q_DECL_NOEXCEPT; + } // Render } // Qt3DRender |