Skip to content

Add FSR 3 and DLSS upscaling; remove standing crop and road bridges - #107

Merged
vanlueckn merged 1 commit into
mainfrom
t3code/dlss-fsr-settings
Aug 30, 2026
Merged

Add FSR 3 and DLSS upscaling; remove standing crop and road bridges#107
vanlueckn merged 1 commit into
mainfrom
t3code/dlss-fsr-settings

Conversation

@vanlueckn

Copy link
Copy Markdown
Collaborator

Summary

  • Add temporal upscaling to the simulator with two backends: FSR 3 (new crates/app/src/fsr.rs on wgpu-ffx, works on any GPU, no SDK) and DLSS via dlss_wgpu behind an opt-in dlss cargo feature (NVIDIA RTX, Vulkan, SDK required; inert without the feature or the hardware).
  • New settings upscaling (Off/Fsr/Dlss) and upscaling_quality (Low/Medium/High), wired into the settings page (menu.rs) and documented in README.md; the page only offers a technique that can actually run. An active upscaler disables MSAA and adds a crop compute pass (fsr_crop.wgsl) to feed FSR exactly-sized colour/depth/motion-vector inputs.
  • Release workflow builds Windows and Linux with the dlss feature, fetches the DLSS SDK and Vulkan headers in CI, and ships the NGX runtime library plus its license beside the binaries; macOS builds ship without DLSS.
  • Remove the standing crop system: world_render::plants, all crop GLB models, tools/plants, the Quaternius credit in THIRD_PARTY_LICENSES.md, and the corresponding MODS.md/STATUS.md passages. STATUS.md again lists standing crop as deferred.
  • Simplify roads: drop the bridge flag, DashedUrban centre line, and the associated shader/docs handling.
  • Add both new setting keys to en and de locales.

Testing

  • cargo test --workspace: Not run (954 tests green reported as of 2026-08-29 in STATUS.md, before this change).
  • cargo clippy --workspace: Not run.
  • Manual: run the simulator with upscaling = Fsr on a non-NVIDIA GPU and confirm the picture reconstructs without ghosting on moving scenery: Not run.
  • Manual: on an RTX card with a dlss-feature build, switch upscaling = Dlss and confirm NGX initialises and MSAA is taken off the camera: Not run.
  • Manual: verify the settings page hides Dlss on non-NVIDIA hardware and in non-dlss builds: Not run.
  • CI: confirm the release workflow's Windows and Linux jobs fetch the DLSS SDK, build with --features app/dlss, and bundle nvngx_dlss.dll / libnvidia-ngx-dlss.so with the archives; macOS builds stay feature-free: Not run.
  • Verify the editor route/vehicle builds still compile without the dlss feature and that a default build needs no SDK: Not run.
  • Locale tests (cargo test -p i18n) pass with the new keys present in both en and de: Not run.

- FSR 3 via wgpu-ffx on every GPU; crop pass feeds sized inputs
- DLSS via dlss_wgpu behind the optional `dlss` cargo feature
- Settings gain `upscaling` and `upscaling_quality`; techniques offered only where they can run
- Release workflow builds with DLSS on Windows/Linux and ships the NGX runtime + license
@vanlueckn
vanlueckn force-pushed the t3code/dlss-fsr-settings branch from 0bd62fe to c6a300b Compare August 30, 2026 18:52
@vanlueckn
vanlueckn merged commit f47a509 into main Aug 30, 2026
@vanlueckn
vanlueckn deleted the t3code/dlss-fsr-settings branch August 30, 2026 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant