Commit Graph
54 Commits
Author SHA1 Message Date
xdfnx-dev 3d5f42865f Backport gfx1154 support into ZLUDA's Windows LLVM compiler
Adapt official LLVM 7a0829e41228 to the pinned LLVM 22 parser and ELF structures. Apply and audit the complete source delta before building, export its provenance, and package the source patch. Add 33 offline public PTX compilation checks across all eleven GPU targets without hardware execution. Preserve strict arithmetic and document RX9070XT K/M regressions.
2026-10-02 17:45:41 +03:00
xdfnx-devandrealdody 3fa963fd1b Enable experimental native Windows RDNA3 and RDNA4 targets
Share explicit target metadata across build/runtime/package guards, preserve native gfx11 WMMA with a Windows LDS lane exchange, select HIP devices by D3D12 LUID, and reject wrong-target/vkd3d installations before changing game files. Review all issue #10 logs and document compile-only coverage plus RX9070XT regressions.

Co-authored-by: realdody <[email protected]>
2026-10-02 17:10:42 +03:00
xdfnx-devandrealdody 98de8e3a3e Build native Windows packages for both RDNA4 targets
Add explicit gfx1200/gfx1201 builds, runtime selection and per-target
code objects. Guard staging, packaging and installation against mixed
architectures; retain gfx1201 compatibility and strict K/M arithmetic.

Adapt realdody's target configuration and MSVC binary16/BOOL portability
fixes from ae530b0. Do not import its forced gfx12 layout on RDNA3.
Add exhaustive binary16 and C++/PowerShell target contract regressions.

Validation: 20 CTest gates on RX 9070 XT; four software-only gfx1200 gates;
MSVC portability compile checks; exact 4K K async and M control outputs;
isolated package install/restore and mixed-target rejection tests.
No physical gfx1200 validation is claimed.

Co-authored-by: realdody <[email protected]>
2026-10-02 16:18:18 +03:00
xdfnx-dev 8f7058d2ba Add exact input-kernel experiments and preserve translated controls 2026-10-02 15:34:22 +03:00
xdfnx-dev 4f008b3ed1 Record bounded K game results for shared V and private WGP outputs 2026-10-02 15:21:34 +03:00
xdfnx-dev 96650ed29d Add private WGP output validation and record measured K experiments 2026-10-02 15:03:32 +03:00
xdfnx-dev bf4923aa4c Reproduce gfx12 FP16 accumulator differences and preserve K baseline 2026-10-02 13:03:19 +03:00
xdfnx-dev 9dece89599 Record controlled K timings and add read-only AMD GPU telemetry 2026-10-02 12:39:14 +03:00
xdfnx-dev 973eb5ecd2 Batch Windows DLSS GPU inputs and add deferred kernel diagnostics 2026-10-02 12:06:15 +03:00
Codex 77a5c008f9 Record upstream Windows integration draft PR 2026-10-02 10:53:12 +03:00
Codex 7eaeb8c3db Capture PresentMon metrics and record Windows release validation 2026-10-02 10:44:09 +03:00
Codex 541c9838f7 Merge upstream lifecycle fixes into native Windows RDNA4 port 2026-10-02 10:11:10 +03:00
Codex caecad0897 Measure Windows interop GPU boundaries without added completion waits 2026-10-02 10:08:47 +03:00
Codex 0b471be024 Queue native Windows DLSS asynchronously and drain feature consumers 2026-10-02 10:00:26 +03:00
ayo f66cccaf28 Add experimental preset L and fix DLSS resource lifetimes and waits
- Build L texture variants and complete older release kernel bundles.
- Add selective Swin encoder fallback to reduce L/M motion trails.
- Add opt-in GPU motion-vector dilation for thin geometry and sky gaps.
- Replace GPU input waits with cancellable readiness polling and use
  sleeping event queries for completion.
- Retain recorded resources through command allocator completion, defer
  shutdown until cleanup, and preserve unfinished output synchronization.
