rr: add FSR Ray Regeneration, exact RDNA3 inference and motion experiments
Add an experimental FSR Ray Regeneration backend for D3D12 RR requests: - Convert depth, motion, normals and albedos into AMD denoiser inputs. - Split and recompose diffuse/specular signals, then run Super Sampling. - Add stability/detail controls, demodulation guards and halo limiting. - Handle AMD provider discovery under NVIDIA GPU spoofing. - Add runtime probes, synthetic reference scenes and per-dispatch profiling. Add exact gfx11 DLSS-RR inference using f16 cooperative matrices: - Reproduce FP8 conversions, accumulation and camera reprojection arithmetic. - Widen model weights and avoid requiring VK_EXT_shader_float8. - Extend model building, replay tools and descriptor metadata. Expand motion preprocessing and experimental AW2 native-motion support: - Add tiled LDS dilation, padded allocation handling and thin-only sky fill. - Order dilation with input waits and NGX on the selected stream. - Add jitter-aligned native composition, hybrid routing and wire history repair. - Add prepared masks, sparse repair and independent motion/repair controls. Add optional fused R11G11B10 input/output conversion, sampled stage timings and profile summarization. Extend configuration, packaging, documentation, FidelityFX headers and CPU/GPU regression coverage.
This commit is contained in:
1 parent
17c1828f97
commit
34e6b0fe71
83 files changed
+11300
-195
No files matched your search
@@ -6,7 +6,11 @@ set -euo pipefail
|
||||
# the game launcher takes as D4R_VKD3D_DIR.
|
||||
# usage: build_vkd3d_proton_d4r.sh OUT_DIR
|
||||
# Env: VKD3D_PROTON_SRC (clone, default ~/.cache/d4r-vkd3d-proton),
|
||||
# VKD3D_PROTON_COMMIT (default 3dfc6f07, the base GE-Proton11-3 ships).
|
||||
# VKD3D_PROTON_COMMIT (default 3dfc6f07, the base GE-Proton11-3 ships),
|
||||
# D4R_VKD3D_FSR_RR=1: also what AMD's FSR Ray Regeneration needs on RDNA 3
|
||||
# ([RayReconstruction] Backend = fsr): dxil-spirv's accepted scalar FP8 fallback (upstream PR 307,
|
||||
# merge f9f6294f, cherry-picked onto the linked translator) and -Denable_extended_emulation=true,
|
||||
# in a build directory of its own. Run games with DXIL_SPIRV_CONFIG=wmma_rdna3_workaround.
|
||||
if [[ $# -ne 1 ]]; then
|
||||
printf 'usage: %s OUT_DIR\n' "$0" >&2
|
||||
exit 2
|
||||
@@ -22,7 +26,18 @@ BUILD="$SRC-build"
|
||||
git -C "$SRC" checkout -q -f -B d4r-split "$COMMIT"
|
||||
git -C "$SRC" submodule update --init --recursive -q
|
||||
git -C "$SRC" apply "$ROOT"/patches/vkd3d-proton/*.patch
|
||||
[[ -d "$BUILD" ]] || meson setup --cross-file "$SRC/build-win64.txt" --buildtype release -Denable_tests=false "$BUILD" "$SRC"
|
||||
EXTRA=()
|
||||
if [[ "${D4R_VKD3D_FSR_RR:-0}" == 1 ]]; then
|
||||
DXIL="$SRC/subprojects/dxil-spirv"
|
||||
git -C "$DXIL" fetch -q origin f9f6294f3a6795e071bef3a64d2bee99e7c1b7bc
|
||||
if ! git -C "$DXIL" merge-base --is-ancestor f9f6294f3a6795e071bef3a64d2bee99e7c1b7bc^2 HEAD; then
|
||||
git -C "$DXIL" -c user.name=d4r -c user.email=d4r@localhost cherry-pick -x \
|
||||
$(git -C "$DXIL" rev-list --reverse f9f6294f3a6795e071bef3a64d2bee99e7c1b7bc^1..f9f6294f3a6795e071bef3a64d2bee99e7c1b7bc^2)
|
||||
fi
|
||||
BUILD="$SRC-build-fsrrr"
|
||||
EXTRA=(-Denable_extended_emulation=true)
|
||||
fi
|
||||
[[ -d "$BUILD" ]] || meson setup --cross-file "$SRC/build-win64.txt" --buildtype release -Denable_tests=false "${EXTRA[@]}" "$BUILD" "$SRC"
|
||||
ninja -C "$BUILD"
|
||||
mkdir -p "$OUT"
|
||||
x86_64-w64-mingw32-strip -o "$OUT/d3d12.dll" "$BUILD/libs/d3d12/d3d12.dll"
|
||||
|
||||
Reference in new issue
Block a user