Releases: NVIDIA-RTX/NRI
Releases · NVIDIA-RTX/NRI
v1.144
HIGHLIGHTS:
- resolved inability to use read-only depth or stencil when the other subresource is writable
- added ability to separate depth and stencil in a barrier
- introduced
PlaneBitsconcept, which is also needed for video
BREAKING CHANGES:
attachmentContentTyperenamed toplanesClearDesc::planesmust be set toPlaneBits::COLORexplicitly for color only clears- no changes in barriers unless depth and stencil separation needed
- removed
ResourceViewBits, use extendedTexture1DViewTypeandTexture2DViewTypeinstead - no more API changes planned \O/
DETAILS:
- NRI: introduced
PlaneBits - NRI: extended
Texture1DViewTypeandTexture2DViewTypeto include read-only depth and/or stencil - NRI: removed
ResourceViewBits(there was not a "resource" concept), replaced with extended view types - NRI:
AttachmentContentTypereplaced withPlaneBits - NRI: added
PlaneBitstoTextureBarrierDesc - D3D11/D3D12/VK: improvements around
ClearAttachments - VK:
ClearAttachmentsbehavior matched D3D - Helper: added
planestoTextureUploadDesc - Validation: improved
ClearAttachmentsvalidation - Validation: added detection of a mismatched D3D/VK behavior related to read-only depth-stencil usage
v1.143
HIGHLIGHTS:
- NRI: added shading rate support (aka VRS) for all GAPIs, including D3D11
- bug fixes and improvements
BREAKING_CHANGES:
DEPTH_STENCILinLayoutandAccessrenamed toDEPTH_STENCIL_ATTACHMENTto emphasize the stage
DETAILS:
- D3D11/D3D12/VK/Validation: added shading rate support
- D3D11: fixed 0 values potentially sneaking into internally used
m_SubresourceInfo - D3D11: fixed
ForcedSampleCountusage - D3D11/D3D12: improved NVAPI usage and fixed some bugs
- VK: hooked up
VK_EXT_image_sliced_view_of_3d - VK: implemented read-only depth-stencil
- VK: 3D textures get created with
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BITflag for flexibility and compatibility - Validation: reduced code entropy
- added
.clang-format-ignore - updated docs
v1.142
HIGHLIGHTS:
- interface polishing (sorry for the breaking changes)
- bug fixes and improvements
BREAKING CHANGES:
REMAINING_ARRAY_LAYERSrenamed toREMAINING_LAYERSREMAINING_MIP_LEVELSrenamed toREMAINING_MIPSarraySizerenamed tolayerNumarrayOffsetrenamed tolayerOffsettextureArrayMaxDimrenamed totextureArrayMaxLayerNumGeometryObject::trianglesreplaced withGeometryObject::geometry.trianglesGeometryObject::boxesreplaced withGeometryObject::geometry.aabbs
DETAILS:
- NRI: emphasize that a texture array consists of layers
- NRI: avoid using
sizefor something other than size in bytes - Raytracing: better resolved warning
C4201in the header - VK: fixed
VkRayTracingShaderGroupCreateInfoKHR::typeselection - WrapperD3D12: fixed validation
- improved comments in the main headers
- updated .clang-format
v1.141
HIGHLIGHTS:
- added a new extension
NRIResourceAllocator, which adds a simple way to create resources already bound to memory. Moreover, this extension usesAMD Vulkan/D3D12 MemoryAllocatorunder 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:
MemoryAllocatorInterfacerenamed toAllocationCallbacks(similarly formemoryAllocatorInterface) - Core:
DeviceDesc::memoryTierreplaced withDeviceDesc::isMemoryTier2Supported - Raytracing:
GetAccelerationStructureMemoryDescmadeAccelerationStructureobject independent - WrapperVK:
GetVk*replaced withGet*VKto 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::disable3rdPartyAllocationCallbacksto useallocationCallbacksonly for NRI needs - WrapperD3D12: removed unnecessary arguments
- WrapperVK: removed unnecessary arguments
- WrapperVK: minimized number of "mimic" types
- Validation: tweaks and adjustments
- introduced
NRI_OPTIONALto improve readability of main headers - bug fixes and improvements
- improved comments in main headers
- massive refactoring and code cleanup
v1.140
HIGHLIGHTS:
- NRI: exposed optional memory priority
- NRI: exposed
HIGH_PRIORITY_COPYqueue - VK: doesn't use potentially slow
VK_SHARING_MODE_CONCURRENTunless aCOMPUTEorCOPYqueue is requested - NVAPI with MIT license!
BREAKING CHANGES:
Vulkan=>VKorvkto avoid divergencyisVulkan12=>minorVersionfor future needsfamilyIndex=>queueFamilyIndexto avoid divergency
DETAILS:
- NRI:
AllocateMemoryargs wrapped intoAllocateMemoryDescstruct with optional priority - VK: improved queue related code
- VK: hooked up
VK_EXT_memory_priority - Wrapper: fixed not updated queue family indices participating into multi-queue activities
- reduced code entropy
- updated NVAPI
- improved comments
v1.139
HIGHLIGHTS:
- Helper: exposed
ResourceGroupDesc::preferredMemorySizeto define desired memory chunk size (256 Mb if 0) - bug fixes and improvements
DETAILS:
- Helper: added ability to provide preferred memory chunk size
- bug fixes and improvements
- updated Vulkan headers to
v1.3.290 - updated comments
v1.138
HIGHLIGHTS:
- improved memory allocation API (more friendly for render graph based systems)
BREAKING CHANGES:
GetAccelerationStructureMemoryInforenamed toGetAccelerationStructureMemoryDescGetBufferMemoryInfo(const Buffer& buffer, ...)changed toGetBufferMemoryDesc(const Device& device, const BufferDesc& bufferDesc, ...)GetTextureMemoryInfo(const Texture& texture, ...)changed toGetTextureMemoryDesc(const Device& device, const TextureDesc& textureDesc, ...)- no-brain migration:
GetXxxMemoryInfo(resource, ...)=>GetXxxMemoryDesc(device, NRI.GetXxxDesc(resource), ...)
DETAILS:
- NRI:
GetXxxMemoryInforenamed toGetXxxMemoryDesc - NRI: use
BufferDescandTextureDescto getMemoryDesc, avoiding beforehand resource creation - NRI: exposed
DeviceDesc::memoryTier, which provides a hint about which resource categories can be put in one memory (valid for D3D12, just a hint for VK) - VK: old-school
vkGetXxxMemoryRequirements2replaced with modernvkGetDeviceXxxMemoryRequirementsfromVK_KHR_maintenance4
v1.137
HIGHLIGHTS:
- bug fixes and improvements
- baby steps towards better memory allocation & binding
DETAILS:
- updated version!
- D3D12/VK: reduced code entropy around
MemoryType - D3D12: fixed validation error: some heap flags can't be passed into
CreateCommitedResource(STATE_CREATION ERROR #640) - D3D12: if
D3D12_RESOURCE_HEAP_TIER_2is available, prefer to merge all resources into one heap (matches VK behavior) - updated AMDAGS
v1.136
HIGHLIGHTS:
- improvements
DETAILS:
- NRI: improved
nriQueryVideoMemoryInfo - Wrapper: various improvements
- Ray tracing: scratch buffer size is aligned under the hood for comfortable usage (concatenation of scratch memory)
- Ray tracing: exposed
DeviceDesc::rayTracingScratchAlignment - VK: implemented
nriQueryVideoMemoryInfo - updated NVAPI
- non-Windows experience improvements
- fixed typos
v1.135
HIGHLIGHTS:
- improvements
DETAILS:
- NRI: exposed
isEnchancedBarrierSupportedinDeviceDesc(iffalse,Layoutis unsupported and not needed) - NRI: added ability to disable extension libraries (NVAPI and AMDAGS)
- D3D11: "byte address buffer" support (?)
- added clarifications