Skip to content

v1.161

Latest
Compare
Choose a tag to compare
@dzhdanNV dzhdanNV released this 16 Jan 08:43
· 17 commits to main since this release

HIGHLIGHTS:

  • a debug name can be assigned to any NRI object via the only one SetDebugName function
  • added .natvis debugger markup, unwrapping useless client-side anonymized opaque pointers to meaningful {ptr, name} or {ptr, name, desc} (if validation is enabled)
  • extended DeviceDesc (architecture, shader clock, ray tracing position fetch)
  • various improvements

BREAKING CHANGES:

  • SetXxxDebugName replaced with a single SetDebugName

DETAILS:

  • Core: lots of SetXxxDebugName replaced with a single SetDebugName, unlocking infinite extensibility
  • Core: AdapterDesc::systemMemorySize renamed to sharedSystemMemorySize to avoid confusion
  • Core: added DeviceDesc::Architecture for UMA detection
  • Core: removed isShaderNativeI32Supported, isShaderNativeF32Supported and isShaderAtomicsI32Supported from DeviceDesc, which are always supported on any device
  • Core: "shader clock" support
  • Core/VKWrapper: added some missing bits for retrieving native objects
  • D3D12: fixed crash on ray tracing pipeline creation (regression)
  • D3D11/D3D12: removed D3DExt.h/hpp, its functionality copied to corresponding implementations
  • D3D11/D3D12: polished shader extensions, since AMD AGS casts some restrictions
  • VK: VK_KHR_ray_tracing_position_fetch support
  • VK: semi-fix for rendering without attachments
  • VK: updated headers
  • Validation: SetDebugName validates that an object is an NRI object
  • Cmake: added NRI_ENABLE_DEBUG_NAMES_AND_ANNOTATIONS (on by default)
  • added .natvis (debugger markup) file
  • fixed creating a copy of AllocationCallbacks in every instance of a customized std::vector (now it's a reference to a single instance stored in device, it reduces memory usage of tiny entities, which can be created 100 000 times)
  • added lots of final keywords
  • polishing