v1.150
HIGHLIGHTS:
- NRI: added
GraphicsAPI::NONEwith a dummy implementation, which supports everything, but does nothing - NRI: added support for root descriptors in a pipeline layout (respecting D3D12 restrictions)
- NRI: exposed
bindlessTierinDeviceDesc - 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):
CmdSetConstantsrenamed toCmdSetRootConstants(yes, multiple constants can be organized in a single binding)NRI_PUSH_CONSTANTSrenamed toNRI_ROOT_CONSTANTS(yes, multiple constants can be organized in a single binding)PushConstantDescrenamed toRootConstantDesc(foggy, but not a plural form to allowrootConstants)PipelineLayoutDesc::pushConstantsrenamed torootConstantscolorinOutputMergerDescrenamed tocolors(a plural form needed)colorNummoved right aftercolorsinOutputMergerDescto follow "objects first, number of objects next" idiom (like in VK)- swapped order of
streamsandattributeNuminVertexInputDescto follow "objects first, number of objects next" idiom (like in VK) isLogicOpSupportedrenamed toisLogicFuncSupported(sinceLogicFuncis used)boundDescriptorSetMaxNumrenamed topipelineLayoutDescriptorSetMaxNum(to emphasize the meaning)pushConstantsMaxSizerenamed torootConstantMaxSize(again to follow the nomenclature currently in use)
DETAILS (in addition to major changes):
- NRI: added
RootDescriptorSetDescused inPipelineLayoutDesc - Core: added
CmdSetRootDescriptorfunction - 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