diff --git a/third_party/vma.h b/third_party/vma.h index 536ffcd..6f71d5b 100644 --- a/third_party/vma.h +++ b/third_party/vma.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2024 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -25,9 +25,9 @@ /** \mainpage Vulkan Memory Allocator -Version 3.2.0 +Version 3.2.1 -Copyright (c) 2017-2024 Advanced Micro Devices, Inc. All rights reserved. \n +Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. \n License: MIT \n See also: [product page on GPUOpen](https://gpuopen.com/gaming-product/vulkan-memory-allocator/), [repository on GitHub](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator) @@ -9316,10 +9316,10 @@ void VmaBlockMetadata_TLSF::Alloc( RemoveFreeBlock(currentBlock); VkDeviceSize debugMargin = GetDebugMargin(); - VkDeviceSize misssingAlignment = offset - currentBlock->offset; + VkDeviceSize missingAlignment = offset - currentBlock->offset; // Append missing alignment to prev block or create new one - if (misssingAlignment) + if (missingAlignment) { Block* prevBlock = currentBlock->prevPhysical; VMA_ASSERT(prevBlock != VMA_NULL && "There should be no missing alignment at offset 0!"); @@ -9327,17 +9327,17 @@ void VmaBlockMetadata_TLSF::Alloc( if (prevBlock->IsFree() && prevBlock->size != debugMargin) { uint32_t oldList = GetListIndex(prevBlock->size); - prevBlock->size += misssingAlignment; + prevBlock->size += missingAlignment; // Check if new size crosses list bucket if (oldList != GetListIndex(prevBlock->size)) { - prevBlock->size -= misssingAlignment; + prevBlock->size -= missingAlignment; RemoveFreeBlock(prevBlock); - prevBlock->size += misssingAlignment; + prevBlock->size += missingAlignment; InsertFreeBlock(prevBlock); } else - m_BlocksFreeSize += misssingAlignment; + m_BlocksFreeSize += missingAlignment; } else { @@ -9346,15 +9346,15 @@ void VmaBlockMetadata_TLSF::Alloc( prevBlock->nextPhysical = newBlock; newBlock->prevPhysical = prevBlock; newBlock->nextPhysical = currentBlock; - newBlock->size = misssingAlignment; + newBlock->size = missingAlignment; newBlock->offset = currentBlock->offset; newBlock->MarkTaken(); InsertFreeBlock(newBlock); } - currentBlock->size -= misssingAlignment; - currentBlock->offset += misssingAlignment; + currentBlock->size -= missingAlignment; + currentBlock->offset += missingAlignment; } VkDeviceSize size = request.size + debugMargin; @@ -13302,10 +13302,14 @@ void VmaAllocator_T::ImportVulkanFunctions_Dynamic() if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) { VMA_FETCH_INSTANCE_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR, PFN_vkGetPhysicalDeviceMemoryProperties2KHR, "vkGetPhysicalDeviceMemoryProperties2"); + // Try to fetch the pointer from the other name, based on suspected driver bug - see issue #410. + VMA_FETCH_INSTANCE_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR, PFN_vkGetPhysicalDeviceMemoryProperties2KHR, "vkGetPhysicalDeviceMemoryProperties2KHR"); } else if(m_UseExtMemoryBudget) { VMA_FETCH_INSTANCE_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR, PFN_vkGetPhysicalDeviceMemoryProperties2KHR, "vkGetPhysicalDeviceMemoryProperties2KHR"); + // Try to fetch the pointer from the other name, based on suspected driver bug - see issue #410. + VMA_FETCH_INSTANCE_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR, PFN_vkGetPhysicalDeviceMemoryProperties2KHR, "vkGetPhysicalDeviceMemoryProperties2"); } #endif @@ -15066,7 +15070,7 @@ VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateAllocator( { VMA_ASSERT(pCreateInfo && pAllocator); VMA_ASSERT(pCreateInfo->vulkanApiVersion == 0 || - (VK_VERSION_MAJOR(pCreateInfo->vulkanApiVersion) == 1 && VK_VERSION_MINOR(pCreateInfo->vulkanApiVersion) <= 3)); + (VK_VERSION_MAJOR(pCreateInfo->vulkanApiVersion) == 1 && VK_VERSION_MINOR(pCreateInfo->vulkanApiVersion) <= 4)); VMA_DEBUG_LOG("vmaCreateAllocator"); *pAllocator = vma_new(pCreateInfo->pAllocationCallbacks, VmaAllocator_T)(pCreateInfo); VkResult result = (*pAllocator)->Init(pCreateInfo);