diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2018-01-12 14:17:40 +0000 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2018-01-12 15:07:06 +0000 |
commit | 417b32815d5d6c45a6c8b4d38b62ca10119d14fd (patch) | |
tree | 5c910952affff3d376cbe84b7130be9ee7d6a577 | |
parent | 1d5f8b8536c1b0165c2292529dc3814e96bb0a27 (diff) | |
parent | c9edc164ab165ddd31ef2411be19deb130614e8b (diff) |
Merge branch '5.9' into 5.10
Conflicts:
.qmake.conf
src/animation/backend/handle_types_p.h
src/extras/defaults/qtexturematerial.h
src/render/backend/entity_p.h
src/render/backend/handle_types_p.h
src/render/backend/renderview.cpp
src/render/io/scenemanager.cpp
Change-Id: Ic145062cc98360e9067fd60f0992c7a6b51e41bb
66 files changed, 243 insertions, 304 deletions
diff --git a/src/animation/backend/handle_types_p.h b/src/animation/backend/handle_types_p.h index f05df22fe..5f80a5494 100644 --- a/src/animation/backend/handle_types_p.h +++ b/src/animation/backend/handle_types_p.h @@ -65,12 +65,12 @@ class ChannelMapping; class ChannelMapper; class Skeleton; -typedef Qt3DCore::QHandle<AnimationClip, 16> HAnimationClip; -typedef Qt3DCore::QHandle<ClipAnimator, 16> HClipAnimator; -typedef Qt3DCore::QHandle<BlendedClipAnimator, 12> HBlendedClipAnimator; -typedef Qt3DCore::QHandle<ChannelMapping, 16> HChannelMapping; -typedef Qt3DCore::QHandle<ChannelMapper, 16> HChannelMapper; -typedef Qt3DCore::QHandle<Skeleton, 16> HSkeleton; +typedef Qt3DCore::QHandle<AnimationClip> HAnimationClip; +typedef Qt3DCore::QHandle<ClipAnimator> HClipAnimator; +typedef Qt3DCore::QHandle<BlendedClipAnimator> HBlendedClipAnimator; +typedef Qt3DCore::QHandle<ChannelMapping> HChannelMapping; +typedef Qt3DCore::QHandle<ChannelMapper> HChannelMapper; +typedef Qt3DCore::QHandle<Skeleton> HSkeleton; } // namespace Animation } // namespace Qt3DAnimation diff --git a/src/animation/backend/managers_p.h b/src/animation/backend/managers_p.h index b88f1b8ae..ba4bcf730 100644 --- a/src/animation/backend/managers_p.h +++ b/src/animation/backend/managers_p.h @@ -71,8 +71,7 @@ class ClipBlendNode; class AnimationClipLoaderManager : public Qt3DCore::QResourceManager< AnimationClip, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: AnimationClipLoaderManager() {} @@ -80,8 +79,7 @@ public: class ClockManager : public Qt3DCore::QResourceManager< Clock, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: ClockManager() {} @@ -89,8 +87,7 @@ public: class ClipAnimatorManager : public Qt3DCore::QResourceManager< ClipAnimator, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: ClipAnimatorManager() {} @@ -98,8 +95,7 @@ public: class BlendedClipAnimatorManager : public Qt3DCore::QResourceManager< BlendedClipAnimator, - Qt3DCore::QNodeId, - 12> + Qt3DCore::QNodeId> { public: BlendedClipAnimatorManager() {} @@ -107,8 +103,7 @@ public: class ChannelMappingManager : public Qt3DCore::QResourceManager< ChannelMapping, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: ChannelMappingManager() {} @@ -116,8 +111,7 @@ public: class ChannelMapperManager : public Qt3DCore::QResourceManager< ChannelMapper, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: ChannelMapperManager() {} @@ -140,8 +134,7 @@ private: class SkeletonManager : public Qt3DCore::QResourceManager< Skeleton, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: SkeletonManager() {} diff --git a/src/animation/frontend/qanimationgroup.h b/src/animation/frontend/qanimationgroup.h index 1e23c61ee..a4f34c815 100644 --- a/src/animation/frontend/qanimationgroup.h +++ b/src/animation/frontend/qanimationgroup.h @@ -37,7 +37,7 @@ #ifndef QT3DANIMATION_QANIMATIONGROUP_H #define QT3DANIMATION_QANIMATIONGROUP_H -#include <qobject.h> +#include <QtCore/qobject.h> #include <Qt3DAnimation/qabstractanimation.h> diff --git a/src/core/resources/qhandle_p.h b/src/core/resources/qhandle_p.h index 95483d197..46bd5f5d4 100644 --- a/src/core/resources/qhandle_p.h +++ b/src/core/resources/qhandle_p.h @@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE namespace Qt3DCore { -template <typename T, uint INDEXBITS = 16> +template <typename T> class QHandle { public: @@ -106,8 +106,8 @@ private: }; -template <typename T, uint INDEXBITS> -QDebug operator<<(QDebug dbg, const QHandle<T, INDEXBITS> &h) +template <typename T> +QDebug operator<<(QDebug dbg, const QHandle<T> &h) { QDebugStateSaver saver(dbg); QString binNumber = QString::number(h.handle(), 2).rightJustified(32, QChar::fromLatin1('0')); @@ -116,8 +116,8 @@ QDebug operator<<(QDebug dbg, const QHandle<T, INDEXBITS> &h) return dbg; } -template <typename T, uint INDEXBITS = 16> -uint qHash(const QHandle<T, INDEXBITS> &h, uint seed) +template <typename T> +uint qHash(const QHandle<T> &h, uint seed) { using QT_PREPEND_NAMESPACE(qHash); return qHash(h.handle(), seed); @@ -126,9 +126,9 @@ uint qHash(const QHandle<T, INDEXBITS> &h, uint seed) } // Qt3DCore // simpler than fighting the Q_DECLARE_TYPEINFO macro, use QString as a dummy to get movable semantics -template <typename T, uint I> -class QTypeInfo<Qt3DCore::QHandle<T,I> > - : public QTypeInfoMerger<Qt3DCore::QHandle<T,I>, QString> {}; +template <typename T> +class QTypeInfo<Qt3DCore::QHandle<T> > + : public QTypeInfoMerger<Qt3DCore::QHandle<T>, QString> {}; QT_END_NAMESPACE diff --git a/src/core/resources/qresourcemanager_p.h b/src/core/resources/qresourcemanager_p.h index 8f0440498..0ed86ef21 100644 --- a/src/core/resources/qresourcemanager_p.h +++ b/src/core/resources/qresourcemanager_p.h @@ -220,24 +220,24 @@ struct Int2Type }; }; -template<typename T, uint INDEXBITS = 16> -class QHandleData : public QHandle<T, INDEXBITS>::Data +template<typename T> +class QHandleData : public QHandle<T>::Data { public: T data; }; -template<typename T, uint INDEXBITS> -inline T *QHandle<T, INDEXBITS>::operator->() const { return (d && counter == d->counter) ? &static_cast<QHandleData<T, INDEXBITS> *>(d)->data : nullptr; } -template<typename T, uint INDEXBITS> -inline T *QHandle<T, INDEXBITS>::data() const { return (d && counter == d->counter) ? &static_cast<QHandleData<T, INDEXBITS> *>(d)->data : nullptr; } +template<typename T> +inline T *QHandle<T>::operator->() const { return (d && counter == d->counter) ? &static_cast<QHandleData<T> *>(d)->data : nullptr; } +template<typename T> +inline T *QHandle<T>::data() const { return (d && counter == d->counter) ? &static_cast<QHandleData<T> *>(d)->data : nullptr; } -template <typename T, uint INDEXBITS = 16> +template <typename T> class ArrayAllocatingPolicy { public: - typedef QHandleData<T, INDEXBITS> HandleData; - typedef QHandle<T, INDEXBITS> Handle; + typedef QHandleData<T> HandleData; + typedef QHandle<T> Handle; ArrayAllocatingPolicy() { } @@ -267,7 +267,7 @@ public: typename Handle::Data *d = handle.data_ptr(); d->nextFree = freeList; freeList = d; - performCleanup(&static_cast<QHandleData<T, INDEXBITS> *>(d)->data, Int2Type<QResourceInfo<T>::needsCleanup>()); + performCleanup(&static_cast<QHandleData<T> *>(d)->data, Int2Type<QResourceInfo<T>::needsCleanup>()); } T *data(Handle h) { @@ -340,31 +340,30 @@ private: }; #ifndef QT_NO_DEBUG_STREAM -template <typename ValueType, typename KeyType, uint INDEXBITS, +template <typename ValueType, typename KeyType, template <class> class LockingPolicy > class QResourceManager; -template <typename ValueType, typename KeyType, uint INDEXBITS = 16, +template <typename ValueType, typename KeyType, template <class> class LockingPolicy = NonLockingPolicy > -QDebug operator<<(QDebug dbg, const QResourceManager<ValueType, KeyType, INDEXBITS, LockingPolicy> &manager); +QDebug operator<<(QDebug dbg, const QResourceManager<ValueType, KeyType, LockingPolicy> &manager); #endif -template <typename ValueType, typename KeyType, uint INDEXBITS = 16, +template <typename ValueType, typename KeyType, template <class> class LockingPolicy = NonLockingPolicy > class QResourceManager - : public ArrayAllocatingPolicy<ValueType, INDEXBITS> - , public LockingPolicy< QResourceManager<ValueType, KeyType, INDEXBITS, LockingPolicy> > + : public ArrayAllocatingPolicy<ValueType> + , public LockingPolicy< QResourceManager<ValueType, KeyType, LockingPolicy> > { public: - typedef ArrayAllocatingPolicy<ValueType, INDEXBITS> Allocator; - typedef QHandle<ValueType, INDEXBITS> Handle; + typedef ArrayAllocatingPolicy<ValueType> Allocator; + typedef QHandle<ValueType> Handle; QResourceManager() : - Allocator(), - m_maxSize((1 << INDEXBITS) - 1) + Allocator() { } @@ -443,24 +442,21 @@ public: Allocator::releaseResource(handle); } - int maximumSize() const { return m_maxSize; } - protected: QHash<KeyType, Handle > m_keyToHandleMap; - const int m_maxSize; private: - friend QDebug operator<< <>(QDebug dbg, const QResourceManager<ValueType, KeyType, INDEXBITS, LockingPolicy> &manager); + friend QDebug operator<< <>(QDebug dbg, const QResourceManager<ValueType, KeyType, LockingPolicy> &manager); }; #ifndef QT_NO_DEBUG_STREAM -template <typename ValueType, typename KeyType, uint INDEXBITS, +template <typename ValueType, typename KeyType, template <class> class LockingPolicy > -QDebug operator<<(QDebug dbg, const QResourceManager<ValueType, KeyType, INDEXBITS, LockingPolicy> &manager) +QDebug operator<<(QDebug dbg, const QResourceManager<ValueType, KeyType, LockingPolicy> &manager) { QDebugStateSaver saver(dbg); - dbg << "Contains" << manager.count() << "items" << "of a maximum" << manager.maximumSize() << endl; + dbg << "Contains" << manager.count() << "items" << endl; dbg << "Key to Handle Map:" << endl; const auto end = manager.m_keyToHandleMap.cend(); diff --git a/src/extras/3dtext/qextrudedtextgeometry.h b/src/extras/3dtext/qextrudedtextgeometry.h index 9ee8b23f0..d6e682dbd 100644 --- a/src/extras/3dtext/qextrudedtextgeometry.h +++ b/src/extras/3dtext/qextrudedtextgeometry.h @@ -53,8 +53,8 @@ #include <Qt3DExtras/qt3dextras_global.h> #include <Qt3DRender/qgeometry.h> -#include <QString> -#include <QFont> +#include <QtCore/QString> +#include <QtGui/QFont> QT_BEGIN_NAMESPACE diff --git a/src/extras/3dtext/qextrudedtextmesh.h b/src/extras/3dtext/qextrudedtextmesh.h index 3f2f41a37..ea3054003 100644 --- a/src/extras/3dtext/qextrudedtextmesh.h +++ b/src/extras/3dtext/qextrudedtextmesh.h @@ -53,8 +53,8 @@ #include <Qt3DExtras/qt3dextras_global.h> #include <Qt3DRender/qgeometryrenderer.h> -#include <QString> -#include <QFont> +#include <QtCore/QString> +#include <QtGui/QFont> QT_BEGIN_NAMESPACE diff --git a/src/extras/defaults/qmorphphongmaterial.h b/src/extras/defaults/qmorphphongmaterial.h index 3b65088b1..235426f1c 100644 --- a/src/extras/defaults/qmorphphongmaterial.h +++ b/src/extras/defaults/qmorphphongmaterial.h @@ -39,7 +39,7 @@ #include <Qt3DExtras/qt3dextras_global.h> #include <Qt3DRender/qmaterial.h> -#include <QColor> +#include <QtGui/QColor> QT_BEGIN_NAMESPACE diff --git a/src/extras/defaults/qtexturematerial.h b/src/extras/defaults/qtexturematerial.h index b6347aff4..c4fb43f50 100644 --- a/src/extras/defaults/qtexturematerial.h +++ b/src/extras/defaults/qtexturematerial.h @@ -42,8 +42,8 @@ #include <Qt3DExtras/qt3dextras_global.h> #include <Qt3DRender/qmaterial.h> -#include <QVector2D> -#include <QMatrix3x3> +#include <QtGui/QVector2D> +#include <QtGui/QMatrix3x3> QT_BEGIN_NAMESPACE diff --git a/src/input/backend/handle_types_p.h b/src/input/backend/handle_types_p.h index c132fdc99..cfe4e66b4 100644 --- a/src/input/backend/handle_types_p.h +++ b/src/input/backend/handle_types_p.h @@ -75,22 +75,22 @@ class GenericDeviceBackendNode; class PhysicalDeviceProxy; class AxisAccumulator; -typedef Qt3DCore::QHandle<KeyboardDevice, 8> HKeyboardDevice; -typedef Qt3DCore::QHandle<KeyboardHandler, 16> HKeyboardHandler; -typedef Qt3DCore::QHandle<MouseHandler, 16> HMouseHandler; -typedef Qt3DCore::QHandle<MouseDevice, 8> HMouseDevice; -typedef Qt3DCore::QHandle<Axis, 16> HAxis; -typedef Qt3DCore::QHandle<AxisActionHandler, 16> HAxisActionHandler; -typedef Qt3DCore::QHandle<AxisSetting, 16> HAxisSetting; -typedef Qt3DCore::QHandle<Action, 16> HAction; -typedef Qt3DCore::QHandle<AbstractAxisInput, 16> HAxisInput; -typedef Qt3DCore::QHandle<ActionInput, 16> HActionInput; -typedef Qt3DCore::QHandle<InputSequence, 16> HInputSequence; -typedef Qt3DCore::QHandle<InputChord, 16> HInputChord; -typedef Qt3DCore::QHandle<LogicalDevice, 16> HLogicalDevice; -typedef Qt3DCore::QHandle<GenericDeviceBackendNode, 8> HGenericDeviceBackendNode; -typedef Qt3DCore::QHandle<PhysicalDeviceProxy, 16> HPhysicalDeviceProxy; -typedef Qt3DCore::QHandle<AxisAccumulator, 16> HAxisAccumulator; +typedef Qt3DCore::QHandle<KeyboardDevice> HKeyboardDevice; +typedef Qt3DCore::QHandle<KeyboardHandler> HKeyboardHandler; +typedef Qt3DCore::QHandle<MouseHandler> HMouseHandler; +typedef Qt3DCore::QHandle<MouseDevice> HMouseDevice; +typedef Qt3DCore::QHandle<Axis> HAxis; +typedef Qt3DCore::QHandle<AxisActionHandler> HAxisActionHandler; +typedef Qt3DCore::QHandle<AxisSetting> HAxisSetting; +typedef Qt3DCore::QHandle<Action> HAction; +typedef Qt3DCore::QHandle<AbstractAxisInput> HAxisInput; +typedef Qt3DCore::QHandle<ActionInput> HActionInput; +typedef Qt3DCore::QHandle<InputSequence> HInputSequence; +typedef Qt3DCore::QHandle<InputChord> HInputChord; +typedef Qt3DCore::QHandle<LogicalDevice> HLogicalDevice; +typedef Qt3DCore::QHandle<GenericDeviceBackendNode> HGenericDeviceBackendNode; +typedef Qt3DCore::QHandle<PhysicalDeviceProxy> HPhysicalDeviceProxy; +typedef Qt3DCore::QHandle<AxisAccumulator> HAxisAccumulator; } // namespace Input } // namespace Qt3DInput diff --git a/src/input/backend/inputmanagers_p.h b/src/input/backend/inputmanagers_p.h index 956b0ab8b..eee8b27d3 100644 --- a/src/input/backend/inputmanagers_p.h +++ b/src/input/backend/inputmanagers_p.h @@ -79,8 +79,7 @@ namespace Input { class KeyboardInputManager : public Qt3DCore::QResourceManager< KeyboardHandler, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: KeyboardInputManager() {} @@ -88,8 +87,7 @@ public: class KeyboardDeviceManager : public Qt3DCore::QResourceManager< KeyboardDevice, - Qt3DCore::QNodeId, - 8> + Qt3DCore::QNodeId> { public: KeyboardDeviceManager() {} @@ -97,8 +95,7 @@ public: class MouseDeviceManager : public Qt3DCore::QResourceManager< MouseDevice, - Qt3DCore::QNodeId, - 8> + Qt3DCore::QNodeId> { public: MouseDeviceManager() {} @@ -106,8 +103,7 @@ public: class MouseInputManager : public Qt3DCore::QResourceManager< MouseHandler, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: MouseInputManager() {} @@ -115,8 +111,7 @@ public: class AxisManager : public Qt3DCore::QResourceManager< Axis, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: AxisManager() {} @@ -124,8 +119,7 @@ public: class AxisSettingManager : public Qt3DCore::QResourceManager< AxisSetting, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: AxisSettingManager() {} @@ -133,8 +127,7 @@ public: class ActionManager : public Qt3DCore::QResourceManager< Action, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: ActionManager() {} @@ -142,8 +135,7 @@ public: class ActionInputManager : public Qt3DCore::QResourceManager< ActionInput, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: ActionInputManager() {} @@ -151,8 +143,7 @@ public: class AnalogAxisInputManager : public Qt3DCore::QResourceManager< AnalogAxisInput, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: AnalogAxisInputManager() {} @@ -160,8 +151,7 @@ public: class ButtonAxisInputManager : public Qt3DCore::QResourceManager< ButtonAxisInput, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: ButtonAxisInputManager() {} @@ -169,8 +159,7 @@ public: class InputChordManager : public Qt3DCore::QResourceManager< InputChord, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: InputChordManager() {} @@ -178,8 +167,7 @@ public: class InputSequenceManager : public Qt3DCore::QResourceManager< InputSequence, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: InputSequenceManager() {} @@ -187,8 +175,7 @@ public: class LogicalDeviceManager : public Qt3DCore::QResourceManager< LogicalDevice, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: LogicalDeviceManager() {} @@ -203,8 +190,7 @@ private: class GenericDeviceBackendNodeManager : public Qt3DCore::QResourceManager< GenericDeviceBackendNode, - Qt3DCore::QNodeId, - 8> + Qt3DCore::QNodeId> { public: GenericDeviceBackendNodeManager() {} @@ -212,8 +198,7 @@ public: class Q_AUTOTEST_EXPORT PhysicalDeviceProxyManager : public Qt3DCore::QResourceManager< PhysicalDeviceProxy, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: PhysicalDeviceProxyManager() {} @@ -227,8 +212,7 @@ private: class AxisAccumulatorManager : public Qt3DCore::QResourceManager< AxisAccumulator, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: AxisAccumulatorManager() {} diff --git a/src/logic/handle_types_p.h b/src/logic/handle_types_p.h index d137a4047..106241e2c 100644 --- a/src/logic/handle_types_p.h +++ b/src/logic/handle_types_p.h @@ -59,7 +59,7 @@ namespace Qt3DLogic { namespace Logic { class Handler; -typedef Qt3DCore::QHandle<Handler, 16> HHandler; +typedef Qt3DCore::QHandle<Handler> HHandler; } // namespace Logic } // namespace Qt3DLogic diff --git a/src/logic/managers_p.h b/src/logic/managers_p.h index 3d48aab24..17c230d28 100644 --- a/src/logic/managers_p.h +++ b/src/logic/managers_p.h @@ -64,8 +64,7 @@ namespace Logic { class HandlerManager : public Qt3DCore::QResourceManager< Handler, - Qt3DCore::QNodeId, - 16> + Qt3DCore::QNodeId> { public: HandlerManager() {} diff --git a/src/plugins/renderplugins/scene2d/scene2dplugin.h b/src/plugins/renderplugins/scene2d/scene2dplugin.h index 3b4471d55..5f39615af 100644 --- a/src/plugins/renderplugins/scene2d/scene2dplugin.h +++ b/src/plugins/renderplugins/scene2d/scene2dplugin.h @@ -67,7 +67,6 @@ class Scene2DNode; class Scene2DNodeManager : public Qt3DCore::QResourceManager< Render::Quick::Scene2D, Qt3DCore::QNodeId, - 16, Qt3DCore::ObjectLevelLockingPolicy> { }; diff --git a/src/quick3d/imports/scene3d/scene3ditem.cpp b/src/quick3d/imports/scene3d/scene3ditem.cpp index 4371e60b4..2c20fa789 100644 --- a/src/quick3d/imports/scene3d/scene3ditem.cpp +++ b/src/quick3d/imports/scene3d/scene3ditem.cpp @@ -241,11 +241,13 @@ void Scene3DItem::setWindowSurface(QObject *rootObject) } } -void Scene3DItem::setItemArea(QSize area) +void Scene3DItem::setItemAreaAndDevicePixelRatio(QSize area, qreal devicePixelRatio) { Qt3DRender::QRenderSurfaceSelector *surfaceSelector = Qt3DRender::QRenderSurfaceSelectorPrivate::find(m_entity); - if (surfaceSelector) + if (surfaceSelector) { surfaceSelector->setExternalRenderTargetSize(area); + surfaceSelector->setSurfacePixelRatio(devicePixelRatio); + } } bool Scene3DItem::isHoverEnabled() const diff --git a/src/quick3d/imports/scene3d/scene3ditem_p.h b/src/quick3d/imports/scene3d/scene3ditem_p.h index e0ce3addc..37d7cbcc2 100644 --- a/src/quick3d/imports/scene3d/scene3ditem_p.h +++ b/src/quick3d/imports/scene3d/scene3ditem_p.h @@ -88,7 +88,7 @@ public: bool multisample() const; void setMultisample(bool enable); - Q_INVOKABLE void setItemArea(QSize area); + Q_INVOKABLE void setItemAreaAndDevicePixelRatio(QSize area, qreal devicePixelRatio); bool isHoverEnabled() const; enum CameraAspectRatioMode { diff --git a/src/quick3d/imports/scene3d/scene3drenderer.cpp b/src/quick3d/imports/scene3d/scene3drenderer.cpp index 01977f72b..37ae8e48b 100644 --- a/src/quick3d/imports/scene3d/scene3drenderer.cpp +++ b/src/quick3d/imports/scene3d/scene3drenderer.cpp @@ -59,9 +59,9 @@ namespace Qt3DRender { namespace { -inline QMetaMethod setItemAreaMethod() +inline QMetaMethod setItemAreaAndDevicePixelRatioMethod() { - const int idx = Scene3DItem::staticMetaObject.indexOfMethod("setItemArea(QSize)"); + const int idx = Scene3DItem::staticMetaObject.indexOfMethod("setItemAreaAndDevicePixelRatio(QSize,qreal)"); Q_ASSERT(idx != -1); return Scene3DItem::staticMetaObject.method(idx); } @@ -275,8 +275,9 @@ void Scene3DRenderer::render() if (sizeHasChanged) { // We are in the QSGRenderThread (doing a direct call would result in a race) - static const QMetaMethod setItemArea = setItemAreaMethod(); - setItemArea.invoke(m_item, Qt::QueuedConnection, Q_ARG(QSize, boundingRectSize)); + static const QMetaMethod setItemAreaAndDevicePixelRatio = setItemAreaAndDevicePixelRatioMethod(); + setItemAreaAndDevicePixelRatio.invoke(m_item, Qt::QueuedConnection, Q_ARG(QSize, boundingRectSize), + Q_ARG(qreal, m_window->effectiveDevicePixelRatio())); } // Rebuild FBO and textures if never created or a resize has occurred diff --git a/src/quick3d/quick3d/items/quick3dnodeinstantiator.cpp b/src/quick3d/quick3d/items/quick3dnodeinstantiator.cpp index b99f6ae75..21f58e56d 100644 --- a/src/quick3d/quick3d/items/quick3dnodeinstantiator.cpp +++ b/src/quick3d/quick3d/items/quick3dnodeinstantiator.cpp @@ -135,7 +135,8 @@ void Quick3DNodeInstantiatorPrivate::regenerate() } for (int i = 0; i < m_instanceModel->count(); i++) { - QObject *object = m_instanceModel->object(i, m_async); + QObject *object = m_instanceModel->object(i, m_async ? + QQmlIncubator::Asynchronous : QQmlIncubator::AsynchronousIfNested); // If the item was already created we won't get a createdItem if (object) _q_createdItem(i, object); @@ -202,7 +203,8 @@ void Quick3DNodeInstantiatorPrivate::_q_modelUpdated(const QQmlChangeSet &change m_objects = m_objects.mid(0, index) + movedObjects + m_objects.mid(index); } else for (int i = 0; i < insert.count; ++i) { int modelIndex = index + i; - QObject *obj = m_instanceModel->object(modelIndex, m_async); + QObject *obj = m_instanceModel->object(modelIndex, m_async ? + QQmlIncubator::Asynchronous : QQmlIncubator::AsynchronousIfNested); if (obj) _q_createdItem(modelIndex, obj); } diff --git a/src/render/backend/entity_p.h b/src/render/backend/entity_p.h index 52ad85281..d2227965d 100644 --- a/src/render/backend/entity_p.h +++ b/src/render/backend/entity_p.h @@ -124,16 +124,16 @@ public: void removeRecursiveLayerId(const Qt3DCore::QNodeId layerId); void clearRecursiveLayerIds() { m_recursiveLayerComponents.clear(); } - template<class Backend, uint INDEXBITS> - Qt3DCore::QHandle<Backend, INDEXBITS> componentHandle() const + template<class Backend> + Qt3DCore::QHandle<Backend> componentHandle() const { - return Qt3DCore::QHandle<Backend, INDEXBITS>(); + return Qt3DCore::QHandle<Backend>(); } - template<class Backend, uint INDEXBITS> - QVector<Qt3DCore::QHandle<Backend, INDEXBITS> > componentsHandle() const + template<class Backend> + QVector<Qt3DCore::QHandle<Backend> > componentsHandle() const { - return QVector<Qt3DCore::QHandle<Backend, INDEXBITS> >(); + return QVector<Qt3DCore::QHandle<Backend> >(); } template<class Backend> diff --git a/src/render/backend/handle_types_p.h b/src/render/backend/handle_types_p.h index bb5836ab4..4062aadeb 100644 --- a/src/render/backend/handle_types_p.h +++ b/src/render/backend/handle_types_p.h @@ -99,42 +99,42 @@ class Armature; class Skeleton; class Joint; -typedef Qt3DCore::QHandle<RenderTargetOutput, 16> HAttachment; -typedef Qt3DCore::QHandle<CameraLens, 8> HCamera; -typedef Qt3DCore::QHandle<FilterKey, 16> HFilterKey; -typedef Qt3DCore::QHandle<Effect, 16> HEffect; -typedef Qt3DCore::QHandle<Entity, 16> HEntity; -typedef Qt3DCore::QHandle<FrameGraphNode *, 8> HFrameGraphNode; -typedef Qt3DCore::QHandle<Layer, 16> HLayer; -typedef Qt3DCore::QHandle<LevelOfDetail, 16> HLevelOfDetail; -typedef Qt3DCore::QHandle<Material, 16> HMaterial; -typedef Qt3DCore::QHandle<QMatrix4x4, 16> HMatrix; -typedef Qt3DCore::QHandle<OpenGLVertexArrayObject, 16> HVao; -typedef Qt3DCore::QHandle<Shader, 16> HShader; -typedef Qt3DCore::QHandle<ShaderBuilder, 16> HShaderBuilder; -typedef Qt3DCore::QHandle<Technique, 16> HTechnique; -typedef Qt3DCore::QHandle<Texture, 16> HTexture; -typedef Qt3DCore::QHandle<Transform, 16> HTransform; -typedef Qt3DCore::QHandle<RenderTarget, 8> HTarget; -typedef Qt3DCore::QHandle<RenderPass, 16> HRenderPass; -typedef Qt3DCore::QHandle<QTextureImageData, 16> HTextureData; -typedef Qt3DCore::QHandle<Parameter, 16> HParameter; -typedef Qt3DCore::QHandle<ShaderData, 16> HShaderData; -typedef Qt3DCore::QHandle<TextureImage, 16> HTextureImage; -typedef Qt3DCore::QHandle<Buffer, 16> HBuffer; -typedef Qt3DCore::QHandle<Attribute, 20> HAttribute; -typedef Qt3DCore::QHandle<Geometry, 16> HGeometry; -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<EnvironmentLight, 16> HEnvironmentLight; -typedef Qt3DCore::QHandle<ComputeCommand, 16> HComputeCommand; -typedef Qt3DCore::QHandle<GLBuffer, 16> HGLBuffer; -typedef Qt3DCore::QHandle<RenderStateNode, 16> HRenderState; -typedef Qt3DCore::QHandle<Armature, 16> HArmature; -typedef Qt3DCore::QHandle<Skeleton, 16> HSkeleton; -typedef Qt3DCore::QHandle<Joint, 16> HJoint; +typedef Qt3DCore::QHandle<RenderTargetOutput> HAttachment; +typedef Qt3DCore::QHandle<CameraLens> HCamera; +typedef Qt3DCore::QHandle<FilterKey> HFilterKey; +typedef Qt3DCore::QHandle<Effect> HEffect; +typedef Qt3DCore::QHandle<Entity> HEntity; +typedef Qt3DCore::QHandle<FrameGraphNode *> HFrameGraphNode; +typedef Qt3DCore::QHandle<Layer> HLayer; +typedef Qt3DCore::QHandle<LevelOfDetail> HLevelOfDetail; +typedef Qt3DCore::QHandle<Material> HMaterial; +typedef Qt3DCore::QHandle<QMatrix4x4> HMatrix; +typedef Qt3DCore::QHandle<OpenGLVertexArrayObject> HVao; +typedef Qt3DCore::QHandle<Shader> HShader; +typedef Qt3DCore::QHandle<ShaderBuilder> HShaderBuilder; +typedef Qt3DCore::QHandle<Technique> HTechnique; +typedef Qt3DCore::QHandle<Texture> HTexture; +typedef Qt3DCore::QHandle<Transform> HTransform; +typedef Qt3DCore::QHandle<RenderTarget> HTarget; +typedef Qt3DCore::QHandle<RenderPass> HRenderPass; +typedef Qt3DCore::QHandle<QTextureImageData> HTextureData; +typedef Qt3DCore::QHandle<Parameter> HParameter; +typedef Qt3DCore::QHandle<ShaderData> HShaderData; +typedef Qt3DCore::QHandle<TextureImage> HTextureImage; +typedef Qt3DCore::QHandle<Buffer> HBuffer; +typedef Qt3DCore::QHandle<Attribute> HAttribute; +typedef Qt3DCore::QHandle<Geometry> HGeometry; +typedef Qt3DCore::QHandle<GeometryRenderer> HGeometryRenderer; +typedef Qt3DCore::QHandle<ObjectPicker> HObjectPicker; +typedef Qt3DCore::QHandle<BoundingVolumeDebug> HBoundingVolumeDebug; +typedef Qt3DCore::QHandle<Light> HLight; +typedef Qt3DCore::QHandle<EnvironmentLight> HEnvironmentLight; +typedef Qt3DCore::QHandle<ComputeCommand> HComputeCommand; +typedef Qt3DCore::QHandle<GLBuffer> HGLBuffer; +typedef Qt3DCore::QHandle<RenderStateNode> HRenderState; +typedef Qt3DCore::QHandle<Armature> HArmature; +typedef Qt3DCore::QHandle<Skeleton> HSkeleton; +typedef Qt3DCore::QHandle<Joint> HJoint; } // namespace Render diff --git a/src/render/backend/managers_p.h b/src/render/backend/managers_p.h index f19b9261a..b811057cb 100644 --- a/src/render/backend/managers_p.h +++ b/src/render/backend/managers_p.h @@ -93,7 +93,6 @@ namespace Render { class AttachmentManager : public Qt3DCore::QResourceManager< RenderTargetOutput, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -103,7 +102,6 @@ public: class CameraManager : public Qt3DCore::QResourceManager< CameraLens, Qt3DCore::QNodeId, - 8, Qt3DCore::NonLockingPolicy> { public: @@ -113,7 +111,6 @@ public: class FilterKeyManager : public Qt3DCore::QResourceManager< FilterKey, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { @@ -124,7 +121,6 @@ public: class EffectManager : public Qt3DCore::QResourceManager< Effect, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -134,7 +130,6 @@ public: class Q_AUTOTEST_EXPORT EntityManager : public Qt3DCore::QResourceManager< Entity, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -168,7 +163,6 @@ private: class LayerManager : public Qt3DCore::QResourceManager< Layer, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -178,7 +172,6 @@ public: class LevelOfDetailManager : public Qt3DCore::QResourceManager< LevelOfDetail, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -188,7 +181,6 @@ public: class MaterialManager : public Qt3DCore::QResourceManager< Material, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -198,7 +190,6 @@ public: class MatrixManager : public Qt3DCore::QResourceManager< QMatrix4x4, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -208,7 +199,6 @@ public: class ShaderManager : public Qt3DCore::QResourceManager< Shader, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -218,7 +208,6 @@ public: class ShaderBuilderManager : public Qt3DCore::QResourceManager< ShaderBuilder, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -228,7 +217,6 @@ public: class TextureManager : public Qt3DCore::QResourceManager< Texture, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -253,7 +241,6 @@ private: class TransformManager : public Qt3DCore::QResourceManager< Transform, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -263,7 +250,6 @@ public: class VAOManager : public Qt3DCore::QResourceManager< OpenGLVertexArrayObject, VAOIdentifier, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -273,7 +259,6 @@ public: class RenderTargetManager : public Qt3DCore::QResourceManager< RenderTarget, Qt3DCore::QNodeId, - 8, Qt3DCore::NonLockingPolicy> { public: @@ -283,7 +268,6 @@ public: class RenderPassManager : public Qt3DCore::QResourceManager< RenderPass, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -294,7 +278,6 @@ public: class ParameterManager : public Qt3DCore::QResourceManager< Parameter, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -304,7 +287,6 @@ public: class ShaderDataManager : public Qt3DCore::QResourceManager< ShaderData, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -314,7 +296,6 @@ public: class GLBufferManager : public Qt3DCore::QResourceManager< GLBuffer, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { }; @@ -322,7 +303,6 @@ class GLBufferManager : public Qt3DCore::QResourceManager< class TextureImageManager : public Qt3DCore::QResourceManager< TextureImage, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { }; @@ -330,7 +310,6 @@ class TextureImageManager : public Qt3DCore::QResourceManager< class AttributeManager : public Qt3DCore::QResourceManager< Attribute, Qt3DCore::QNodeId, - 20, Qt3DCore::NonLockingPolicy> { }; @@ -338,7 +317,6 @@ class AttributeManager : public Qt3DCore::QResourceManager< class GeometryManager : public Qt3DCore::QResourceManager< Geometry, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { }; @@ -346,7 +324,6 @@ class GeometryManager : public Qt3DCore::QResourceManager< class ObjectPickerManager : public Qt3DCore::QResourceManager< ObjectPicker, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { }; @@ -355,7 +332,6 @@ class ObjectPickerManager : public Qt3DCore::QResourceManager< class BoundingVolumeDebugManager : public Qt3DCore::QResourceManager< BoundingVolumeDebug, Qt3DCore::QNodeId, - 16, Qt3DCore::ObjectLevelLockingPolicy> { }; @@ -364,7 +340,6 @@ class BoundingVolumeDebugManager : public Qt3DCore::QResourceManager< class LightManager : public Qt3DCore::QResourceManager< Light, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -374,7 +349,6 @@ public: class EnvironmentLightManager : public Qt3DCore::QResourceManager< EnvironmentLight, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -384,7 +358,6 @@ public: class ComputeCommandManager : public Qt3DCore::QResourceManager< ComputeCommand, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -394,7 +367,6 @@ public: class RenderStateManager : public Qt3DCore::QResourceManager< RenderStateNode, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { }; @@ -402,7 +374,6 @@ class RenderStateManager : public Qt3DCore::QResourceManager< class ArmatureManager : public Qt3DCore::QResourceManager< Armature, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { }; @@ -410,7 +381,6 @@ class ArmatureManager : public Qt3DCore::QResourceManager< class SkeletonManager : public Qt3DCore::QResourceManager< Skeleton, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: @@ -430,7 +400,6 @@ private: class JointManager : public Qt3DCore::QResourceManager< Joint, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: diff --git a/src/render/backend/renderview.cpp b/src/render/backend/renderview.cpp index 68dfb33f3..31de8c1c8 100644 --- a/src/render/backend/renderview.cpp +++ b/src/render/backend/renderview.cpp @@ -558,14 +558,15 @@ QVector<RenderCommand *> RenderView::buildDrawRenderCommands(const QVector<Entit for (Entity *entity : entities) { GeometryRenderer *geometryRenderer = nullptr; - HGeometryRenderer geometryRendererHandle = entity->componentHandle<GeometryRenderer, 16>(); + HGeometryRenderer geometryRendererHandle = entity->componentHandle<GeometryRenderer>(); + // There is a geometry renderer with geometry if ((geometryRenderer = m_manager->geometryRendererManager()->data(geometryRendererHandle)) != nullptr && geometryRenderer->isEnabled() && !geometryRenderer->geometryId().isNull()) { const Qt3DCore::QNodeId materialComponentId = entity->componentUuid<Material>(); - const HMaterial materialHandle = entity->componentHandle<Material, 16>(); + const HMaterial materialHandle = entity->componentHandle<Material>(); const QVector<RenderPassParameterData> renderPassData = m_parameters.value(materialComponentId); HGeometry geometryHandle = m_manager->lookupHandle<Geometry, GeometryManager, HGeometry>(geometryRenderer->geometryId()); Geometry *geometry = m_manager->data<Geometry, GeometryManager>(geometryHandle); diff --git a/src/render/framegraph/qbuffercapture.h b/src/render/framegraph/qbuffercapture.h index d77266828..ab8c7d2c2 100644 --- a/src/render/framegraph/qbuffercapture.h +++ b/src/render/framegraph/qbuffercapture.h @@ -42,7 +42,7 @@ #include <Qt3DRender/QFrameGraphNode> #include <Qt3DRender/QBuffer> -#include <QByteArray> +#include <QtCore/QByteArray> QT_BEGIN_NAMESPACE diff --git a/src/render/framegraph/qclearbuffers.h b/src/render/framegraph/qclearbuffers.h index 91828c222..138e49450 100644 --- a/src/render/framegraph/qclearbuffers.h +++ b/src/render/framegraph/qclearbuffers.h @@ -42,8 +42,8 @@ #include <Qt3DRender/qframegraphnode.h> #include <Qt3DRender/qrendertargetoutput.h> -#include <QColor> -#include <QFlags> +#include <QtGui/QColor> +#include <QtCore/QFlags> QT_BEGIN_NAMESPACE diff --git a/src/render/framegraph/qframegraphnode.h b/src/render/framegraph/qframegraphnode.h index eb43708e1..b9ff6bbfb 100644 --- a/src/render/framegraph/qframegraphnode.h +++ b/src/render/framegraph/qframegraphnode.h @@ -42,7 +42,7 @@ #include <Qt3DCore/qnode.h> #include <Qt3DRender/qt3drender_global.h> -#include <QObject> +#include <QtCore/QObject> QT_BEGIN_NAMESPACE diff --git a/src/render/framegraph/qlayerfilter.h b/src/render/framegraph/qlayerfilter.h index 68854c722..05c9b21ae 100644 --- a/src/render/framegraph/qlayerfilter.h +++ b/src/render/framegraph/qlayerfilter.h @@ -41,7 +41,7 @@ #define QT3DRENDER_QLAYERFILTER_H #include <Qt3DRender/qframegraphnode.h> -#include <QStringList> +#include <QtCore/QStringList> QT_BEGIN_NAMESPACE diff --git a/src/render/framegraph/qrendercapture.h b/src/render/framegraph/qrendercapture.h index b3545a8ec..2a0f8429f 100644 --- a/src/render/framegraph/qrendercapture.h +++ b/src/render/framegraph/qrendercapture.h @@ -38,7 +38,7 @@ #define QRENDERCAPTURE_H #include <Qt3DRender/QFrameGraphNode> -#include <QImage> +#include <QtGui/QImage> QT_BEGIN_NAMESPACE diff --git a/src/render/framegraph/qrenderpassfilter.h b/src/render/framegraph/qrenderpassfilter.h index 934d0479b..c5b5d872e 100644 --- a/src/render/framegraph/qrenderpassfilter.h +++ b/src/render/framegraph/qrenderpassfilter.h @@ -42,7 +42,7 @@ #include <Qt3DRender/qt3drender_global.h> #include <Qt3DRender/qframegraphnode.h> -#include <QString> +#include <QtCore/QString> QT_BEGIN_NAMESPACE diff --git a/src/render/framegraph/qviewport.h b/src/render/framegraph/qviewport.h index 66a3428c5..fabd15174 100644 --- a/src/render/framegraph/qviewport.h +++ b/src/render/framegraph/qviewport.h @@ -41,8 +41,8 @@ #define QT3DRENDER_QVIEWPORT_H #include <Qt3DRender/qframegraphnode.h> -#include <QRectF> -#include <QColor> +#include <QtCore/QRectF> +#include <QtGui/QColor> QT_BEGIN_NAMESPACE diff --git a/src/render/framegraph/renderpassfilternode_p.h b/src/render/framegraph/renderpassfilternode_p.h index ee9137b04..cd0d3a361 100644 --- a/src/render/framegraph/renderpassfilternode_p.h +++ b/src/render/framegraph/renderpassfilternode_p.h @@ -62,7 +62,7 @@ namespace Qt3DRender { class QFilterKey; class QRenderPassFilter; -template <typename T, uint INDEXBITS> +template <typename T> class QHandle; namespace Render { diff --git a/src/render/framegraph/techniquefilternode_p.h b/src/render/framegraph/techniquefilternode_p.h index 091dc1cf7..3fb8abb84 100644 --- a/src/render/framegraph/techniquefilternode_p.h +++ b/src/render/framegraph/techniquefilternode_p.h @@ -65,7 +65,7 @@ namespace Qt3DRender { class QFilterKey; class QTechniqueFilter; -template <typename T, uint INDEXBITS> +template <typename T> class QHandle; namespace Render { diff --git a/src/render/frontend/qcamera.h b/src/render/frontend/qcamera.h index 5c86ea122..e31615741 100644 --- a/src/render/frontend/qcamera.h +++ b/src/render/frontend/qcamera.h @@ -43,9 +43,9 @@ #include <Qt3DCore/qentity.h> #include <Qt3DRender/qt3drender_global.h> #include <Qt3DRender/qcameralens.h> -#include <QMatrix4x4> -#include <QQuaternion> -#include <QVector3D> +#include <QtGui/QMatrix4x4> +#include <QtGui/QQuaternion> +#include <QtGui/QVector3D> QT_BEGIN_NAMESPACE diff --git a/src/render/frontend/qcameralens.h b/src/render/frontend/qcameralens.h index 0cd22e348..3b254d892 100644 --- a/src/render/frontend/qcameralens.h +++ b/src/render/frontend/qcameralens.h @@ -43,9 +43,9 @@ #include <Qt3DCore/qcomponent.h> #include <Qt3DRender/qt3drender_global.h> -#include <QMatrix4x4> -#include <QQuaternion> -#include <QVector3D> +#include <QtGui/QMatrix4x4> +#include <QtGui/QQuaternion> +#include <QtGui/QVector3D> QT_BEGIN_NAMESPACE diff --git a/src/render/frontend/qlayer.h b/src/render/frontend/qlayer.h index c57a6fe03..27910f190 100644 --- a/src/render/frontend/qlayer.h +++ b/src/render/frontend/qlayer.h @@ -42,7 +42,7 @@ #include <Qt3DCore/qcomponent.h> #include <Qt3DRender/qt3drender_global.h> -#include <QStringList> +#include <QtCore/QStringList> QT_BEGIN_NAMESPACE diff --git a/src/render/frontend/qlevelofdetail.h b/src/render/frontend/qlevelofdetail.h index b36a430e4..e24ee4ac0 100644 --- a/src/render/frontend/qlevelofdetail.h +++ b/src/render/frontend/qlevelofdetail.h @@ -44,7 +44,7 @@ #include <Qt3DRender/qt3drender_global.h> #include <Qt3DRender/qlevelofdetailboundingsphere.h> -#include <QVector3D> +#include <QtGui/QVector3D> QT_BEGIN_NAMESPACE diff --git a/src/render/frontend/qlevelofdetailboundingsphere.h b/src/render/frontend/qlevelofdetailboundingsphere.h index b35df95e8..43ba422a8 100644 --- a/src/render/frontend/qlevelofdetailboundingsphere.h +++ b/src/render/frontend/qlevelofdetailboundingsphere.h @@ -43,7 +43,7 @@ #include <Qt3DCore/qcomponent.h> #include <Qt3DRender/qt3drender_global.h> -#include <QVector3D> +#include <QtGui/QVector3D> QT_BEGIN_NAMESPACE diff --git a/src/render/geometry/buffermanager_p.h b/src/render/geometry/buffermanager_p.h index 4805955bd..df97a5193 100644 --- a/src/render/geometry/buffermanager_p.h +++ b/src/render/geometry/buffermanager_p.h @@ -63,7 +63,6 @@ namespace Render { class Q_AUTOTEST_EXPORT BufferManager : public Qt3DCore::QResourceManager< Buffer, Qt3DCore::QNodeId, - 16, Qt3DCore::ObjectLevelLockingPolicy> { public: diff --git a/src/render/geometry/geometryrenderermanager_p.h b/src/render/geometry/geometryrenderermanager_p.h index e3b313569..becf1bcc1 100644 --- a/src/render/geometry/geometryrenderermanager_p.h +++ b/src/render/geometry/geometryrenderermanager_p.h @@ -63,7 +63,6 @@ namespace Render { class Q_AUTOTEST_EXPORT GeometryRendererManager : public Qt3DCore::QResourceManager< GeometryRenderer, Qt3DCore::QNodeId, - 16, Qt3DCore::ObjectLevelLockingPolicy> { public: diff --git a/src/render/geometry/qbuffer.h b/src/render/geometry/qbuffer.h index 89b62ab24..7172f3661 100644 --- a/src/render/geometry/qbuffer.h +++ b/src/render/geometry/qbuffer.h @@ -42,7 +42,7 @@ #include <Qt3DCore/qnode.h> #include <Qt3DRender/qt3drender_global.h> -#include <QSharedPointer> +#include <QtCore/QSharedPointer> QT_BEGIN_NAMESPACE diff --git a/src/render/geometry/qbufferdatagenerator.h b/src/render/geometry/qbufferdatagenerator.h index 702f396d4..004eb26eb 100644 --- a/src/render/geometry/qbufferdatagenerator.h +++ b/src/render/geometry/qbufferdatagenerator.h @@ -42,7 +42,7 @@ #include <Qt3DRender/qt3drender_global.h> #include <Qt3DRender/qabstractfunctor.h> -#include <QSharedPointer> +#include <QtCore/QSharedPointer> QT_BEGIN_NAMESPACE diff --git a/src/render/geometry/qgeometryfactory.h b/src/render/geometry/qgeometryfactory.h index d5d88a45d..2e4d5c821 100644 --- a/src/render/geometry/qgeometryfactory.h +++ b/src/render/geometry/qgeometryfactory.h @@ -42,7 +42,7 @@ #include <Qt3DRender/qt3drender_global.h> #include <Qt3DRender/qabstractfunctor.h> -#include <QSharedPointer> +#include <QtCore/QSharedPointer> QT_BEGIN_NAMESPACE diff --git a/src/render/geometry/qmesh.h b/src/render/geometry/qmesh.h index fab76a249..51fdab63a 100644 --- a/src/render/geometry/qmesh.h +++ b/src/render/geometry/qmesh.h @@ -42,7 +42,7 @@ #include <Qt3DRender/qt3drender_global.h> #include <Qt3DRender/qgeometryrenderer.h> -#include <QUrl> +#include <QtCore/QUrl> QT_BEGIN_NAMESPACE diff --git a/src/render/io/qsceneloader.h b/src/render/io/qsceneloader.h index 31ec47ac0..2790bcccb 100644 --- a/src/render/io/qsceneloader.h +++ b/src/render/io/qsceneloader.h @@ -43,7 +43,7 @@ #include <Qt3DCore/qcomponent.h> #include <Qt3DCore/qscenechange.h> #include <Qt3DRender/qt3drender_global.h> -#include <QUrl> +#include <QtCore/QUrl> QT_BEGIN_NAMESPACE diff --git a/src/render/io/scenemanager.cpp b/src/render/io/scenemanager.cpp index 784751857..cdf8aae87 100644 --- a/src/render/io/scenemanager.cpp +++ b/src/render/io/scenemanager.cpp @@ -44,10 +44,10 @@ QT_BEGIN_NAMESPACE namespace Qt3DRender { namespace Render { -SceneManager::SceneManager() : Qt3DCore::QResourceManager<Scene, - Qt3DCore::QNodeId, - 8, - Qt3DCore::ObjectLevelLockingPolicy>() +SceneManager::SceneManager() + : Qt3DCore::QResourceManager<Scene, + Qt3DCore::QNodeId, + Qt3DCore::ObjectLevelLockingPolicy>() , m_service(nullptr) { } diff --git a/src/render/io/scenemanager_p.h b/src/render/io/scenemanager_p.h index d7dd8c752..398569181 100644 --- a/src/render/io/scenemanager_p.h +++ b/src/render/io/scenemanager_p.h @@ -85,7 +85,6 @@ typedef QSharedPointer<SceneDownloader> SceneDownloaderPtr; class Q_AUTOTEST_EXPORT SceneManager : public Qt3DCore::QResourceManager< Scene, Qt3DCore::QNodeId, - 8, Qt3DCore::ObjectLevelLockingPolicy> { public: diff --git a/src/render/jobs/pickboundingvolumejob.cpp b/src/render/jobs/pickboundingvolumejob.cpp index df78f8f0a..3f0675376 100644 --- a/src/render/jobs/pickboundingvolumejob.cpp +++ b/src/render/jobs/pickboundingvolumejob.cpp @@ -330,14 +330,14 @@ void PickBoundingVolumeJob::dispatchPickEvents(const QMouseEvent &event, for (const QCollisionQueryResult::Hit &hit : qAsConst(sphereHits)) { Entity *entity = m_manager->renderNodesManager()->lookupResource(hit.m_entityId); - HObjectPicker objectPickerHandle = entity->componentHandle<ObjectPicker, 16>(); + HObjectPicker objectPickerHandle = entity->componentHandle<ObjectPicker>(); // If the Entity which actually received the hit doesn't have // an object picker component, we need to check the parent if it has one ... while (objectPickerHandle.isNull() && entity != nullptr) { entity = entity->parent(); if (entity != nullptr) - objectPickerHandle = entity->componentHandle<ObjectPicker, 16>(); + objectPickerHandle = entity->componentHandle<ObjectPicker>(); } ObjectPicker *objectPicker = m_manager->objectPickerManager()->data(objectPickerHandle); diff --git a/src/render/jobs/pickboundingvolumeutils.cpp b/src/render/jobs/pickboundingvolumeutils.cpp index 5a32f0203..73095f497 100644 --- a/src/render/jobs/pickboundingvolumeutils.cpp +++ b/src/render/jobs/pickboundingvolumeutils.cpp @@ -426,7 +426,7 @@ AbstractCollisionGathererFunctor::~AbstractCollisionGathererFunctor() HitList AbstractCollisionGathererFunctor::operator ()(const Entity *entity) const { - HObjectPicker objectPickerHandle = entity->componentHandle<ObjectPicker, 16>(); + HObjectPicker objectPickerHandle = entity->componentHandle<ObjectPicker>(); // If the Entity which actually received the hit doesn't have // an object picker component, we need to check the parent if it has one ... @@ -434,7 +434,7 @@ HitList AbstractCollisionGathererFunctor::operator ()(const Entity *entity) cons while (objectPickerHandle.isNull() && parentEntity != nullptr) { parentEntity = parentEntity->parent(); if (parentEntity != nullptr) - objectPickerHandle = parentEntity->componentHandle<ObjectPicker, 16>(); + objectPickerHandle = parentEntity->componentHandle<ObjectPicker>(); } ObjectPicker *objectPicker = m_manager->objectPickerManager()->data(objectPickerHandle); @@ -568,7 +568,7 @@ bool HierarchicalEntityPicker::collectHits(Entity *root) QRayCastingService rayCasting; std::vector<std::pair<Entity *, bool>> worklist; - worklist.push_back({root, !root->componentHandle<ObjectPicker, 16>().isNull()}); + worklist.push_back({root, !root->componentHandle<ObjectPicker>().isNull()}); while (!worklist.empty()) { auto current = worklist.back(); @@ -589,7 +589,7 @@ bool HierarchicalEntityPicker::collectHits(Entity *root) // and pick children for (auto child: current.first->children()) - worklist.push_back({child, current.second || !child->componentHandle<ObjectPicker, 16>().isNull()}); + worklist.push_back({child, current.second || !child->componentHandle<ObjectPicker>().isNull()}); } return !m_hits.empty(); diff --git a/src/render/jobs/updateskinningpalettejob.cpp b/src/render/jobs/updateskinningpalettejob.cpp index 9cb80c42b..edaa30127 100644 --- a/src/render/jobs/updateskinningpalettejob.cpp +++ b/src/render/jobs/updateskinningpalettejob.cpp @@ -99,7 +99,7 @@ void UpdateSkinningPaletteJob::findDirtyArmatures(Entity *entity, // TODO: Be smarter about limiting which armatures we update. For e.g. only // those with skeletons that have changed and only those that are within view // of one or more renderviews. - const auto armatureHandle = entity->componentHandle<Armature, 16>(); + const auto armatureHandle = entity->componentHandle<Armature>(); if (!armatureHandle.isNull() && !armatures.contains(armatureHandle)) armatures.push_back(armatureHandle); diff --git a/src/render/lights/qabstractlight.h b/src/render/lights/qabstractlight.h index 33a88b215..24d7686fd 100644 --- a/src/render/lights/qabstractlight.h +++ b/src/render/lights/qabstractlight.h @@ -43,8 +43,8 @@ #include <Qt3DRender/qt3drender_global.h> #include <Qt3DCore/qcomponent.h> -#include <QVector3D> -#include <QColor> +#include <QtGui/QVector3D> +#include <QtGui/QColor> QT_BEGIN_NAMESPACE diff --git a/src/render/materialsystem/qfilterkey.h b/src/render/materialsystem/qfilterkey.h index 16db2a9e8..009447c88 100644 --- a/src/render/materialsystem/qfilterkey.h +++ b/src/render/materialsystem/qfilterkey.h @@ -42,7 +42,7 @@ #include <Qt3DRender/qt3drender_global.h> #include <Qt3DCore/qnode.h> -#include <QVariant> +#include <QtCore/QVariant> QT_BEGIN_NAMESPACE diff --git a/src/render/materialsystem/qgraphicsapifilter.h b/src/render/materialsystem/qgraphicsapifilter.h index 488d8bd4b..f1d6956b3 100644 --- a/src/render/materialsystem/qgraphicsapifilter.h +++ b/src/render/materialsystem/qgraphicsapifilter.h @@ -40,10 +40,10 @@ #ifndef QT3DRENDER_QGRAPHICSAPIFILTER_H #define QT3DRENDER_QGRAPHICSAPIFILTER_H -#include <QObject> -#include <QStringList> +#include <QtCore/QObject> +#include <QtCore/QStringList> #include <Qt3DRender/qt3drender_global.h> -#include <QSurfaceFormat> +#include <QtGui/QSurfaceFormat> QT_BEGIN_NAMESPACE diff --git a/src/render/materialsystem/qmaterial.h b/src/render/materialsystem/qmaterial.h index e11d30e5c..aa7a9cf8d 100644 --- a/src/render/materialsystem/qmaterial.h +++ b/src/render/materialsystem/qmaterial.h @@ -40,7 +40,7 @@ #ifndef QT3DRENDER_QMATERIAL_H #define QT3DRENDER_QMATERIAL_H -#include <QVariant> +#include <QtCore/QVariant> #include <Qt3DCore/qcomponent.h> #include <Qt3DRender/qt3drender_global.h> diff --git a/src/render/materialsystem/qparameter.h b/src/render/materialsystem/qparameter.h index c742b5e22..cbf30a5a8 100644 --- a/src/render/materialsystem/qparameter.h +++ b/src/render/materialsystem/qparameter.h @@ -40,7 +40,7 @@ #ifndef QT3DRENDER_QPARAMETER_H #define QT3DRENDER_QPARAMETER_H -#include <QVariant> +#include <QtCore/QVariant> #include <Qt3DCore/qnode.h> #include <Qt3DRender/qt3drender_global.h> diff --git a/src/render/materialsystem/qrenderpass.h b/src/render/materialsystem/qrenderpass.h index 9c608d0c4..b19436e90 100644 --- a/src/render/materialsystem/qrenderpass.h +++ b/src/render/materialsystem/qrenderpass.h @@ -47,7 +47,7 @@ #include <Qt3DRender/qrenderstate.h> #include <Qt3DRender/qfilterkey.h> -#include <QHash> +#include <QtCore/QHash> QT_BEGIN_NAMESPACE diff --git a/src/render/materialsystem/qshaderdata.h b/src/render/materialsystem/qshaderdata.h index e695d1eb0..7f32e2405 100644 --- a/src/render/materialsystem/qshaderdata.h +++ b/src/render/materialsystem/qshaderdata.h @@ -42,7 +42,7 @@ #include <Qt3DCore/qcomponent.h> #include <Qt3DRender/qt3drender_global.h> -#include <QVector> +#include <QtCore/QVector> QT_BEGIN_NAMESPACE diff --git a/src/render/materialsystem/qtechnique.h b/src/render/materialsystem/qtechnique.h index cf5c034e8..6bab92a2a 100644 --- a/src/render/materialsystem/qtechnique.h +++ b/src/render/materialsystem/qtechnique.h @@ -44,8 +44,8 @@ #include <Qt3DCore/qnode.h> #include <Qt3DRender/qrenderpass.h> #include <Qt3DRender/qfilterkey.h> -#include <QVector> -#include <QSharedPointer> +#include <QtCore/QVector> +#include <QtCore/QSharedPointer> QT_BEGIN_NAMESPACE diff --git a/src/render/materialsystem/techniquemanager_p.h b/src/render/materialsystem/techniquemanager_p.h index 5b390f94b..8108d5f5b 100644 --- a/src/render/materialsystem/techniquemanager_p.h +++ b/src/render/materialsystem/techniquemanager_p.h @@ -63,7 +63,6 @@ namespace Render { class Q_AUTOTEST_EXPORT TechniqueManager : public Qt3DCore::QResourceManager< Technique, Qt3DCore::QNodeId, - 16, Qt3DCore::NonLockingPolicy> { public: diff --git a/src/render/picking/qpickevent.h b/src/render/picking/qpickevent.h index 3fbee0d30..7d854043e 100644 --- a/src/render/picking/qpickevent.h +++ b/src/render/picking/qpickevent.h @@ -40,9 +40,9 @@ #ifndef QT3DRENDER_QPICKEVENT_H #define QT3DRENDER_QPICKEVENT_H -#include <QObject> -#include <QVector3D> -#include <QPointF> +#include <QtCore/QObject> +#include <QtGui/QVector3D> +#include <QtCore/QPointF> #include <Qt3DRender/qt3drender_global.h> QT_BEGIN_NAMESPACE diff --git a/src/render/renderstates/qstenciloperationarguments.h b/src/render/renderstates/qstenciloperationarguments.h index db80ecc19..9705c9822 100644 --- a/src/render/renderstates/qstenciloperationarguments.h +++ b/src/render/renderstates/qstenciloperationarguments.h @@ -40,7 +40,7 @@ #ifndef QT3DRENDER_QSTENCILOPERATIONARGUMENTS_H #define QT3DRENDER_QSTENCILOPERATIONARGUMENTS_H -#include <QObject> +#include <QtCore/QObject> #include <Qt3DRender/qt3drender_global.h> QT_BEGIN_NAMESPACE diff --git a/src/render/renderstates/qstenciltestarguments.h b/src/render/renderstates/qstenciltestarguments.h index f20885d03..35447d477 100644 --- a/src/render/renderstates/qstenciltestarguments.h +++ b/src/render/renderstates/qstenciltestarguments.h @@ -40,7 +40,7 @@ #ifndef QT3DRENDER_QSTENCILTESTARGUMENTS_H #define QT3DRENDER_QSTENCILTESTARGUMENTS_H -#include <QObject> +#include <QtCore/QObject> #include <Qt3DRender/qt3drender_global.h> QT_BEGIN_NAMESPACE diff --git a/src/render/texture/qtexturegenerator.h b/src/render/texture/qtexturegenerator.h index faa9e1c7b..10f0cde57 100644 --- a/src/render/texture/qtexturegenerator.h +++ b/src/render/texture/qtexturegenerator.h @@ -43,7 +43,7 @@ #include <Qt3DRender/qabstractfunctor.h> #include <Qt3DRender/qabstracttexture.h> #include <Qt3DRender/qtexturewrapmode.h> -#include <QSharedPointer> +#include <QtCore/QSharedPointer> QT_BEGIN_NAMESPACE diff --git a/src/render/texture/qtextureimage.h b/src/render/texture/qtextureimage.h index e2ab54a1b..9f1124ee7 100644 --- a/src/render/texture/qtextureimage.h +++ b/src/render/texture/qtextureimage.h @@ -40,7 +40,7 @@ #ifndef QT3DRENDER_QTEXTUREIMAGE_H #define QT3DRENDER_QTEXTUREIMAGE_H -#include <QUrl> +#include <QtCore/QUrl> #include <Qt3DRender/qabstracttextureimage.h> QT_BEGIN_NAMESPACE diff --git a/src/render/texture/qtextureimagedatagenerator.h b/src/render/texture/qtextureimagedatagenerator.h index 5213f3929..0e7e6c782 100644 --- a/src/render/texture/qtextureimagedatagenerator.h +++ b/src/render/texture/qtextureimagedatagenerator.h @@ -41,7 +41,7 @@ #define QT3DRENDER_QTEXTUREIMAGEDATAGENERATOR_H #include <Qt3DRender/qabstractfunctor.h> -#include <QSharedPointer> +#include <QtCore/QSharedPointer> // TO DO TexImageDataPtr -> QImageDataPtr + d_ptr // We might also get rid of the layer, face, mipmap level from diff --git a/src/render/texture/qtexturewrapmode.h b/src/render/texture/qtexturewrapmode.h index 7349e654c..36af013a8 100644 --- a/src/render/texture/qtexturewrapmode.h +++ b/src/render/texture/qtexturewrapmode.h @@ -41,7 +41,7 @@ #define QT3DRENDER_QTEXTUREWRAPMODE_H #include <Qt3DRender/qt3drender_global.h> -#include <QObject> +#include <QtCore/QObject> QT_BEGIN_NAMESPACE diff --git a/tests/auto/core/qresourcemanager/tst_qresourcemanager.cpp b/tests/auto/core/qresourcemanager/tst_qresourcemanager.cpp index b7bd7c28a..9a387a919 100644 --- a/tests/auto/core/qresourcemanager/tst_qresourcemanager.cpp +++ b/tests/auto/core/qresourcemanager/tst_qresourcemanager.cpp @@ -31,12 +31,12 @@ #include <Qt3DCore/private/qhandle_p.h> #include <Qt3DCore/private/qresourcemanager_p.h> -class tst_DynamicArrayPolicy : public QObject +class tst_QResourceManager : public QObject { Q_OBJECT public: - tst_DynamicArrayPolicy() {} - ~tst_DynamicArrayPolicy() {} + tst_QResourceManager() {} + ~tst_QResourceManager() {} private slots: void createResourcesManager(); @@ -48,7 +48,7 @@ private slots: void releaseResource(); void heavyDutyMultiThreadedAccess(); void heavyDutyMultiThreadedAccessRelease(); - void maximumNumberOfResources(); + void collectResources(); void activeHandles(); }; @@ -68,29 +68,21 @@ Q_DECLARE_RESOURCE_INFO(tst_ArrayResource, Q_REQUIRES_CLEANUP) QT_END_NAMESPACE typedef Qt3DCore::QHandle<tst_ArrayResource> tHandle; -typedef Qt3DCore::QHandle<tst_ArrayResource, 4> tHandle4; -typedef Qt3DCore::QHandle<tst_ArrayResource, 8> tHandle8; -typedef Qt3DCore::QHandle<tst_ArrayResource, 16> tHandle16; -void tst_DynamicArrayPolicy::createResourcesManager() +void tst_QResourceManager::createResourcesManager() { - Qt3DCore::QResourceManager<tst_ArrayResource, int, 16> manager16; - Qt3DCore::QResourceManager<tst_ArrayResource, int, 4> manager4; - Qt3DCore::QResourceManager<tst_ArrayResource, int, 8> manager8; - QVERIFY(manager16.maximumSize() == 65535); - QVERIFY(manager8.maximumSize() == 255); - QVERIFY(manager4.maximumSize() == 15); + Qt3DCore::QResourceManager<tst_ArrayResource, int> manager; } /*! * Check that the handles returned when a registering resources * have a correct index and counter. */ -void tst_DynamicArrayPolicy::acquireResources() +void tst_QResourceManager::acquireResources() { - Qt3DCore::QResourceManager<tst_ArrayResource, uint, 4> manager; + Qt3DCore::QResourceManager<tst_ArrayResource, uint> manager; - QList<tHandle4> handles; + QList<tHandle> handles; for (int i = 0; i < 5; i++) { handles << manager.acquire(); @@ -106,12 +98,12 @@ void tst_DynamicArrayPolicy::acquireResources() /*! * Test that values can be properly retrieved. */ -void tst_DynamicArrayPolicy::getResources() +void tst_QResourceManager::getResources() { - Qt3DCore::QResourceManager<tst_ArrayResource, int, 8> manager; + Qt3DCore::QResourceManager<tst_ArrayResource, int> manager; QList<tst_ArrayResource *> resources; - QList<tHandle8> handles; + QList<tHandle> handles; for (int i = 0; i < 5; i++) { handles << manager.acquire(); @@ -127,7 +119,7 @@ void tst_DynamicArrayPolicy::getResources() QVERIFY(manager.data(handles.at(i))->m_value == i); // Check that an invalid resource returns NULL - tHandle8 iHandle; + tHandle iHandle; QVERIFY(manager.data(iHandle) == nullptr); } @@ -136,10 +128,10 @@ void tst_DynamicArrayPolicy::getResources() * Test that when a resize of the data vectors in the manager occurs, * everything behaves correctly. */ -void tst_DynamicArrayPolicy::registerResourcesResize() +void tst_QResourceManager::registerResourcesResize() { - Qt3DCore::QResourceManager<tst_ArrayResource, uint, 16> manager; - QList<tHandle16> handles; + Qt3DCore::QResourceManager<tst_ArrayResource, uint> manager; + QList<tHandle> handles; for (uint i = 0; i < 2; i++) { handles << manager.acquire(); @@ -162,7 +154,7 @@ void tst_DynamicArrayPolicy::registerResourcesResize() /*! * Checks for the removal of resources. */ -void tst_DynamicArrayPolicy::removeResource() +void tst_QResourceManager::removeResource() { Qt3DCore::QResourceManager<tst_ArrayResource, int> manager; @@ -185,12 +177,12 @@ void tst_DynamicArrayPolicy::removeResource() QVERIFY(manager.data(nHandle) != nullptr); } -void tst_DynamicArrayPolicy::lookupResource() +void tst_QResourceManager::lookupResource() { Qt3DCore::QResourceManager<tst_ArrayResource, uint> manager; QList<tst_ArrayResource *> resources; - QList<tHandle16> handles; + QList<tHandle> handles; for (int i = 0; i < 5; i++) { handles << manager.acquire(); @@ -198,7 +190,7 @@ void tst_DynamicArrayPolicy::lookupResource() resources.at(i)->m_value = 4; } - tHandle16 t = manager.lookupHandle(2); + tHandle t = manager.lookupHandle(2); QVERIFY(t.handle() == 0); QVERIFY(manager.data(t) == nullptr); tst_ArrayResource *resource = manager.getOrCreateResource(2); @@ -210,7 +202,7 @@ void tst_DynamicArrayPolicy::lookupResource() QVERIFY(manager.data(t) == resource); } -void tst_DynamicArrayPolicy::releaseResource() +void tst_QResourceManager::releaseResource() { Qt3DCore::QResourceManager<tst_ArrayResource, uint> manager; QList<tst_ArrayResource *> resources; @@ -236,7 +228,6 @@ public: typedef Qt3DCore::QResourceManager<tst_ArrayResource, int, - 16, Qt3DCore::ObjectLevelLockingPolicy> Manager; tst_Thread() @@ -267,7 +258,7 @@ protected: Manager *m_manager; }; -void tst_DynamicArrayPolicy::heavyDutyMultiThreadedAccess() +void tst_QResourceManager::heavyDutyMultiThreadedAccess() { tst_Thread::Manager *manager = new tst_Thread::Manager(); @@ -306,7 +297,6 @@ public: typedef Qt3DCore::QResourceManager<tst_ArrayResource, int, - 16, Qt3DCore::ObjectLevelLockingPolicy> Manager; tst_Thread2(int releaseAbove = 7) @@ -341,7 +331,7 @@ protected: int m_releaseAbove; }; -void tst_DynamicArrayPolicy::heavyDutyMultiThreadedAccessRelease() +void tst_QResourceManager::heavyDutyMultiThreadedAccessRelease() { tst_Thread2::Manager *manager = new tst_Thread2::Manager(); @@ -377,21 +367,28 @@ void tst_DynamicArrayPolicy::heavyDutyMultiThreadedAccessRelease() delete manager; } -void tst_DynamicArrayPolicy::maximumNumberOfResources() +void tst_QResourceManager::collectResources() { Qt3DCore::QResourceManager<tst_ArrayResource, uint> manager; QList<tst_ArrayResource *> resources; - QList<tHandle16> handles; + QList<tHandle> handles; - for (int i = 0; i < manager.maximumSize(); i++) { + for (int i = 0; i < 65536; i++) { handles << manager.acquire(); resources << manager.data(handles.at(i)); resources.at(i)->m_value = 4; } + for (auto h : handles) { + manager.release(h); + } + Q_ASSERT(manager.count() == 0); + handles.clear(); + manager.acquire(); + Q_ASSERT(manager.count() == 1); } -void tst_DynamicArrayPolicy::activeHandles() +void tst_QResourceManager::activeHandles() { // GIVEN Qt3DCore::QResourceManager<tst_ArrayResource, uint> manager; @@ -428,6 +425,6 @@ void tst_DynamicArrayPolicy::activeHandles() -QTEST_APPLESS_MAIN(tst_DynamicArrayPolicy) +QTEST_APPLESS_MAIN(tst_QResourceManager) #include "tst_qresourcemanager.moc" diff --git a/tests/benchmarks/core/qresourcesmanager/qresourcesmanager/tst_bench_qresourcesmanager.cpp b/tests/benchmarks/core/qresourcesmanager/qresourcesmanager/tst_bench_qresourcesmanager.cpp index 51eb2d6fc..3046fcb98 100644 --- a/tests/benchmarks/core/qresourcesmanager/qresourcesmanager/tst_bench_qresourcesmanager.cpp +++ b/tests/benchmarks/core/qresourcesmanager/qresourcesmanager/tst_bench_qresourcesmanager.cpp @@ -69,7 +69,7 @@ public: template<typename Resource> void benchmarkAllocateResources() { - Qt3DCore::QResourceManager<Resource, int, 16> manager; + Qt3DCore::QResourceManager<Resource, int> manager; volatile Resource *c; QBENCHMARK_ONCE { @@ -83,7 +83,7 @@ void benchmarkAllocateResources() template<typename Resource> void benchmarkAccessResources() { - Qt3DCore::QResourceManager<Resource, int, 16> manager; + Qt3DCore::QResourceManager<Resource, int> manager; const int max = (1 << 16) - 1; QVector<Qt3DCore::QHandle<Resource> > handles(max); for (int i = 0; i < max; i++) @@ -99,7 +99,7 @@ void benchmarkAccessResources() template<typename Resource> void benchmarkRandomAccessResource() { - Qt3DCore::QResourceManager<Resource, int, 16> manager; + Qt3DCore::QResourceManager<Resource, int> manager; const int max = (1 << 16) - 1; QVector<Qt3DCore::QHandle<Resource> > handles(max); for (int i = 0; i < max; i++) @@ -118,7 +118,7 @@ void benchmarkRandomAccessResource() { template<typename Resource> void benchmarkLookupResources() { - Qt3DCore::QResourceManager<Resource, int, 16> manager; + Qt3DCore::QResourceManager<Resource, int> manager; const int max = (1 << 16) - 1; for (int i = 0; i < max; i++) manager.getOrCreateResource(i); @@ -134,7 +134,7 @@ void benchmarkLookupResources() template<typename Resource> void benchmarkRandomLookupResources() { - Qt3DCore::QResourceManager<Resource, int, 16> manager; + Qt3DCore::QResourceManager<Resource, int> manager; const int max = (1 << 16) - 1; QVector<int> resourcesIndices(max); for (int i = 0; i < max; i++) { @@ -154,7 +154,7 @@ void benchmarkRandomLookupResources() template<typename Resource> void benchmarkReleaseResources() { - Qt3DCore::QResourceManager<Resource, int, 16> manager; + Qt3DCore::QResourceManager<Resource, int> manager; const int max = (1 << 16) - 1; QVector<Qt3DCore::QHandle<Resource> > handles(max); for (int i = 0; i < max; i++) |