From 2865f21bbc0f08e84e2dd95ebbc0d15dda063fe7 Mon Sep 17 00:00:00 2001 From: JulioJerez Date: Fri, 16 Feb 2024 06:56:27 -0800 Subject: [PATCH] added funtion to get request allocated size needed for vulkan allocators. --- newton-4.00/sdk/dCore/ndMemory.cpp | 36 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/newton-4.00/sdk/dCore/ndMemory.cpp b/newton-4.00/sdk/dCore/ndMemory.cpp index 57be70cb1b..df83a503a8 100644 --- a/newton-4.00/sdk/dCore/ndMemory.cpp +++ b/newton-4.00/sdk/dCore/ndMemory.cpp @@ -36,28 +36,28 @@ class ndMemoryHeader ndUnsigned32 m_requestedSize; }; -#define ndGetBufferPaddingSize size_t(D_MEMORY_ALIGMNET - 1 + sizeof (ndMemoryHeader)) +#define ndGetBufferPaddingInBytes size_t(D_MEMORY_ALIGMNET - 1 + sizeof (ndMemoryHeader)) size_t ndMemory::CalculateBufferSize(size_t size) { - return size + ndGetBufferPaddingSize; + return size + ndGetBufferPaddingInBytes; } -void* ndMemory::Malloc(size_t requestSize) +void* ndMemory::Malloc(size_t size) { ndIntPtr metToVal; - size_t size = requestSize + ndGetBufferPaddingSize; - metToVal.m_ptr = m_allocMemory(size); - ndUnsigned64 val = ndUnsigned64(metToVal.m_int) + ndGetBufferPaddingSize; + size_t bufferSize = size + ndGetBufferPaddingInBytes; + metToVal.m_ptr = m_allocMemory(bufferSize); + ndUnsigned64 val = ndUnsigned64(metToVal.m_int) + ndGetBufferPaddingInBytes; ndInt64 mask = -ndInt64(D_MEMORY_ALIGMNET); val = val & mask; ndMemoryHeader* const ret = (ndMemoryHeader*)val; ndMemoryHeader* const info = ret - 1; ndAssert((char*)info >= (char*)metToVal.m_ptr); info->m_ptr = metToVal.m_ptr; - info->m_bufferSize = ndUnsigned32 (size); - info->m_requestedSize = ndUnsigned32(requestSize); - m_memoryUsed.fetch_add(size); + info->m_bufferSize = ndUnsigned32 (bufferSize); + info->m_requestedSize = ndUnsigned32(size); + m_memoryUsed.fetch_add(bufferSize); return ret; } @@ -65,22 +65,22 @@ void ndMemory::Free(void* const ptr) { if (ptr) { - ndMemoryHeader* const ret = ((ndMemoryHeader*)ptr) - 1; - m_memoryUsed.fetch_sub(ndUnsigned64(ret->m_bufferSize)); - m_freeMemory(ret->m_ptr); + ndMemoryHeader* const info = ((ndMemoryHeader*)ptr) - 1; + m_memoryUsed.fetch_sub(ndUnsigned64(info->m_bufferSize)); + m_freeMemory(info->m_ptr); } } size_t ndMemory::GetSize(void* const ptr) { - ndMemoryHeader* const ret = ((ndMemoryHeader*)ptr) - 1; - return ret->m_bufferSize; + ndMemoryHeader* const info = ((ndMemoryHeader*)ptr) - 1; + return info->m_bufferSize; } size_t ndMemory::GetOriginalSize(void* const ptr) { - ndMemoryHeader* const ret = ((ndMemoryHeader*)ptr) - 1; - return ret->m_requestedSize; + ndMemoryHeader* const info = ((ndMemoryHeader*)ptr) - 1; + return info->m_requestedSize; } ndUnsigned64 ndMemory::GetMemoryUsed() @@ -90,12 +90,12 @@ ndUnsigned64 ndMemory::GetMemoryUsed() void ndMemory::SetMemoryAllocators(ndMemAllocCallback alloc, ndMemFreeCallback free) { - m_allocMemory = alloc; m_freeMemory = free; + m_allocMemory = alloc; } void ndMemory::GetMemoryAllocators(ndMemAllocCallback& alloc, ndMemFreeCallback& free) { - alloc = m_allocMemory; free = m_freeMemory; + alloc = m_allocMemory; }