diff options
Diffstat (limited to 'src/Runtime/ogl-runtime/src/system/Qt3DSMemoryProbe.h')
m--------- | src/Runtime/ogl-runtime | 0 | ||||
-rw-r--r-- | src/Runtime/ogl-runtime/src/system/Qt3DSMemoryProbe.h | 144 |
2 files changed, 0 insertions, 144 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/Qt3DSMemoryProbe.h b/src/Runtime/ogl-runtime/src/system/Qt3DSMemoryProbe.h deleted file mode 100644 index 5f0844e8..00000000 --- a/src/Runtime/ogl-runtime/src/system/Qt3DSMemoryProbe.h +++ /dev/null @@ -1,144 +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 -#include "Qt3DSMacros.h" - -//============================================================================== -// Namespace -//============================================================================== -namespace Q3DStudio { - -//============================================================================== -// Memory Tracking Enums -//============================================================================== - -/// Track a value - remembering peak and add/del count -enum EMemoryValue { - MEMVALUE_ADDS = 0, ///< For example: allocation call count or bytes allocated - MEMVALUE_DELETES, ///< For example: free call count or bytes deallocated - MEMVALUE_PEAK, ///< Peak of the current value since the last reset - MEMVALUE_CURRENT, ///< Current count - MEMVALUECOUNT -}; - -/// Differentiate between full session (global) or since last reset (local) -enum EMemoryScope { - MEMSCOPE_RESET = 0, ///< Since last reset - MEMSCOPE_GLOBAL, ///< Since process start - MEMSCOPECOUNT -}; - -//============================================================================== -/** - * Memory allocation counter tracking bytes or calls. - * - * A probe instance can be placed to track either number of allocations - * or the bytes of each allocation. CMemoryManager and CMemoryHeap both - * record statistics using this class. 64 bytes. - */ -class CMemoryProbe -{ - //============================================================================== - // Structs - //============================================================================== -public: - //============================================================================== - /** - * Intelligent number that tracks current, peak, incr. and decr. - * - * This value remembers how the amount added, the amount deleted, the highest - * value, while keeping a current value. These are used by CMemoryProbe when - * tracking memory allocations. - */ - struct SValue - { - // Fields - INT32 m_Value[MEMVALUECOUNT]; ///< Four aspects (add,del,current,peak) we are tracking - - // Methods - SValue() { Reset(); } - void Reset() - { - m_Value[MEMVALUE_ADDS] = 0; - m_Value[MEMVALUE_DELETES] = 0; - m_Value[MEMVALUE_PEAK] = 0; - m_Value[MEMVALUE_CURRENT] = 0; - } - - void Delete(INT32 inAmount) - { - Q3DStudio_ASSERT(inAmount >= 0); - m_Value[MEMVALUE_DELETES] += inAmount; - m_Value[MEMVALUE_CURRENT] -= inAmount; - } - - void Add(INT32 inAmount) - { - Q3DStudio_ASSERT(inAmount >= 0); - m_Value[MEMVALUE_ADDS] += inAmount; - m_Value[MEMVALUE_CURRENT] += inAmount; - m_Value[MEMVALUE_PEAK] = - Q3DStudio_max(m_Value[MEMVALUE_PEAK], m_Value[MEMVALUE_CURRENT]); - } - }; - - //============================================================================== - // Fields - //============================================================================== -protected: - SValue m_Calls[MEMSCOPECOUNT]; ///< Memory call count - SValue m_Bytes[MEMSCOPECOUNT]; ///< Memory allocation amount - - //============================================================================== - // Methods - //============================================================================== -public: // Constructor - CMemoryProbe(); - ~CMemoryProbe(); - -public: // Operations - void Reset(); - void Allocate(const INT32 inByteAmount); - void Free(const INT32 inByteAmount); - void Combine(const CMemoryProbe &inProbe); - -public: // Accessors - INT32 GetCalls(const EMemoryScope inScope, const EMemoryValue inValue) const - { - return m_Calls[inScope].m_Value[inValue]; - } - INT32 GetBytes(const EMemoryScope inScope, const EMemoryValue inValue) const - { - return m_Bytes[inScope].m_Value[inValue]; - } -}; - -} // namespace Q3DStudio |