Validate native Windows DLSS output on GPU and record actual M gameplay
This commit is contained in:
1 parent
5d33bddcd0
commit
74395b6aef
9 files changed
+119
-13
No files matched your search
@@ -1,8 +1,10 @@
|
||||
# Native Windows RDNA4 game development package
|
||||
|
||||
Validated hardware: Windows 11 x64 / Radeon RX 9070 XT / gfx1201. Native K and
|
||||
M transformer kernels pass standalone D3D12 + OptiScaler checks. Actual game
|
||||
compatibility and performance are still being validated. This is a local
|
||||
M transformer kernels pass standalone D3D12 + OptiScaler checks. Silent Hill 2
|
||||
K now renders real menu frames and M renders a saved gameplay level with
|
||||
GPU NaN/Inf checks. Resolution coverage and performance are still being
|
||||
validated. This is a local
|
||||
development package; no NVIDIA proprietary DLL is included.
|
||||
|
||||
Build the shim/diagnostics, corrected ZLUDA, K/M native objects and patched
|
||||
@@ -39,6 +41,11 @@ original bytes after the test. It does not change progression saves. First-use
|
||||
PTX compilation can be slow; `-CacheDirectory <existing-ZLUDA-cache>` reuses
|
||||
modules with matching GPU, codegen switches and ZLUDA binary fingerprint.
|
||||
|
||||
Add `-ValidateOutput` to scan the entire RGBA16F DLSS output for NaN/Inf on
|
||||
the GPU before returning it to D3D12. Only two diagnostic counters (8 bytes)
|
||||
are read by the CPU; image data remains in VRAM. Validation failures are
|
||||
reported explicitly. Disable this diagnostic when measuring production speed.
|
||||
|
||||
Original files are backed up before replacement. Restore with:
|
||||
|
||||
```powershell
|
||||
|
||||
@@ -4,11 +4,40 @@ Branch: `windows-rdna4`. Target: Windows 11 x64, RX 9070 XT, **gfx1201**.
|
||||
Priority: correct K, correct M, native Windows, same-frame output, then speed.
|
||||
This is a work log for an implementation in progress. Standalone DLSS K/M
|
||||
works on the real Windows GPU, including the patched OptiScaler frontend.
|
||||
An actual game session remains unverified.
|
||||
Silent Hill 2 now renders through the Windows backend; gameplay and output
|
||||
validation coverage are recorded below. Performance remains in progress.
|
||||
|
||||
## Milestone and gates
|
||||
|
||||
First actual game runs (2026-10-01): Silent Hill 2 1.2, XeSS input -> OptiScaler
|
||||
Actual K rendering: `silent-hill2-k-depth-plane.zip` completes **1794 DLSS
|
||||
frames / 19734 native K launches / zero d4r failures** at 753x424 -> 1280x720
|
||||
with the game's depth-inverted HDR path and DXGI-19 depth plane. The captured
|
||||
menu is rendered correctly; no CPU image copies or frame-age fallback are
|
||||
used. Its restored graphics settings match the original SHA256.
|
||||
|
||||
GPU output validation is now available via `D4R_VALIDATE_OUTPUT=1` or the
|
||||
game runner's `-ValidateOutput`. A native GPU scan classifies all canonical
|
||||
RGBA16F components, returning only two 32-bit NaN/Inf counters. A negative
|
||||
fixture with one NaN and two infinities passes. All four K/M standalone
|
||||
validated frames have zero NaN/Inf and bit-exact RGB against their control
|
||||
frames (`optiscaler-k-output-validation.zip`, `optiscaler-m-output-validation.zip`).
|
||||
The pixel format tests including the negative fixture pass legacy/enhanced
|
||||
barriers (`output-validation-formats-ctest.log`).
|
||||
|
||||
`silent-hill2-m-output-validation` now renders the actual saved gameplay
|
||||
level with all five native M transformer layers. A screenshot shows the
|
||||
character and street scene; 1349 full 1280x720 output scans have zero
|
||||
NaN/Inf in all 3686400 components. There are 1348 complete frame log records,
|
||||
13490 native launches and zero d4r failures; the bounded stop interrupts the
|
||||
last frame log after its successful scan. The runner now counts only complete
|
||||
records and reports validation counts and per-kernel native/translated hits.
|
||||
The current-frame backend remains slow:
|
||||
observed interop + NGX CPU completion is roughly 74–86 ms in these runs.
|
||||
These are initial stage measurements, not isolated kernel GPU timings or
|
||||
a controlled K/M performance comparison. Profile before optimizing.
|
||||
|
||||
First actual game runs (2026-10-01): Silent Hill 2 v1.1.258834 (the GSA settings
|
||||
schema reports 1.2.0.0), XeSS input -> OptiScaler
|
||||
DLSS K. `silent-hill2-k-first.zip` found the old Project ID wrapper initializing
|
||||
CUDA NGX with app 4919 instead of the caller's identity, and back-buffer
|
||||
tracking references blocking `ResizeBuffers` (DXGI_ERROR_INVALID_CALL).
|
||||
@@ -53,7 +82,7 @@ restores original DLL/config sentinel bytes exactly. For Silent Hill 2,
|
||||
files; this avoids modifying progression saves. Original settings after the
|
||||
stopped failing run have an identical SHA256. `-CacheDirectory` can reuse an
|
||||
already validated local JIT cache. Development package usage is documented in
|
||||
`docs/windows-game.md`; in-game success is still a gate.
|
||||
`docs/windows-game.md`; K menu and M saved-level results are recorded above.
|
||||
|
||||
Startup coverage (2026-10-01): OptiScaler patch `0002` installs d4r at device
|
||||
discovery, before NGX initialization. `optiscaler-k-preinit-signature.zip` and
|
||||
@@ -95,7 +124,7 @@ Do not integrate NGX until the integer PTX workload is stable on the real GPU.
|
||||
| M6: K layers, full transformer and image validation | PASS: 11 real-weight layers, 44 native launches, four D3D12 frames bit-exact against native CUDA, 81.85–92.91 dB versus translated K |
|
||||
| M7: M FP16-equivalent baseline and full transformer | PASS: all blocks of 40 native launches exactly match NumPy; targeted independent PTX regression matches; four D3D12 frames bit-exact against corrected translated M |
|
||||
| M8: standalone Windows D3D12 NGX harness | PASS for ordinary recorded EvaluateFeature and explicit boundaries: K/M, four frames each, no shim CPU image copies; both bit-exact against explicit boundary baselines |
|
||||
| M9: OptiScaler integration, profiling, installation | Patched frontend K/M PASS; game, profiling and final package pending |
|
||||
| M9: OptiScaler integration, profiling, installation | Patched frontend K/M PASS; K game menu and M saved level PASS; profiling and final package pending |
|
||||
|
||||
## Public NGX identity and OptiScaler gate (2026-10-01)
|
||||
|
||||
@@ -137,7 +166,8 @@ NVIDIA architecture as a proxy. GetFeatureRequirements spoofing is bypassed.
|
||||
Explicit external DLSS selection returns errors instead of silently using FSR.
|
||||
Microsoft Build Tools 17.14 / MSVC 14.44.35207 and SDK 10.0.26100 were installed
|
||||
from the signature-verified official bootstrapper without restarting Windows.
|
||||
No game files have been modified.
|
||||
At this historical frontend milestone no game files had been modified; the
|
||||
later game installer and reversible file backups are described above.
|
||||
|
||||
The OptiScaler fork commit is `33bbac2` on `windows-rdna4-d4r`. Its reproducible
|
||||
source patch and build instructions are in [patches/optiscaler](../patches/optiscaler/README.md).
|
||||
|
||||
Reference in new issue
Block a user