Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information