v1.150
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
inDeviceDesc
- 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 toCmdSetRootConstants
(yes, multiple constants can be organized in a single binding)NRI_PUSH_CONSTANTS
renamed toNRI_ROOT_CONSTANTS
(yes, multiple constants can be organized in a single binding)PushConstantDesc
renamed toRootConstantDesc
(foggy, but not a plural form to allowrootConstants
)PipelineLayoutDesc::pushConstants
renamed torootConstants
color
inOutputMergerDesc
renamed tocolors
(a plural form needed)colorNum
moved right aftercolors
inOutputMergerDesc
to follow "objects first, number of objects next" idiom (like in VK)- swapped order of
streams
andattributeNum
inVertexInputDesc
to follow "objects first, number of objects next" idiom (like in VK) isLogicOpSupported
renamed toisLogicFuncSupported
(sinceLogicFunc
is used)boundDescriptorSetMaxNum
renamed topipelineLayoutDescriptorSetMaxNum
(to emphasize the meaning)pushConstantsMaxSize
renamed torootConstantMaxSize
(again to follow the nomenclature currently in use)
DETAILS (in addition to major changes):
- NRI: added
RootDescriptorSetDesc
used inPipelineLayoutDesc
- 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