Implement native NGX feature-13 RR through a LUID-matched D3D12/Vulkan shared-memory and timeline-fence bridge. Add owned parameter snapshots, GPU resource lifetime handling, inherited/enhanced barriers, optional guides, sampled input formats and depth-plane support with stencil preservation. Separate RR initialization from the SR CUDA runtime and expose explicit backend/model selection through player configuration. Add synthetic bridge, snapshot and NGX lifecycle harnesses covering camera/history/reset, parameter mutation, delayed submission, early release, capability gating and unsupported-input rejection. Add exact gfx11 D/E model generation, verified caches, versioned local deployment with configuration backups, and isolated portable model tools with pinned Python, NumPy and glslang dependencies. Extend Windows K benchmarking and private native-cache selection. Fix LLVM 22 emitter/helper compatibility and preserve exact-output validation for local output-kernel optimization. Add native FSR RR provider diagnostics, local development package refresh tooling, installer/checker updates, FidelityFX headers and Windows parity documentation. Keep NVIDIA binaries, derived models and private optimized kernels out of distributable packages. Native RR evidence remains synthetic; game validation, FSR RR dispatch, installer integration and Linux performance parity remain incomplete.
28 lines
1.3 KiB
PowerShell
28 lines
1.3 KiB
PowerShell
[CmdletBinding()]
|
|
param()
|
|
$ErrorActionPreference='Stop'
|
|
$repo=[IO.Path]::GetFullPath((Join-Path $PSScriptRoot '../..'))
|
|
$directory=Join-Path $repo '.tools/fsr-rr-1.2'
|
|
$dll=Join-Path $directory 'amd_fidelityfx_denoiser_dx12.dll'
|
|
$expected='48f1e5888ba6a0a3d59a98b9751e37c392b0f7b8c223d0082d5c1f40642879d3'
|
|
$url='https://raw.githubusercontent.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK/v2.3.0/Kits/FidelityFX/signedbin/amd_fidelityfx_denoiser_dx12.dll'
|
|
New-Item -ItemType Directory -Path $directory -Force | Out-Null
|
|
if(Test-Path -LiteralPath $dll){
|
|
if((Get-FileHash -LiteralPath $dll -Algorithm SHA256).Hash.ToLowerInvariant() -ne $expected){
|
|
throw "Existing denoiser hash mismatch; refusing to replace $dll"
|
|
}
|
|
}else{
|
|
$temporary=Join-Path $directory ([Guid]::NewGuid().ToString('N')+'.download')
|
|
try{
|
|
Invoke-WebRequest -Uri $url -OutFile $temporary -UseBasicParsing
|
|
if((Get-FileHash -LiteralPath $temporary -Algorithm SHA256).Hash.ToLowerInvariant() -ne $expected){
|
|
throw 'AMD denoiser download hash mismatch.'
|
|
}
|
|
Move-Item -LiteralPath $temporary -Destination $dll
|
|
}finally{
|
|
if(Test-Path -LiteralPath $temporary){Remove-Item -LiteralPath $temporary}
|
|
}
|
|
}
|
|
Write-Host "Pinned AMD denoiser ready: $dll"
|
|
Write-Host 'Provider availability and execution still require test-fsr-rr.ps1.'
|