mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator.git
synced 2024-11-21 19:50:05 +00:00
More refactoring - added CurrentBudgetData::AddCommittedAllocation, RemoveCommittedAllocation
This commit is contained in:
parent
febc1c2cf6
commit
47bedc01ff
@ -2768,12 +2768,21 @@ struct CurrentBudgetData
|
||||
m_AllocationBytes[heapTypeIndex] += allocationSize;
|
||||
++m_OperationsSinceBudgetFetch;
|
||||
}
|
||||
|
||||
void RemoveAllocation(UINT heapTypeIndex, UINT64 allocationSize)
|
||||
{
|
||||
m_AllocationBytes[heapTypeIndex] -= allocationSize;
|
||||
++m_OperationsSinceBudgetFetch;
|
||||
}
|
||||
void AddCommittedAllocation(UINT heapTypeIndex, UINT64 allocationSize)
|
||||
{
|
||||
AddAllocation(heapTypeIndex, allocationSize);
|
||||
m_BlockBytes[heapTypeIndex] += allocationSize;
|
||||
}
|
||||
void RemoveCommittedAllocation(UINT heapTypeIndex, UINT64 allocationSize)
|
||||
{
|
||||
m_BlockBytes[heapTypeIndex] -= allocationSize;
|
||||
RemoveAllocation(heapTypeIndex, allocationSize);
|
||||
}
|
||||
};
|
||||
|
||||
class PoolPimpl
|
||||
@ -4996,8 +5005,7 @@ HRESULT AllocatorPimpl::AllocateCommittedResource(
|
||||
committedAllocParams.m_List->Register(alloc);
|
||||
|
||||
const UINT heapTypeIndex = HeapTypeToIndex(committedAllocParams.m_HeapProperties.Type);
|
||||
m_Budget.AddAllocation(heapTypeIndex, resourceSize);
|
||||
m_Budget.m_BlockBytes[heapTypeIndex] += resourceSize;
|
||||
m_Budget.AddCommittedAllocation(heapTypeIndex, resourceSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -5051,8 +5059,7 @@ HRESULT AllocatorPimpl::AllocateCommittedResource1(
|
||||
committedAllocParams.m_List->Register(alloc);
|
||||
|
||||
const UINT heapTypeIndex = HeapTypeToIndex(committedAllocParams.m_HeapProperties.Type);
|
||||
m_Budget.AddAllocation(heapTypeIndex, resourceSize);
|
||||
m_Budget.m_BlockBytes[heapTypeIndex] += resourceSize;
|
||||
m_Budget.AddCommittedAllocation(heapTypeIndex, resourceSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -5107,8 +5114,7 @@ HRESULT AllocatorPimpl::AllocateCommittedResource2(
|
||||
committedAllocParams.m_List->Register(alloc);
|
||||
|
||||
const UINT heapTypeIndex = HeapTypeToIndex(committedAllocParams.m_HeapProperties.Type);
|
||||
m_Budget.AddAllocation(heapTypeIndex, resourceSize);
|
||||
m_Budget.m_BlockBytes[heapTypeIndex] += resourceSize;
|
||||
m_Budget.AddCommittedAllocation(heapTypeIndex, resourceSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -5150,8 +5156,7 @@ HRESULT AllocatorPimpl::AllocateHeap(
|
||||
committedAllocParams.m_List->Register(*ppAllocation);
|
||||
|
||||
const UINT heapTypeIndex = HeapTypeToIndex(committedAllocParams.m_HeapProperties.Type);
|
||||
m_Budget.AddAllocation(heapTypeIndex, allocInfo.SizeInBytes);
|
||||
m_Budget.m_BlockBytes[heapTypeIndex] += allocInfo.SizeInBytes;
|
||||
m_Budget.AddCommittedAllocation(heapTypeIndex, allocInfo.SizeInBytes);
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
@ -5194,8 +5199,7 @@ HRESULT AllocatorPimpl::AllocateHeap1(
|
||||
committedAllocParams.m_List->Register(*ppAllocation);
|
||||
|
||||
const UINT heapTypeIndex = HeapTypeToIndex(committedAllocParams.m_HeapProperties.Type);
|
||||
m_Budget.AddAllocation(heapTypeIndex, allocInfo.SizeInBytes);
|
||||
m_Budget.m_BlockBytes[heapTypeIndex] += allocInfo.SizeInBytes;
|
||||
m_Budget.AddCommittedAllocation(heapTypeIndex, allocInfo.SizeInBytes);
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
@ -5385,8 +5389,7 @@ void AllocatorPimpl::FreeCommittedMemory(Allocation* allocation)
|
||||
|
||||
const UINT64 allocationSize = allocation->GetSize();
|
||||
const UINT heapTypeIndex = HeapTypeToIndex(allocList->GetHeapType());
|
||||
m_Budget.RemoveAllocation(heapTypeIndex, allocationSize);
|
||||
m_Budget.m_BlockBytes[heapTypeIndex] -= allocationSize;
|
||||
m_Budget.RemoveCommittedAllocation(heapTypeIndex, allocationSize);
|
||||
}
|
||||
|
||||
void AllocatorPimpl::FreePlacedMemory(Allocation* allocation)
|
||||
@ -5411,8 +5414,7 @@ void AllocatorPimpl::FreeHeapMemory(Allocation* allocation)
|
||||
|
||||
const UINT heapTypeIndex = HeapTypeToIndex(allocList->GetHeapType());
|
||||
const UINT64 allocationSize = allocation->GetSize();
|
||||
m_Budget.m_BlockBytes[heapTypeIndex] -= allocationSize;
|
||||
m_Budget.RemoveAllocation(heapTypeIndex, allocationSize);
|
||||
m_Budget.RemoveCommittedAllocation(heapTypeIndex, allocationSize);
|
||||
}
|
||||
|
||||
void AllocatorPimpl::SetCurrentFrameIndex(UINT frameIndex)
|
||||
|
Loading…
Reference in New Issue
Block a user