summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-11-30 13:34:56 +0000
committerMike Krus <mike.krus@kdab.com>2021-01-11 11:15:16 +0000
commitac9c708d7a34e66922056e5bca84b3cf583d61eb (patch)
tree9ce6030a1f7d500d10ad6e3b354a52d096a02601 /src
parente4a0e92896d65de2bc1ea6786453ae73ecee6f7f (diff)
Remove QFrameAllocator (again)
Push-to: 6.0 Change-Id: I03ff6cab88d5bb0d279a61fa0a730f32b088b481 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/resources/qframeallocator.cpp322
-rw-r--r--src/core/resources/qframeallocator_p.h111
-rw-r--r--src/core/resources/qframeallocator_p_p.h138
-rw-r--r--src/core/resources/resources.pri3
-rw-r--r--src/plugins/renderers/rhi/renderer/renderer_p.h1
-rw-r--r--src/plugins/renderers/rhi/renderer/renderview_p.h1
-rw-r--r--src/plugins/renderers/rhi/renderer/shaderparameterpack.cpp1
-rw-r--r--src/plugins/renderers/rhi/renderer/shaderparameterpack_p.h4
-rw-r--r--src/plugins/sceneparsers/gltf/gltfimporter.cpp8
-rw-r--r--src/plugins/sceneparsers/gltfexport/gltfexporter.cpp10
-rw-r--r--src/plugins/sceneparsers/gltfexport/gltfexporter.h4
-rw-r--r--src/render/jobs/renderviewinitializerjob_p.h2
13 files changed, 11 insertions, 596 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 561d919c9..581228734 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -48,8 +48,6 @@ qt_internal_add_module(3DCore
qt3dcore_global.h qt3dcore_global_p.h
qtickclock.cpp qtickclock_p.h
qurlhelper.cpp qurlhelper_p.h
- resources/qframeallocator.cpp resources/qframeallocator_p.h
- resources/qframeallocator_p_p.h
resources/qhandle_p.h
resources/qloadgltf_p.h
services/nullservices_p.h
diff --git a/src/core/resources/qframeallocator.cpp b/src/core/resources/qframeallocator.cpp
deleted file mode 100644
index e85ae4057..000000000
--- a/src/core/resources/qframeallocator.cpp
+++ /dev/null
@@ -1,322 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/* !\internal
- \class Qt3DCore::QFrameAllocator
- \inmodule Qt3DCore
- \brief Provides a pool of memory chunks to be used to allocate objects on a per frame basis.
-
- The memory can be recycled by following frames by calling clear which won't deallocate any memory.
-
- \note Be really careful when allocating polymorphic types. You must be
- sure to call deallocate with the subclass type to properly release all
- memory.
-*/
-
-#include "qframeallocator_p.h"
-#include "qframeallocator_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3DCore {
-
-QFrameAllocatorPrivate::QFrameAllocatorPrivate()
- : m_maxObjectSize(0U)
- , m_alignment(0U)
-{
-}
-
-QFrameAllocator::QFrameAllocator(uint maxObjectSize, uint alignment, uint pageSize)
- : d_ptr(new QFrameAllocatorPrivate)
-{
- Q_ASSERT(alignment && pageSize && pageSize < UCHAR_MAX);
- Q_D(QFrameAllocator);
- d->m_maxObjectSize = maxObjectSize;
- d->m_alignment = alignment;
- d->m_allocatorPool.resize(d->allocatorIndexFromSize(maxObjectSize) + 1);
- for (int i = 0, n = d->m_allocatorPool.size(); i < n; ++i)
- d->m_allocatorPool[i].init((i + 1) * d->m_alignment, pageSize);
-}
-
-QFrameAllocator::~QFrameAllocator()
-{
- Q_D(QFrameAllocator);
- for (int i = 0, n = d->m_allocatorPool.size(); i < n; ++i)
- d->m_allocatorPool[i].release();
-}
-
-// Clear all memory chunks, allocated memory is not released
-void QFrameAllocator::clear()
-{
- Q_D(QFrameAllocator);
- for (int i = 0, n = d->m_allocatorPool.size(); i < n; ++i)
- d->m_allocatorPool[i].clear();
-}
-
-// Trim excess memory used by chunks
-void QFrameAllocator::trim()
-{
- Q_D(QFrameAllocator);
- for (int i = 0, n = d->m_allocatorPool.size(); i < n; ++i)
- d->m_allocatorPool[i].trim();
-}
-
-uint QFrameAllocator::maxObjectSize() const
-{
- Q_D(const QFrameAllocator);
- return d->m_maxObjectSize;
-}
-
-int QFrameAllocator::allocatorPoolSize() const
-{
- Q_D(const QFrameAllocator);
- return d->m_allocatorPool.size();
-}
-
-bool QFrameAllocator::isEmpty() const
-{
- Q_D(const QFrameAllocator);
- for (const QFixedFrameAllocator &allocator : d->m_allocatorPool) {
- if (!allocator.isEmpty())
- return false;
- }
- return true;
-}
-
-uint QFrameAllocator::totalChunkCount() const
-{
- Q_D(const QFrameAllocator);
- uint chunkCount = 0;
- for (const QFixedFrameAllocator& allocator : d->m_allocatorPool)
- chunkCount += allocator.chunkCount();
- return chunkCount;
-}
-
-QFixedFrameAllocator::QFixedFrameAllocator()
- : m_blockSize(0)
- , m_nbrBlock(0)
- , m_lastAllocatedChunck(nullptr)
- , m_lastFreedChunck(nullptr)
-{
-}
-
-QFixedFrameAllocator::~QFixedFrameAllocator()
-{
- release();
-}
-
-void QFixedFrameAllocator::init(uint blockSize, uchar pageSize)
-{
- m_blockSize = blockSize;
- m_nbrBlock = pageSize;
-}
-
-void *QFixedFrameAllocator::allocate()
-{
- Q_ASSERT(m_blockSize);
- return scan().allocate(m_blockSize);
-}
-
-QFrameChunk &QFixedFrameAllocator::scan()
-{
- Q_ASSERT(m_blockSize);
- Q_ASSERT(m_nbrBlock);
-
- if (m_lastAllocatedChunck && m_lastAllocatedChunck->m_blocksAvailable)
- return *m_lastAllocatedChunck;
-
- for (int i = 0; i < m_chunks.size(); i++) {
- if (m_chunks[i].m_blocksAvailable > 0) {
- m_lastAllocatedChunck = m_chunks.begin() + i;
- return *m_lastAllocatedChunck;
- }
- }
- m_chunks.resize(m_chunks.size() + 1);
- QFrameChunk &newChunk = m_chunks.last();
- newChunk.init(m_blockSize, m_nbrBlock);
- m_lastAllocatedChunck = &newChunk;
- m_lastFreedChunck = &newChunk;
- return newChunk;
-}
-
-void QFixedFrameAllocator::deallocate(void *ptr)
-{
- Q_ASSERT(m_blockSize && m_nbrBlock);
- if (!m_chunks.empty() && ptr != nullptr) {
- if (m_lastFreedChunck != nullptr && m_lastFreedChunck->contains(ptr, m_blockSize))
- m_lastFreedChunck->deallocate(ptr, m_blockSize);
- else {
- for (int i = 0; i < m_chunks.size(); i++) {
- if (m_chunks[i].contains(ptr, m_blockSize)) {
- m_chunks[i].deallocate(ptr, m_blockSize);
- m_lastFreedChunck = m_chunks.begin() + i;
- break ;
- }
- }
- }
- }
-}
-
-void QFixedFrameAllocator::trim()
-{
- for (int i = m_chunks.size() - 1; i >= 0; i--) {
- if (m_chunks.at(i).isEmpty()) {
- m_chunks[i].release();
- if (m_lastAllocatedChunck == &m_chunks[i])
- m_lastAllocatedChunck = nullptr;
- if (m_lastFreedChunck == &m_chunks[i])
- m_lastFreedChunck = nullptr;
- m_chunks.removeAt(i);
- }
- }
-}
-
-void QFixedFrameAllocator::release()
-{
- for (int i = m_chunks.size() - 1; i >= 0; i--)
- m_chunks[i].release();
- m_chunks.clear();
- m_lastAllocatedChunck = nullptr;
- m_lastFreedChunck = nullptr;
-}
-
-// Allows to reuse chunks without having to reinitialize and reallocate them
-void QFixedFrameAllocator::clear()
-{
- for (int i = m_chunks.size() - 1; i >= 0; i--)
- m_chunks[i].clear(m_blockSize, m_nbrBlock);
-}
-
-bool QFixedFrameAllocator::isEmpty() const
-{
- for (const QFrameChunk &chunck : m_chunks) {
- if (chunck.m_blocksAvailable != chunck.m_maxBlocksAvailable)
- return false;
- }
- return true;
-}
-
-// QFrameChuck is agnostic about blocksize
-// However if it was initialized with a block size of 16
-// You should then pass 16 to allocate and deallocate
-void QFrameChunk::init(uint blockSize, uchar blocks)
-{
- m_data = new uchar[blockSize * blocks];
- m_firstAvailableBlock = 0;
- m_blocksAvailable = blocks;
- m_maxBlocksAvailable = blocks;
- uchar *p = m_data;
- // Init each block with its position stored in its first byte
- for (uchar i = 0; i < blocks; p += blockSize)
- *p = ++i;
-#ifdef QFRAMEALLOCATOR_DEBUG
- VALGRIND_CREATE_MEMPOOL(m_data, 0, true);
- VALGRIND_MAKE_MEM_NOACCESS(m_data, blockSize * blocks);
- VALGRIND_MEMPOOL_ALLOC(m_data, m_data, blockSize * blocks);
-#endif
-}
-
-void *QFrameChunk::allocate(uint blockSize)
-{
- if (m_blocksAvailable == 0)
- return nullptr;
- uchar *r = m_data + (m_firstAvailableBlock * blockSize);
- m_firstAvailableBlock = *r;
- --m_blocksAvailable;
- return r;
-}
-
-// Shouldn't be called more than once for the same pointer
-void QFrameChunk::deallocate(void *p, uint blockSize)
-{
- if (p >= m_data) {
- uchar *toRelease = static_cast<uchar *>(p);
- uchar oldFreeBlock = m_firstAvailableBlock;
- m_firstAvailableBlock = static_cast<uchar>((toRelease - m_data) / blockSize);
- *toRelease = oldFreeBlock;
- ++m_blocksAvailable;
- }
-}
-
-bool QFrameChunk::contains(void *p, uint blockSize)
-{
- uchar *c = static_cast<uchar *>(p);
- return (m_data <= c && c < m_data + blockSize * m_maxBlocksAvailable);
-}
-
-// Reset chunck without releasing heap allocated memory
-void QFrameChunk::clear(uint blockSize, uchar blocks)
-{
- m_firstAvailableBlock = 0;
- m_blocksAvailable = blocks;
-
- uchar *p = m_data;
- // Init each block with its position stored in its first byte
- for (uchar i = 0; i < blocks; p += blockSize)
- *p = ++i;
-}
-
-void QFrameChunk::release()
-{
-#ifdef QFRAMEALLOCATOR_DEBUG
- VALGRIND_MEMPOOL_FREE(m_data, m_data);
- VALGRIND_DESTROY_MEMPOOL(m_data);
-#endif
- delete [] m_data;
-}
-
-void* QFrameAllocator::allocateRawMemory(size_t size)
-{
- Q_D(QFrameAllocator);
- Q_ASSERT(size <= d->m_maxObjectSize);
- uint allocatorIndex = d->allocatorIndexFromSize(uint(size));
- return d->allocateAtChunk(allocatorIndex);
-}
-
-void QFrameAllocator::deallocateRawMemory(void* ptr, size_t size)
-{
- Q_D(QFrameAllocator);
- Q_ASSERT(size <= d->m_maxObjectSize);
- uint allocatorIndex = d->allocatorIndexFromSize(uint(size));
- d->deallocateAtChunck(ptr, allocatorIndex);
-}
-
-} // Qt3D
-
-QT_END_NAMESPACE
diff --git a/src/core/resources/qframeallocator_p.h b/src/core/resources/qframeallocator_p.h
deleted file mode 100644
index e8bc2e79b..000000000
--- a/src/core/resources/qframeallocator_p.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT3DCORE_QFRAMEALLOCATOR_P_H
-#define QT3DCORE_QFRAMEALLOCATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#ifdef QFRAMEALLOCATOR_DEBUG
-#include <valgrind/valgrind.h>
-#include <valgrind/memcheck.h>
-#endif
-
-#include <QtCore/QDebug>
-#include <QtCore/QScopedPointer>
-
-#include <Qt3DCore/private/qt3dcore_global_p.h>
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3DCore {
-
-class QFrameAllocatorPrivate;
-
-class Q_3DCORE_PRIVATE_EXPORT QFrameAllocator
-{
-public:
- explicit QFrameAllocator(uint maxObjectSize, uint alignment = 16, uint pageSize = 128);
- ~QFrameAllocator();
-
- template<typename T>
- T* allocate()
- {
- void* ptr = allocateRawMemory(sizeof(T));
- new (ptr) T(); // Don't forget to call the constructor of the object using the placement new operator
- return static_cast<T*>(ptr);
- }
-
- template<typename T>
- void deallocate(T *ptr)
- {
- ptr->~T(); // Call destructor
- deallocateRawMemory(ptr, sizeof(T));
- }
-
- void* allocateRawMemory(size_t size);
-
- void deallocateRawMemory(void *ptr, size_t size);
-
- void clear();
- void trim();
- uint maxObjectSize() const;
- uint totalChunkCount() const;
- int allocatorPoolSize() const;
- bool isEmpty() const;
-
-private:
- Q_DECLARE_PRIVATE(QFrameAllocator)
- const QScopedPointer<QFrameAllocatorPrivate> d_ptr;
-};
-
-} // Qt3D
-
-QT_END_NAMESPACE
-
-#endif // QFRAMEALLOCATOR_P_H
diff --git a/src/core/resources/qframeallocator_p_p.h b/src/core/resources/qframeallocator_p_p.h
deleted file mode 100644
index bf4e0a2b1..000000000
--- a/src/core/resources/qframeallocator_p_p.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT3DCORE_QFRAMEALLOCATOR_P_P_H
-#define QT3DCORE_QFRAMEALLOCATOR_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <Qt3DCore/qt3dcore_global.h>
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3DCore {
-
-class QFrameAllocator;
-
-struct Q_AUTOTEST_EXPORT QFrameChunk
-{
- void init(uint blockSize, uchar blocks);
- void *allocate(uint blockSize);
-
- void deallocate(void *p, uint blockSize);
- bool contains(void *p, uint blockSize);
- void clear(uint blockSize, uchar blocks);
- void release();
-
- inline bool isEmpty() const { return m_blocksAvailable == m_maxBlocksAvailable; }
-
- uchar *m_data;
- uchar m_firstAvailableBlock;
- uchar m_blocksAvailable;
- uchar m_maxBlocksAvailable;
-};
-
-class Q_AUTOTEST_EXPORT QFixedFrameAllocator
-{
-public:
- QFixedFrameAllocator();
- ~QFixedFrameAllocator();
-
- void init(uint blockSize, uchar pageSize = 128);
- void *allocate();
- void deallocate(void *ptr);
- void trim();
- void release();
- void clear();
- bool isEmpty() const;
-
- inline int chunkCount() const { return m_chunks.size(); }
- inline uchar pageSize() const { return m_nbrBlock; }
- inline uint blockSize() const { return m_blockSize; }
-
-private:
- QFrameChunk &scan();
-
-private:
- uint m_blockSize;
- uchar m_nbrBlock;
- QVector<QFrameChunk> m_chunks;
- QFrameChunk *m_lastAllocatedChunck;
- QFrameChunk *m_lastFreedChunck;
-};
-
-class QFrameAllocatorPrivate
-{
-public:
- QFrameAllocatorPrivate();
-
- inline void *allocateAtChunk(uint allocatorIndex)
- {
- return m_allocatorPool[allocatorIndex].allocate();
- }
-
- inline void deallocateAtChunck(void *ptr, uint allocatorIndex)
- {
- m_allocatorPool[allocatorIndex].deallocate(ptr);
- }
-
- inline uint allocatorIndexFromSize(uint targetSize) const
- {
- return (targetSize + m_alignment - 1) / m_alignment - 1;
- }
-
- uint m_maxObjectSize;
- uint m_alignment;
- QVector<QFixedFrameAllocator> m_allocatorPool;
-};
-
-} // Qt3D
-
-QT_END_NAMESPACE
-
-#endif // QT3DCORE_QFRAMEALLOCATOR_P_P_H
diff --git a/src/core/resources/resources.pri b/src/core/resources/resources.pri
index 8fa4791c3..d25070d56 100644
--- a/src/core/resources/resources.pri
+++ b/src/core/resources/resources.pri
@@ -1,12 +1,9 @@
HEADERS += \
- $$PWD/qframeallocator_p.h \
- $$PWD/qframeallocator_p_p.h \
$$PWD/qloadgltf_p.h \
$$PWD/qresourcemanager_p.h \
$$PWD/qhandle_p.h
SOURCES += \
- $$PWD/qframeallocator.cpp \
$$PWD/qresourcemanager.cpp
diff --git a/src/plugins/renderers/rhi/renderer/renderer_p.h b/src/plugins/renderers/rhi/renderer/renderer_p.h
index e30aa9d90..cb2137d95 100644
--- a/src/plugins/renderers/rhi/renderer/renderer_p.h
+++ b/src/plugins/renderers/rhi/renderer/renderer_p.h
@@ -105,7 +105,6 @@ class QScreen;
namespace Qt3DCore {
class QEntity;
-class QFrameAllocator;
}
namespace Qt3DRender {
diff --git a/src/plugins/renderers/rhi/renderer/renderview_p.h b/src/plugins/renderers/rhi/renderer/renderview_p.h
index dad66d2d5..ffe826910 100644
--- a/src/plugins/renderers/rhi/renderer/renderview_p.h
+++ b/src/plugins/renderers/rhi/renderer/renderview_p.h
@@ -66,7 +66,6 @@
#include <Qt3DRender/private/qblitframebuffer_p.h>
#include <Qt3DRender/private/qwaitfence_p.h>
-#include <Qt3DCore/private/qframeallocator_p.h>
#include <Qt3DCore/private/aligned_malloc_p.h>
#include <renderer_p.h>
diff --git a/src/plugins/renderers/rhi/renderer/shaderparameterpack.cpp b/src/plugins/renderers/rhi/renderer/shaderparameterpack.cpp
index aa7a9ae22..46f6480e4 100644
--- a/src/plugins/renderers/rhi/renderer/shaderparameterpack.cpp
+++ b/src/plugins/renderers/rhi/renderer/shaderparameterpack.cpp
@@ -42,7 +42,6 @@
#include <submissioncontext_p.h>
#include <Qt3DRender/private/texture_p.h>
-#include <Qt3DCore/private/qframeallocator_p.h>
#include <Qt3DCore/private/vector_helper_p.h>
#include <QOpenGLShaderProgram>
diff --git a/src/plugins/renderers/rhi/renderer/shaderparameterpack_p.h b/src/plugins/renderers/rhi/renderer/shaderparameterpack_p.h
index edc732de0..c69a33f17 100644
--- a/src/plugins/renderers/rhi/renderer/shaderparameterpack_p.h
+++ b/src/plugins/renderers/rhi/renderer/shaderparameterpack_p.h
@@ -64,10 +64,6 @@ QT_BEGIN_NAMESPACE
class QOpenGLShaderProgram;
-namespace Qt3DCore {
-class QFrameAllocator;
-}
-
namespace Qt3DRender {
namespace Render {
namespace Rhi {
diff --git a/src/plugins/sceneparsers/gltf/gltfimporter.cpp b/src/plugins/sceneparsers/gltf/gltfimporter.cpp
index f9edc158d..67510486a 100644
--- a/src/plugins/sceneparsers/gltf/gltfimporter.cpp
+++ b/src/plugins/sceneparsers/gltf/gltfimporter.cpp
@@ -2138,8 +2138,8 @@ QVariant GLTFImporter::parameterValueFromJSON(int type, const QJsonValue &value)
QVector2D vector2D;
QVector3D vector3D;
QVector4D vector4D;
- QVector<float> dataMat2(4, 0.0f);
- QVector<float> dataMat3(9, 0.0f);
+ std::vector<float> dataMat2(4, 0.0f);
+ std::vector<float> dataMat3(9, 0.0f);
switch (type) {
case GL_BYTE:
@@ -2209,7 +2209,7 @@ QVariant GLTFImporter::parameterValueFromJSON(int type, const QJsonValue &value)
dataMat2[1] = static_cast<GLfloat>(valueArray.at(2).toDouble());
dataMat2[2] = static_cast<GLfloat>(valueArray.at(1).toDouble());
dataMat2[3] = static_cast<GLfloat>(valueArray.at(3).toDouble());
- return QVariant::fromValue(QMatrix2x2(dataMat2.constData()));
+ return QVariant::fromValue(QMatrix2x2(dataMat2.data()));
case GL_FLOAT_MAT3:
//Matrix3x3 is in Row Major ordering (so we need to convert)
dataMat3[0] = static_cast<GLfloat>(valueArray.at(0).toDouble());
@@ -2221,7 +2221,7 @@ QVariant GLTFImporter::parameterValueFromJSON(int type, const QJsonValue &value)
dataMat3[6] = static_cast<GLfloat>(valueArray.at(2).toDouble());
dataMat3[7] = static_cast<GLfloat>(valueArray.at(5).toDouble());
dataMat3[8] = static_cast<GLfloat>(valueArray.at(8).toDouble());
- return QVariant::fromValue(QMatrix3x3(dataMat3.constData()));
+ return QVariant::fromValue(QMatrix3x3(dataMat3.data()));
case GL_FLOAT_MAT4:
//Matrix4x4 is Column Major ordering
return QVariant(QMatrix4x4(static_cast<GLfloat>(valueArray.at(0).toDouble()),
diff --git a/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp b/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
index 21396b215..e7846d7b5 100644
--- a/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
+++ b/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
@@ -132,11 +132,11 @@ inline QJsonArray col2jsvec(const QColor &color, bool alpha = false)
}
template <typename T>
-inline QJsonArray vec2jsvec(const QVector<T> &v)
+inline QJsonArray vec2jsvec(const std::vector<T> &v)
{
QJsonArray arr;
- for (int i = 0; i < v.count(); ++i)
- arr << v.at(i);
+ for (size_t i = 0; i < v.size(); ++i)
+ arr << v[i];
return arr;
}
@@ -1738,9 +1738,9 @@ void GLTFExporter::exportMaterials(QJsonObject &materials)
// Blend function handling is our own extension used for Phong Alpha material.
QJsonObject functions;
- if (!matInfo.blendEquations.isEmpty())
+ if (!matInfo.blendEquations.empty())
functions["blendEquationSeparate"] = vec2jsvec(matInfo.blendEquations);
- if (!matInfo.blendArguments.isEmpty())
+ if (!matInfo.blendArguments.empty())
functions["blendFuncSeparate"] = vec2jsvec(matInfo.blendArguments);
if (!functions.isEmpty())
commonMat["functions"] = functions;
diff --git a/src/plugins/sceneparsers/gltfexport/gltfexporter.h b/src/plugins/sceneparsers/gltfexport/gltfexporter.h
index 3eeaa000f..0d30a2064 100644
--- a/src/plugins/sceneparsers/gltfexport/gltfexporter.h
+++ b/src/plugins/sceneparsers/gltfexport/gltfexporter.h
@@ -161,8 +161,8 @@ private:
QHash<QString, QColor> colors;
QHash<QString, QString> textures;
QHash<QString, QVariant> values;
- QVector<int> blendArguments;
- QVector<int> blendEquations;
+ std::vector<int> blendArguments;
+ std::vector<int> blendEquations;
};
struct ProgramInfo {
diff --git a/src/render/jobs/renderviewinitializerjob_p.h b/src/render/jobs/renderviewinitializerjob_p.h
index 226102ff5..c4d3e0d68 100644
--- a/src/render/jobs/renderviewinitializerjob_p.h
+++ b/src/render/jobs/renderviewinitializerjob_p.h
@@ -107,8 +107,6 @@ public:
// Create a RenderView object
m_renderView = new RenderView;
-
- // RenderView should allocate heap resources using only the currentFrameAllocator
m_renderView->setRenderer(m_renderer);
// Populate the renderview's configuration from the framegraph