Skip to content

v1.150

Latest
Compare
Choose a tag to compare
@dzhdanNV dzhdanNV released this 18 Sep 08:11

HIGHLIGHTS:

  • NRI: added GraphicsAPI::NONE with a dummy implementation, which supports everything, but does nothing
  • NRI: added support for root descriptors in a pipeline layout (respecting D3D12 restrictions)
  • NRI: exposed bindlessTier in DeviceDesc
  • NRI: improved the look of the interfaces, added more comments
  • NRI: improved compilation time (4x-5x)
  • bug fixes and improvements

BREAKING CHANGES (more bytes needed to explain than to fix):

  • CmdSetConstants renamed to CmdSetRootConstants (yes, multiple constants can be organized in a single binding)
  • NRI_PUSH_CONSTANTS renamed to NRI_ROOT_CONSTANTS (yes, multiple constants can be organized in a single binding)
  • PushConstantDesc renamed to RootConstantDesc (foggy, but not a plural form to allow rootConstants)
  • PipelineLayoutDesc::pushConstants renamed to rootConstants
  • color in OutputMergerDesc renamed to colors (a plural form needed)
  • colorNum moved right after colors in OutputMergerDesc to follow "objects first, number of objects next" idiom (like in VK)
  • swapped order of streams and attributeNum in VertexInputDesc to follow "objects first, number of objects next" idiom (like in VK)
  • isLogicOpSupported renamed to isLogicFuncSupported (since LogicFunc is used)
  • boundDescriptorSetMaxNum renamed to pipelineLayoutDescriptorSetMaxNum (to emphasize the meaning)
  • pushConstantsMaxSize renamed to rootConstantMaxSize (again to follow the nomenclature currently in use)

DETAILS (in addition to major changes):

  • NRI: added RootDescriptorSetDesc used in PipelineLayoutDesc
  • Core: added CmdSetRootDescriptor function
  • D3D12: properly filled pipeline layout limits dictated by HW root signature size and the resource binding tier
  • D3D12: hooked up "heap directly indexed" root signature flags if SM 6.6 is supported
  • D3D12/D3D11/VK: minor improvements and optimizations here and there
  • D3D11: minor fixes to match D3D12
  • Validation: various improvements
  • Cmake: project structure made matching on disk folder layout
  • reduced code entropy
  • updated AMD memory allocator
  • refactoring