@@ -150,7 +150,7 @@ static size_t g_DefragmentAfterLineNextIndex = 0;
150150static bool ValidateFileVersion ()
151151{
152152 if (GetVersionMajor (g_FileVersion) == 1 &&
153- GetVersionMinor (g_FileVersion) <= 4 )
153+ GetVersionMinor (g_FileVersion) <= 5 )
154154 {
155155 return true ;
156156 }
@@ -200,7 +200,7 @@ class Statistics
200200 void RegisterCreateImage (uint32_t usage, uint32_t tiling);
201201 void RegisterCreateBuffer (uint32_t usage);
202202 void RegisterCreatePool ();
203- void RegisterCreateAllocation ();
203+ void RegisterCreateAllocation (size_t allocCount = 1 );
204204
205205 void UpdateMemStats (const VmaStats& currStats);
206206
@@ -369,9 +369,9 @@ void Statistics::RegisterCreatePool()
369369 ++m_PoolCreationCount;
370370}
371371
372- void Statistics::RegisterCreateAllocation ()
372+ void Statistics::RegisterCreateAllocation (size_t allocCount )
373373{
374- ++ m_AllocationCreationCount;
374+ m_AllocationCreationCount += allocCount ;
375375}
376376
377377void Statistics::UpdateMemStats (const VmaStats& currStats)
@@ -966,10 +966,10 @@ class Player
966966 };
967967 struct Allocation
968968 {
969- uint32_t allocationFlags;
970- VmaAllocation allocation;
971- VkBuffer buffer;
972- VkImage image;
969+ uint32_t allocationFlags = 0 ;
970+ VmaAllocation allocation = VK_NULL_HANDLE ;
971+ VkBuffer buffer = VK_NULL_HANDLE ;
972+ VkImage image = VK_NULL_HANDLE ;
973973 };
974974 std::unordered_map<uint64_t , Pool> m_Pools;
975975 std::unordered_map<uint64_t , Allocation> m_Allocations;
@@ -1014,10 +1014,10 @@ class Player
10141014 void ExecuteDestroyPool (size_t lineNumber, const CsvSplit& csvSplit);
10151015 void ExecuteSetAllocationUserData (size_t lineNumber, const CsvSplit& csvSplit);
10161016 void ExecuteCreateBuffer (size_t lineNumber, const CsvSplit& csvSplit);
1017- void ExecuteDestroyBuffer (size_t lineNumber, const CsvSplit& csvSplit) { m_Stats.RegisterFunctionCall (VMA_FUNCTION::DestroyBuffer); DestroyAllocation (lineNumber, csvSplit); }
1017+ void ExecuteDestroyBuffer (size_t lineNumber, const CsvSplit& csvSplit) { m_Stats.RegisterFunctionCall (VMA_FUNCTION::DestroyBuffer); DestroyAllocation (lineNumber, csvSplit, " vmaDestroyBuffer " ); }
10181018 void ExecuteCreateImage (size_t lineNumber, const CsvSplit& csvSplit);
1019- void ExecuteDestroyImage (size_t lineNumber, const CsvSplit& csvSplit) { m_Stats.RegisterFunctionCall (VMA_FUNCTION::DestroyImage); DestroyAllocation (lineNumber, csvSplit); }
1020- void ExecuteFreeMemory (size_t lineNumber, const CsvSplit& csvSplit) { m_Stats.RegisterFunctionCall (VMA_FUNCTION::FreeMemory); DestroyAllocation (lineNumber, csvSplit); }
1019+ void ExecuteDestroyImage (size_t lineNumber, const CsvSplit& csvSplit) { m_Stats.RegisterFunctionCall (VMA_FUNCTION::DestroyImage); DestroyAllocation (lineNumber, csvSplit, " vmaDestroyImage " ); }
1020+ void ExecuteFreeMemory (size_t lineNumber, const CsvSplit& csvSplit) { m_Stats.RegisterFunctionCall (VMA_FUNCTION::FreeMemory); DestroyAllocation (lineNumber, csvSplit, " vmaFreeMemory " ); }
10211021 void ExecuteCreateLostAllocation (size_t lineNumber, const CsvSplit& csvSplit);
10221022 void ExecuteAllocateMemory (size_t lineNumber, const CsvSplit& csvSplit);
10231023 void ExecuteAllocateMemoryForBufferOrImage (size_t lineNumber, const CsvSplit& csvSplit, OBJECT_TYPE objType);
@@ -1030,7 +1030,7 @@ class Player
10301030 void ExecuteMakePoolAllocationsLost (size_t lineNumber, const CsvSplit& csvSplit);
10311031 void ExecuteResizeAllocation (size_t lineNumber, const CsvSplit& csvSplit);
10321032
1033- void DestroyAllocation (size_t lineNumber, const CsvSplit& csvSplit);
1033+ void DestroyAllocation (size_t lineNumber, const CsvSplit& csvSplit, const char * functionName );
10341034
10351035 void PrintStats (const VmaStats& stats, const char * suffix);
10361036 void PrintStatInfo (const VmaStatInfo& info);
@@ -1135,45 +1135,45 @@ void Player::ExecuteLine(size_t lineNumber, const StrRange& line)
11351135 // Nothing.
11361136 }
11371137 }
1138- else if (StrRangeEq (functionName, " vmaCreatePool " ))
1138+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::CreatePool] ))
11391139 ExecuteCreatePool (lineNumber, csvSplit);
1140- else if (StrRangeEq (functionName, " vmaDestroyPool " ))
1140+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::DestroyPool] ))
11411141 ExecuteDestroyPool (lineNumber, csvSplit);
1142- else if (StrRangeEq (functionName, " vmaSetAllocationUserData " ))
1142+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::SetAllocationUserData] ))
11431143 ExecuteSetAllocationUserData (lineNumber, csvSplit);
1144- else if (StrRangeEq (functionName, " vmaCreateBuffer " ))
1144+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::CreateBuffer] ))
11451145 ExecuteCreateBuffer (lineNumber, csvSplit);
1146- else if (StrRangeEq (functionName, " vmaDestroyBuffer " ))
1146+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::DestroyBuffer] ))
11471147 ExecuteDestroyBuffer (lineNumber, csvSplit);
1148- else if (StrRangeEq (functionName, " vmaCreateImage " ))
1148+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::CreateImage] ))
11491149 ExecuteCreateImage (lineNumber, csvSplit);
1150- else if (StrRangeEq (functionName, " vmaDestroyImage " ))
1150+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::DestroyImage] ))
11511151 ExecuteDestroyImage (lineNumber, csvSplit);
1152- else if (StrRangeEq (functionName, " vmaFreeMemory " ))
1152+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::FreeMemory] ))
11531153 ExecuteFreeMemory (lineNumber, csvSplit);
1154- else if (StrRangeEq (functionName, " vmaCreateLostAllocation " ))
1154+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::CreateLostAllocation] ))
11551155 ExecuteCreateLostAllocation (lineNumber, csvSplit);
1156- else if (StrRangeEq (functionName, " vmaAllocateMemory " ))
1156+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::AllocateMemory] ))
11571157 ExecuteAllocateMemory (lineNumber, csvSplit);
1158- else if (StrRangeEq (functionName, " vmaAllocateMemoryForBuffer " ))
1158+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::AllocateMemoryForBuffer] ))
11591159 ExecuteAllocateMemoryForBufferOrImage (lineNumber, csvSplit, OBJECT_TYPE::BUFFER);
1160- else if (StrRangeEq (functionName, " vmaAllocateMemoryForImage " ))
1160+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::AllocateMemoryForImage] ))
11611161 ExecuteAllocateMemoryForBufferOrImage (lineNumber, csvSplit, OBJECT_TYPE::IMAGE);
1162- else if (StrRangeEq (functionName, " vmaMapMemory " ))
1162+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::MapMemory] ))
11631163 ExecuteMapMemory (lineNumber, csvSplit);
1164- else if (StrRangeEq (functionName, " vmaUnmapMemory " ))
1164+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::UnmapMemory] ))
11651165 ExecuteUnmapMemory (lineNumber, csvSplit);
1166- else if (StrRangeEq (functionName, " vmaFlushAllocation " ))
1166+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::FlushAllocation] ))
11671167 ExecuteFlushAllocation (lineNumber, csvSplit);
1168- else if (StrRangeEq (functionName, " vmaInvalidateAllocation " ))
1168+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::InvalidateAllocation] ))
11691169 ExecuteInvalidateAllocation (lineNumber, csvSplit);
1170- else if (StrRangeEq (functionName, " vmaTouchAllocation " ))
1170+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::TouchAllocation] ))
11711171 ExecuteTouchAllocation (lineNumber, csvSplit);
1172- else if (StrRangeEq (functionName, " vmaGetAllocationInfo " ))
1172+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::GetAllocationInfo] ))
11731173 ExecuteGetAllocationInfo (lineNumber, csvSplit);
1174- else if (StrRangeEq (functionName, " vmaMakePoolAllocationsLost " ))
1174+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::MakePoolAllocationsLost] ))
11751175 ExecuteMakePoolAllocationsLost (lineNumber, csvSplit);
1176- else if (StrRangeEq (functionName, " vmaResizeAllocation " ))
1176+ else if (StrRangeEq (functionName, VMA_FUNCTION_NAMES[( uint32_t )VMA_FUNCTION::ResizeAllocation] ))
11771177 ExecuteResizeAllocation (lineNumber, csvSplit);
11781178 else
11791179 {
@@ -2241,7 +2241,7 @@ void Player::ExecuteCreateBuffer(size_t lineNumber, const CsvSplit& csvSplit)
22412241 }
22422242}
22432243
2244- void Player::DestroyAllocation (size_t lineNumber, const CsvSplit& csvSplit)
2244+ void Player::DestroyAllocation (size_t lineNumber, const CsvSplit& csvSplit, const char * functionName )
22452245{
22462246 if (ValidateFunctionParameterCount (lineNumber, csvSplit, 1 , false ))
22472247 {
@@ -2271,7 +2271,7 @@ void Player::DestroyAllocation(size_t lineNumber, const CsvSplit& csvSplit)
22712271 {
22722272 if (IssueWarning ())
22732273 {
2274- printf (" Line %zu: Invalid parameters for vmaDestroyBuffer .\n " , lineNumber);
2274+ printf (" Line %zu: Invalid parameters for %s .\n " , lineNumber, functionName );
22752275 }
22762276 }
22772277 }
0 commit comments