Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HIGHLIGHTS: - added a new extension "NRIResourceAllocator", which adds a simple way to create resources already bound to memory. Moreover, this extension uses AMD Vulkan/D3D12 MemoryAllocator under the hood, allowing to not only efficiently bind resources to memory chunks, but also track free memory segments, reusing them for subsequent allocations. Most likely, in the future this extension will get more MA functionality (statistics at least) BREAKING CHANGES: - Core: "MemoryAllocatorInterface" renamed to "AllocationCallbacks" (similarly for "memoryAllocatorInterface") - Core: "DeviceDesc::memoryTier" replaced with "DeviceDesc::isMemoryTier2Supported" - Raytracing: "GetAccelerationStructureMemoryDesc" made "AccelerationStructure" object independent - WrapperVK: "GetVk*" replaced with "Get*VK" to match the style DETAILS: - NRI: added new extension "NRIResourceAllocator", which allows to create bound-to-memory resources - NRI: alignment info grouped in one place in "DeviceDesc" - NRI: fixed "NRI_STATIC_LIBRARY" - Creation: exposed "DeviceCreationDesc::disable3rdPartyAllocationCallbacks" to use "allocationCallbacks" only for NRI needs - WrapperD3D12: removed unnecessary arguments - WrapperVK: removed unnecessary arguments - WrapperVK: minimized number of "mimic" types - Validation: tweaks and adjustments - introduced `NRI_OPTIONAL` to improve readability of main headers - bug fixes and improvements - improved comments in main headers - massive refactoring and code cleanup
- Loading branch information