Skip to content

tools/settings: the upscaling settings say where they act - #2388

Open
roandegraaf wants to merge 5 commits into
seedds:mainfrom
roandegraaf:setting-names
Open

roandegraaf wants to merge 5 commits into
seedds:mainfrom
roandegraaf:setting-names

Conversation

@roandegraaf

@roandegraaf roandegraaf commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #2366 (it renames that PR's new slider too); the diff shows that PR's commits until it merges. The last commit is this change.

Rebased on main at 034e91a (2026-11-12), with #2366 rebased under it; this commit applied without conflicts, and no old label is left on main.

What and why

A game with its own upscaler shows two settings next to each other, Upscaling and Game's upscaler, both offering MetalFX, and with #2366 a third, Game's upscaler sharpness. A player could not tell which is which (asked by one, with a screenshot of the three rows).

Variable Was Now Line under it
DM_PRESENT_UPSCALE Upscaling Screen upscaling Scales the finished picture to your screen. Uses more GPU time and can increase heat.
DM_UPSCALER Game's upscaler 3D upscaler Replaces the game's own upscaler of the 3D scene. Saves GPU time; the picture looks different.
DM_UPSCALER_SHARPNESS Game's upscaler sharpness 3D upscaler sharpness

Labels, notes, docs/settings.md (headings, anchors, table) and the comments that quote the labels. No variable, value, default or condition changes.

One thing to judge: settings.tsv says a note is only for a setting with a cost. The 3D upscaler's note is there because its cost is the look, and without it the two MetalFX choices read alike.

Checked

  • Tests: test_docs.py (links and anchors), test_settings.py, test_game_profile.py, test_env_switches.py. Run again after the rebase: all pass; host build.
  • Seen in the Mac settings window with the old labels only; the new ones are not looked at in a window yet. No iOS build.

Front ends

Front-ends: interface: the labels of DM_PRESENT_UPSCALE, DM_UPSCALER and DM_UPSCALER_SHARPNESS in the settings list changed, and DM_UPSCALER has a note now.

Docs

  • docs/settings.md has the new names; python3 dm/tools/docs_symptoms.py was run
  • No game files, keys or data extracted from a game in the change or the attachments

DM_UPSCALER=metalfx takes an upscaler whose colour is a square root: the profile key upscaler_sqrt names it, its input is squared into MetalFX's (0400486024DEC000: 1.12 ms of GPU a frame to about 0.1).

The upscale step of agl_ndsr_vr_light.pck samples colour the dispatch before it stored as square roots and writes v * |v|, so its code has no sRGB curve for the classifier and the option replaced nothing. DM_NVN_SKIP_CS (diagnostic) drops named compute dispatches, to measure one inside an encoder.
Upscaler sharpness (DM_UPSCALER_SHARPNESS, the profile's upscaler_sharpness): MetalFX's picture blended with a bilinear one of the same input, 0.7 for 0400486024DEC000, whose eight square-root upscale variants are named.

MetalFX's spatial scaler has no strength setting and is crisper than agl's networks. The draw of its result into the game's image blends in the scaler's input, sampled bilinearly, by 1 - sharpness; 1.0 (every other game) is the picture as before.

Front-ends: new: the settings list has DM_UPSCALER_SHARPNESS (range 0.0-1.0, shown while DM_UPSCALER is metalfx, default from the game profile)
0400486024DEC000's notes: six of the eight named upscale variants seen in play, by input size, and drawn by MetalFX; no other variant dispatched in eight situations.
The sharpness setting is named after its parent in the launcher: Game's upscaler sharpness.
The launcher's upscaling settings say where they act: Screen upscaling (DM_PRESENT_UPSCALE), 3D upscaler (DM_UPSCALER) and 3D upscaler sharpness, each with a line under it.

"Upscaling" and "Game's upscaler" side by side, both offering MetalFX, did not tell a player which is which. Labels, notes and the player's page only; no variable, value or default changes.

Front-ends: interface: the labels of DM_PRESENT_UPSCALE, DM_UPSCALER and DM_UPSCALER_SHARPNESS in the settings list changed, and DM_UPSCALER has a note now
@github-actions github-actions Bot added nvn NVN on Metal and its tests (dm/gfx/nvn, dm/gfx/tests) tools Tools and scripts (dm/tools, scripts) docs Documentation game: 0400486024DEC000 A game labels Nov 12, 2026
@roandegraaf roandegraaf changed the title Launcher: the upscaling settings say where they act (Screen upscaling, 3D upscaler) tools/settings: the upscaling settings say where they act Nov 12, 2026
Kayyluhh added a commit to Kayyluhh/nxnative that referenced this pull request Nov 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation game: 0400486024DEC000 A game nvn NVN on Metal and its tests (dm/gfx/nvn, dm/gfx/tests) tools Tools and scripts (dm/tools, scripts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant