Skip to content

v1.118

Choose a tag to compare

@dzhdanNV dzhdanNV released this 09 Feb 06:33
· 1127 commits to main since this release

v1.118:

BREAKING CHANGES!

HIGHLIGHTS:

  • NRI: generalized barriers (D3D12 "enhanced barriers" and VK_KHR_synchronization2)
  • NRI: refactoring to preserve interface health and agility
  • NRI: ShaderStage, PipelineLayoutShaderStageBits and Dependency generalized to StageBits
  • NRI: improved NRIDescs.h layout, added "pragma regions"
  • D3D11/D3D12/VK: improvements and bug fixes

DETAILS:

  • NRI: refactoring (see Crib Sheet)
  • VK: barriers use VK_KHR_synchronization2
  • VK: bug fixes reported by updated validation
  • VK: improved extensions handling
  • D3D11: exposed isNVAPILoaded in DeviceCreationD3D11Desc
  • D3D11: fixed memory leak caused by wrapped device
  • D3D11: fixed potentially wrong usage of "UAV overlap" extension
  • D3D12: enhanced barriers support with soft fallback to legacy barriers
  • D3D12: utilized "latest" interfaces where possible
  • D3D11/D3D12: more flexible interface querying
  • D3D11/D3D12: fixed potentially wrong swap chain interface querying
  • D3D11/D3D12/VK: depth bounds get reset in SetPipeline per VK spec
  • VALIDATION: improvements to reflect the changes
  • Helper: removed ChangeResourceStates
  • Helper: optimized barriers in UploadData

CRIB SHEET:

  • CmdPipelineBarrier => CmdBarrier
  • Dependency => StageBits
  • PipelineLayoutShaderStageBits => StageBits
  • ShaderStage => StageBits
  • TextureTransitionBarrierDesc => TextureBararierDesc
  • BufferTransitionBarrierDesc => BufferBararierDesc
  • TransitionBarrierDesc => BarrierGroupDesc
  • TextureLayout => Layout
  • PipelineLayoutDesc::stageMask => shaderStages
  • DescriptorRangeDesc::visibility => shaderStages
  • ComputePipelineDesc::computeShader => shader
  • GraphicsPipelineDesc::shaderStages => shaders
  • GraphicsPipelineDesc::shaderStageNum => shaderNum
  • ShaderLibrary::shaderDescs => shaders
  • TextureTransitionBarrierDesc::nextState => after
  • BufferTransitionBarrierDesc::nextState => after
  • BufferUploadDesc::nextAccess => after
  • TextureUploadDesc::nextAccess => after
  • TextureTransitionBarrierDesc::prevState => before
  • BufferTransitionBarrierDesc::prevState => before
  • BufferUploadDesc::prevAccess => before
  • ShaderStage::VERTEX => VERTEX_SHADER
  • ShaderStage::TESS_CONTROL => TESS_CONTROL_SHADER
  • ShaderStage::TESS_EVALUATION => TESS_EVALUATION_SHADER
  • ShaderStage::GEOMETRY => GEOMETRY_SHADER
  • ShaderStage::MESH_CONTROL => MESH_CONTROL_SHADER
  • ShaderStage::MESH_EVALUATION => MESH_EVALUATION_SHADER
  • ShaderStage::FRAGMENT => FRAGMENT_SHADER
  • ShaderStage::COMPUTE => COMPUTE_SHADER
  • ShaderStage::RAYGEN => RAYGEN_SHADER
  • ShaderStage::MISS => MISS_SHADER
  • ShaderStage::INTERSECTION => INTERSECTION_SHADER
  • ShaderStage::CLOSEST_HIT => CLOSEST_HIT_SHADER
  • ShaderStage::ANY_HIT => ANY_HIT_SHADER
  • ShaderStage::CALLABLE => CALLABLE_SHADER
  • TextureLayout::GENERAL => SHADER_RESOURCE_STORAGE