v1.162
v1.162:
HIGHLIGHTS:
- added ability to create any number of queues of a specific type with custom priorities
- queues must be explicitly specified in
DeviceCreationDesc - queues in
DeviceCreationDescare organized intoQueueFamilyDescentries (a collection of queues of the same type) - compatibility & comfortable use is respected (read comments around changed functionality)
- added supported
queueNum(1 entry for eachQueueType) toAdapterDesc - all dependencies are now conditionally fetched via
FetchContent!
BREAKING CHANGES:
CommandQueuerenamed toQueue(args and funcs)- deleted
HIGH_PRIORITY_COPY(since priorities can be explicitly assigned) Architecturemoved toAdapterDesc(naturally better fits there)- deleted
isComputeQueueSupportedandisCopyQueueSupported(this info is available viaAdapterDescor evenGetQueue) SPIRVBindingOffsetsrenamed toVKBindingOffsetsDeviceCreationVKDesc::enabledExtensionsrenamed toDeviceCreationVKDesc::vkExtensions(to match the overall style)
DETAILS:
- Core: added
queueIndextoGetQueue - Core: added missing
isPresentFromComputeSupportedandisWaitableSwapChainSupportedtoDeviceDesc - VK: muted 2 silly info messages
- VK: switched AMD VMA to ToT
- D3D12: switched AMD D3D12MA to ToT
- D3D12: AgilitySDK is turned on by default, gets auto-downloaded (no need to do NuGet mumbo-jumbo)
- CMake: added
NRI_ENABLE_VALIDATION_SUPPORT(on by default) - Cmake:
NRI_ENABLE_EXTERNAL_LIBRARIESrenamed to a clearNRI_ENABLE_D3D_EXTENSIONS(this settings has always been about NVAPI and AMD AGS) - Cmake: migrated from submodules to
FetchContent - WrapperVK:
vkQueuesare not needed for device wrapping, sinceGetDeviceQueue2returns same handles for the same input arguments - interface polishing (no additional changes)
- lots of "correct this DeviceDesc!" work moved from implementations to "Creation.cpp"
- .natvis: fixed
NRI_OBJECT_SIGNATUREusage in non-validation devices (led to "memory can't be read") - .natvis: hooked
DeviceDesc - .natvis: added to SDK package
- interface polishing
- code cleanup
- updated docs