| 14555 | } |
| 14556 | |
| 14557 | VkResult VmaAllocator_T::BindVulkanBuffer( |
| 14558 | VkDeviceMemory memory, |
| 14559 | VkDeviceSize memoryOffset, |
| 14560 | VkBuffer buffer, |
| 14561 | const void* pNext) const |
| 14562 | { |
| 14563 | if(pNext != VMA_NULL) |
| 14564 | { |
| 14565 | #if VMA_VULKAN_VERSION >= 1001000 || VMA_BIND_MEMORY2 |
| 14566 | if((m_UseKhrBindMemory2 || m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) && |
| 14567 | m_VulkanFunctions.vkBindBufferMemory2KHR != VMA_NULL) |
| 14568 | { |
| 14569 | VkBindBufferMemoryInfoKHR bindBufferMemoryInfo = { VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR }; |
| 14570 | bindBufferMemoryInfo.pNext = pNext; |
| 14571 | bindBufferMemoryInfo.buffer = buffer; |
| 14572 | bindBufferMemoryInfo.memory = memory; |
| 14573 | bindBufferMemoryInfo.memoryOffset = memoryOffset; |
| 14574 | return (*m_VulkanFunctions.vkBindBufferMemory2KHR)(m_hDevice, 1, &bindBufferMemoryInfo); |
| 14575 | } |
| 14576 | #endif // #if VMA_VULKAN_VERSION >= 1001000 || VMA_BIND_MEMORY2 |
| 14577 | |
| 14578 | return VK_ERROR_EXTENSION_NOT_PRESENT; |
| 14579 | } |
| 14580 | else |
| 14581 | { |
| 14582 | return (*m_VulkanFunctions.vkBindBufferMemory)(m_hDevice, buffer, memory, memoryOffset); |
| 14583 | } |
| 14584 | } |
| 14585 | |
| 14586 | VkResult VmaAllocator_T::BindVulkanImage( |
| 14587 | VkDeviceMemory memory, |