Added memory arena

Fixed frames in flight validation error in vulkan
Added some utility macros
Added function decorator macros
Added some consolidation headers/code include files
This commit is contained in:
2025-10-04 00:46:26 +01:00
parent 9f2ef576b9
commit 5f07239374
13 changed files with 429 additions and 12 deletions

View File

@@ -0,0 +1,38 @@
// Virtual memory
U64 VM_PageSize() {
SYSTEM_INFO info;
GetSystemInfo(&info);
U64 result = info.dwPageSize;
return result;
}
U64 VM_AllocationGranularity() {
SYSTEM_INFO info;
GetSystemInfo(&info);
U64 result = info.dwAllocationGranularity;
return result;
}
void *VM_Reserve(U64 size) {
void *result = VirtualAlloc(0, size, MEM_RESERVE, PAGE_NOACCESS);
return result;
}
B32 VM_Commit(void *base, U64 size) {
B32 result = VirtualAlloc(base, size, MEM_COMMIT, PAGE_READWRITE) != 0;
return result;
}
void VM_Decommit(void *base, U64 size) {
VirtualFree(base, size, MEM_DECOMMIT);
}
void VM_Release(void *base, U64 size) {
(void) size;
VirtualFree(base, 0, MEM_RELEASE);
}