- Extend lifecycle harness checks and add event, model and motion tests.
- Update configuration defaults, build scripts and release documentation.
2026-10-02 00:30:46 -04:00
Codex df44d8aeae Record final K production and package validation results 2026-10-01 21:23:44 +03:00
Codex 0c18df6253 Validate Windows native M FP8 and reduce operand packing cost 2026-10-01 21:16:28 +03:00
Codex 74aad12938 Cache D3D12 recording lookups without retaining game resources 2026-10-01 20:23:08 +03:00
Codex 73ee2e5ecc Measure Windows submission costs and validate faster private K output stores 2026-10-01 19:54:41 +03:00
Codex d556747bad Merge upstream accuracy mode and artifact fixes into Windows RDNA4 2026-10-01 18:37:14 +03:00
Codex 40d9a55e10 Remove game log backpressure and measure Windows K/M kernels 2026-10-01 18:37:14 +03:00
Codex 74395b6aef Validate native Windows DLSS output on GPU and record actual M gameplay 2026-10-01 17:54:24 +03:00
Codex 5d33bddcd0 Fix game startup resource lifetime and D32S8 depth-plane interop 2026-10-01 17:27:06 +03:00
Codex 19d859e43d Capture pre-NGX command signatures through early OptiScaler device discovery 2026-10-01 16:48:12 +03:00
Codex e4c1c87b66 Resolve texture states in queue order across DLSS command lists 2026-10-01 16:41:52 +03:00
Codex e14b4cb54c Run native Windows DLSS K and M through an explicit OptiScaler source backend 2026-10-01 16:13:07 +03:00
Codex 27d6a1230a Forward Windows NGX project identity and validate frontend native network use 2026-10-01 15:45:55 +03:00
Codex 6ddf740877 Preserve initial PSO and enhanced texture layouts in Windows interop 2026-10-01 15:04:58 +03:00
Codex e9eec6d4e0 Convert native Windows D3D12 formats on gfx1201 with GPU validation 2026-10-01 14:48:42 +03:00
Codex 312c6bb50d Track Windows D3D12 indirect state and newer command interfaces 2026-10-01 14:15:01 +03:00
ayo b645ef9096 Add DLSS accuracy mode and GLIBC 2.41 release builds
- Add default-off PreferAccuracy for all native kernel families,
  including RDNA4 FP8 variants.

- Restore intermediate FP8 quantization, per-MMA FP16 rounding,
  denormal handling and NGX synchronization in accuracy mode.

- Select separately marked accuracy kernels and use a separate JIT
  cache; reject mixed sets and never silently substitute fast kernels.

- Add a pinned GLIBC 2.41 build environment for ZLUDA/LLVM, the DLLs
  and both kernel sets, with ABI checks and toolchain provenance.

- Support parallel target builds and pre-extracted PTX; correct
  ROCm header paths and Clang-CL input handling.

- Bump to 0.1.3 and update release notes, documentation and tests.

Validation: 11 tests passed; all 912 kernels built; E/K/M GPU harness
runs completed with accuracy off/on. Packaged libraries loaded under
GLIBC 2.41 and require no GLIBC version newer than 2.38.

RTX image-quality parity remains unverified.

Fixes #6
Refs #6
2026-10-01 01:35:39 -04:00
ayo b2b3781aca Fix DLSS artifacts and improve synchronization diagnostics
- Fix Cyberpunk 2077 preset-K black artifacts by preserving FP16/FP64
  denormal requirements while limiting denormal suppression to FP32.

- Fix stale direct-output redirects after array destruction, preventing
  reused handles from inheriting an earlier feature's output buffer.

- Log rejected resource formats and dimensions, including failures after
  startup, with rate limiting for repeated errors.

- Add opt-in blocking output synchronization with a dedicated bridge
  export and fallback to context synchronization.

- Report output-wait CPU and wall time, and defer GPU timing queries
  until asynchronous evaluation has completed. The CPU-overhead
  mitigation for #7 still needs reporter confirmation.

- Reject release libraries requiring GLIBC newer than the configured
  baseline, defaulting to 2.41, and document compatible builds.

Validation: shim and bridge builds pass; targeted redirect-lifetime and
format-logging checks pass.

Fixes #5
Fixes #8
Refs #7
2026-09-30 23:17:25 -04:00
Codex 63607298ea Execute Windows DLSS K and M at recorded D3D12 command-list boundaries 2026-09-30 22:21:06 +03:00
Codex b8d801ae4c Correct M attention precision and validate every temporal transformer block 2026-09-30 21:30:05 +03:00
Codex e15f6a73a6 Run native Windows D3D12 DLSS K and M through shared VRAM 2026-09-30 20:22:03 +03:00
Codex 2db93adb1a Validate native Windows M against real PTX and correct patch-merge bounds 2026-09-30 19:01:18 +03:00
Codex 5592b7a921 Execute native Windows K DLSS and validate real transformer weights 2026-09-30 18:23:01 +03:00
Codex a0c36a6d6f Validate all eleven native gfx1201 K layers with Windows replay 2026-09-30 16:55:41 +03:00
Codex 3c28a82e34 Build patched Windows ZLUDA and execute native NGX DLSS diagnostics 2026-09-30 16:35:30 +03:00
Codex 64472e5a61 Merge upstream RDNA4 layouts and validate native Windows K integration 2026-09-30 14:54:38 +03:00
Codex 2dea066d6a Execute gfx1201 K enc2 and generalize layer reference diagnostics 2026-09-30 14:40:49 +03:00
ayo 4334a0c3c4 Add RDNA4 (gfx12) support and a 0.1.2 optimization round
RDNA4 (experimental; untested on RDNA4 hardware)
- kernels/common/wmma_layout.h picks the WMMA operand/accumulator layout
  per target; K (pwin_*) and M (swin_*) index through it, so the same
  sources build for gfx11 and gfx12. D4R_WMMA_LAYOUT=12 on gfx11 is a test
  shim that runs the gfx12 indexing on gfx11 WMMA.

