mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
synced 2024-11-27 00:44:35 +00:00
Added a member void* pUserData to VmaDeviceMemoryCallbacks
Updated PFN_vmaAllocateDeviceMemoryFunction to use new pUserData member Updated PFN_vmaFreeDeviceMemoryFunction to use new pUserData member Signed-off-by: Nils Petter Skålerud <np_skalerud@hotmail.com>
This commit is contained in:
parent
39aeff7a43
commit
eebf47cd1c
@ -1904,13 +1904,15 @@ typedef void (VKAPI_PTR *PFN_vmaAllocateDeviceMemoryFunction)(
|
|||||||
VmaAllocator allocator,
|
VmaAllocator allocator,
|
||||||
uint32_t memoryType,
|
uint32_t memoryType,
|
||||||
VkDeviceMemory memory,
|
VkDeviceMemory memory,
|
||||||
VkDeviceSize size);
|
VkDeviceSize size,
|
||||||
|
void* pUserData);
|
||||||
/// Callback function called before vkFreeMemory.
|
/// Callback function called before vkFreeMemory.
|
||||||
typedef void (VKAPI_PTR *PFN_vmaFreeDeviceMemoryFunction)(
|
typedef void (VKAPI_PTR *PFN_vmaFreeDeviceMemoryFunction)(
|
||||||
VmaAllocator allocator,
|
VmaAllocator allocator,
|
||||||
uint32_t memoryType,
|
uint32_t memoryType,
|
||||||
VkDeviceMemory memory,
|
VkDeviceMemory memory,
|
||||||
VkDeviceSize size);
|
VkDeviceSize size,
|
||||||
|
void* pUserData);
|
||||||
|
|
||||||
/** \brief Set of callbacks that the library will call for `vkAllocateMemory` and `vkFreeMemory`.
|
/** \brief Set of callbacks that the library will call for `vkAllocateMemory` and `vkFreeMemory`.
|
||||||
|
|
||||||
@ -1924,6 +1926,8 @@ typedef struct VmaDeviceMemoryCallbacks {
|
|||||||
PFN_vmaAllocateDeviceMemoryFunction pfnAllocate;
|
PFN_vmaAllocateDeviceMemoryFunction pfnAllocate;
|
||||||
/// Optional, can be null.
|
/// Optional, can be null.
|
||||||
PFN_vmaFreeDeviceMemoryFunction pfnFree;
|
PFN_vmaFreeDeviceMemoryFunction pfnFree;
|
||||||
|
/// Optional, can be null.
|
||||||
|
void* pUserData;
|
||||||
} VmaDeviceMemoryCallbacks;
|
} VmaDeviceMemoryCallbacks;
|
||||||
|
|
||||||
/// Flags for created #VmaAllocator.
|
/// Flags for created #VmaAllocator.
|
||||||
@ -16363,7 +16367,7 @@ VkResult VmaAllocator_T::AllocateVulkanMemory(const VkMemoryAllocateInfo* pAlloc
|
|||||||
// Informative callback.
|
// Informative callback.
|
||||||
if(m_DeviceMemoryCallbacks.pfnAllocate != VMA_NULL)
|
if(m_DeviceMemoryCallbacks.pfnAllocate != VMA_NULL)
|
||||||
{
|
{
|
||||||
(*m_DeviceMemoryCallbacks.pfnAllocate)(this, pAllocateInfo->memoryTypeIndex, *pMemory, pAllocateInfo->allocationSize);
|
(*m_DeviceMemoryCallbacks.pfnAllocate)(this, pAllocateInfo->memoryTypeIndex, *pMemory, pAllocateInfo->allocationSize, m_DeviceMemoryCallbacks.pUserData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -16379,7 +16383,7 @@ void VmaAllocator_T::FreeVulkanMemory(uint32_t memoryType, VkDeviceSize size, Vk
|
|||||||
// Informative callback.
|
// Informative callback.
|
||||||
if(m_DeviceMemoryCallbacks.pfnFree != VMA_NULL)
|
if(m_DeviceMemoryCallbacks.pfnFree != VMA_NULL)
|
||||||
{
|
{
|
||||||
(*m_DeviceMemoryCallbacks.pfnFree)(this, memoryType, hMemory, size);
|
(*m_DeviceMemoryCallbacks.pfnFree)(this, memoryType, hMemory, size, m_DeviceMemoryCallbacks.pUserData);
|
||||||
}
|
}
|
||||||
|
|
||||||
// VULKAN CALL vkFreeMemory.
|
// VULKAN CALL vkFreeMemory.
|
||||||
|
Loading…
Reference in New Issue
Block a user