summaryrefslogtreecommitdiffstats
path: root/src/Runtime/ogl-runtime/src/system/Qt3DSMemoryPool.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/ogl-runtime/src/system/Qt3DSMemoryPool.h')
m---------src/Runtime/ogl-runtime0
-rw-r--r--src/Runtime/ogl-runtime/src/system/Qt3DSMemoryPool.h104
2 files changed, 0 insertions, 104 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime
new file mode 160000
+Subproject 2025912174c4cf99270b7439ec3b021e1d089ae
diff --git a/src/Runtime/ogl-runtime/src/system/Qt3DSMemoryPool.h b/src/Runtime/ogl-runtime/src/system/Qt3DSMemoryPool.h
deleted file mode 100644
index 01b2e418..00000000
--- a/src/Runtime/ogl-runtime/src/system/Qt3DSMemoryPool.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 1993-2009 NVIDIA Corporation.
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt 3D Studio.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** 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 General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) 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.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-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#pragma once
-
-//==============================================================================
-// Includes
-//==============================================================================
-#include "Qt3DSMemoryProbe.h"
-
-//==============================================================================
-// Namespace
-//==============================================================================
-namespace Q3DStudio {
-
-//==============================================================================
-/**
- * Managed memory allocation using fixed-size chunks.
- *
- * The pool class implements a generic algorithm that favors reusing recently
- * used memory chunks instead of returning memory continously. Yet, a fresh
- * pool will always return chunks positioned side by side.
- *
- * If a chunk is freed it will be the first to be returned next time a fresh
- * chunk is new'ed. This makes the cache lines happier. Deleted chunks are
- * maintained by linking to each other instead of being stored in a separate
- * memory consuming array.
- */
-class CMemoryPool
-{
- //==============================================================================
- // Fields
- //==============================================================================
-protected:
- INT32 m_ChunkSize; ///< size in bytes of each chunk
- INT32 m_ChunkCount; ///< number of chunks in pool
-
- INT8 *m_Ceiling; ///< ceiling memory pointer
- INT8 *m_Memory; ///< base memory pointer, INT8 for easy pointer arithemtic
- INT8 *m_Top; ///< edge of free continous memory
- void *m_Hole; ///< first dis-continous memory chunk if any
-
- CMemoryProbe m_Probe; ///< call and byte data on pool usage
- CHAR m_Description[32]; ///< short description of this pool
-
- //==============================================================================
- // Methods
- //==============================================================================
-public: // Construction
- CMemoryPool();
- ~CMemoryPool();
-
-public: // Initialization
- void Initialize(const CHAR *inName, const INT32 inChunkSize, const INT32 inChunkCount);
- void Release();
-
-public: // Allocation and Deallocation
- void *Allocate();
- void Free(void *inChunk);
- BOOL IsFull() const;
- BOOL OwnsChunk(const void *inChunk) const;
-
-protected: // Implementation
- void *UseTop();
- void PushHole(void *inChunk);
- void *PopHole();
-
-public: // Statistics and reports
- INT32 GetFreeHoles() const;
- INT32 GetFreeTops() const;
- INT32 GetFreeChunks() const;
- INT32 GetChunkSize() const { return m_ChunkSize; }
- INT32 GetChunkCount() const { return m_ChunkCount; }
- CMemoryProbe &GetProbe() { return m_Probe; }
-};
-
-} // namespace Q3DStudio