- M can use native e4m3 FP8 WMMA on gfx12 (D4R_NATIVE_FP8=1). Texture
  tails (enc0_tail, dec0_head) get gfx12 f16 and FP8 paths that match
  ZLUDA's gfx12 lowering.

- ZLUDA patch 0007: gfx12 WMMA helpers, optional native FP8 MMA
  (D4R_ZLUDA_WMMA_FP8_NATIVE), a layout override for testing, and an
  architecture argument for d4r_emit. Texture kernels are now compiled
  offline per target through d4r_emit (D4R_ZLUDA_EMIT) instead of on the
  local GPU.

- New d4r.ini option [Kernels] NativeFp8 (default on), wired through the
  shim and d4r_config.py. On gfx12 the bridge serves kernels/<arch>-fp8
  when it is on.

- The bridge picks the KFD GPU with the most SIMDs (so an iGPU is not
  chosen over a discrete GPU); D4R_GPU_ARCH overrides it.

- kernels/build.sh and package_release.sh build gfx1100-gfx1103 and
  gfx1200/gfx1201 (plus -fp8 variants), and D4R_BUNDLE_TEX takes
  per-target folders.

Performance (RDNA3; harness byte-identical unless noted)
- ZLUDA patch 0006: m16n8k8 f16 MMAs on WMMA (E; not bit-exact, 52-55 dB
  per layer, D4R_ZLUDA_WMMA_K8=0 disables it), per-key weight-image slots
  for native prep kernels (d4r_prep_key_at, d4r_prep_key_slots), and
  wave64 builds of MMA-free kernels (D4R_ZLUDA_WAVE64).

- M: packed FP8 encoding, conflict-free patch-merge reads, scalar weight
  loads in enc1, and weight prep once per weight set for the six enc3
  tube blocks.

- K: CU mode for the six non-wide pwin layers.

- Texture kernels: every DLSS flag variant is built natively (24 K output,
  8 M post, 4 M downsample, 4 M enc0), not only Townfall's; post and K
  output run as wave64.

- M direct output: rrlite_downsample_kernel writes the shim's output
  buffer; the shim's default direct-output presets are now 11,13.

Tools
- dump_runner takes the prep grid from d4r_prep_blocks and refuses
  texture/surface dumps.

- New pwin_check.py, swin_check.py, model_enc3.py and tail_check.hip.

Docs: README GPU table and RDNA4 notes, building (patches 0002-0007,
d4r_emit), native-kernels (RDNA4 section), performance (new numbers),
packaging README. Version 0.1.2.
2026-09-29 20:36:10 -04:00
Codex 1b5d4c9db7 Execute gfx1201 K enc1 and validate against numpy reference 2026-09-29 20:04:49 +03:00
Codex 6760294f60 Validate gfx1201 WMMA layout and compile first K kernel 2026-09-29 19:50:50 +03:00
Codex 64669c2c36 Initialize Windows NGX CUDA with HIP-backed NVAPI topology 2026-09-29 19:32:58 +03:00
Codex 239a644270 Validate native D3D12 HIP interop and isolate Windows mapped-view leak 2026-09-29 19:13:20 +03:00
Codex e95e061e81 Add native Windows gfx1201 HIP and ZLUDA diagnostics 2026-09-29 18:50:09 +03:00
ayo 1952452830 Bundle the ROCm 7.2.4 runtime in the release zip 2026-09-27 18:59:07 -04:00
ayo bc31abdd50 Fix reflection lag from RGBA exposure 2026-09-27 18:31:42 -04:00
ayo 818dd8bf42 Fix 8-bit DLSS VRAM interop 2026-09-27 17:22:04 -04:00