/// <summary>Retrieves statistics from the current state of the block.</summary> public void CalculateStats(D3D12MA_StatInfo *pInfo) { D3D12MA_ASSERT((D3D12MA_DEBUG_LEVEL > 0) && (pInfo != null)); using var debugGlobalMutexLock = D3D12MA_DEBUG_GLOBAL_MUTEX_LOCK(); D3D12MA_HEAVY_ASSERT((D3D12MA_DEBUG_LEVEL > 1) && m_Pimpl->m_Metadata.Validate()); m_Pimpl->m_Metadata.CalcAllocationStatInfo(pInfo); }
public void CalculateStats([NativeTypeName("StatInfo&")] D3D12MA_StatInfo *outStats) { ZeroMemory(outStats, (nuint)sizeof(D3D12MA_StatInfo)); outStats->AllocationSizeMin = ulong.MaxValue; outStats->UnusedRangeSizeMin = ulong.MaxValue; m_BlockVector->AddStats(outStats); PostProcessStatInfo(ref *outStats); }
public void AddStats([NativeTypeName("StatInfo&")] D3D12MA_StatInfo *outStats) { using var @lock = new D3D12MA_MutexLockRead(ref m_Mutex, m_hAllocator->UseMutex()); for (nuint i = 0; i < m_Blocks.size(); ++i) { D3D12MA_NormalBlock *pBlock = m_Blocks[i]->Value; D3D12MA_ASSERT((D3D12MA_DEBUG_LEVEL > 0) && (pBlock != null)); D3D12MA_HEAVY_ASSERT((D3D12MA_DEBUG_LEVEL > 1) && pBlock->Validate()); D3D12MA_StatInfo blockStatInfo; pBlock->m_pMetadata->CalcAllocationStatInfo(&blockStatInfo); AddStatInfo(ref *outStats, ref blockStatInfo); } }
private void CalculateStatsPimpl([NativeTypeName("StatInfo&")] D3D12MA_StatInfo *outStats) { ZeroMemory(outStats, (nuint)sizeof(D3D12MA_StatInfo)); outStats->AllocationSizeMin = ulong.MaxValue; outStats->UnusedRangeSizeMin = ulong.MaxValue; m_BlockVector->AddStats(outStats); { Unsafe.SkipInit(out D3D12MA_StatInfo committedStatInfo); // Uninitialized. m_CommittedAllocations.CalculateStats(ref committedStatInfo); AddStatInfo(ref *outStats, ref committedStatInfo); } PostProcessStatInfo(ref *outStats); }
/// <summary>Retrieves statistics from the current state of this pool.</summary> public void CalculateStats(D3D12MA_StatInfo *pStats) { D3D12MA_ASSERT((D3D12MA_DEBUG_LEVEL > 0) && (pStats != null)); using var debugGlobalMutexLock = D3D12MA_DEBUG_GLOBAL_MUTEX_LOCK(); m_Pimpl->CalculateStats(pStats); }
public readonly void CalcAllocationStatInfo([NativeTypeName("StatInfo&")] D3D12MA_StatInfo *outInfo) => Base.CalcAllocationStatInfo(outInfo);
public readonly void CalcAllocationStatInfo([NativeTypeName("StatInfo&")] D3D12MA_StatInfo *outInfo) { D3D12MA_ASSERT((D3D12MA_DEBUG_LEVEL > 0) && (Base.lpVtbl[13] == (delegate * < in D3D12MA_BlockMetadata_Generic, D3D12MA_StatInfo *, void >) & CalcAllocationStatInfo)); CalcAllocationStatInfo(in this, outInfo); }