[viewer] Fullscreen: choose the exclusive fullscreen resolution (lets the viewer use NVIDIA DSR/DLDSR and AMD VSR modes) #1002

Open
opened 2026-10-23 23:47:24 +00:00 by sky_line · 0 comments
Owner

Exclusive fullscreen (FullScreenMode 2, and 0 where it picks exclusive) always uses the desktop mode of the display the window is on (llwindowsdl.cpp ~703, SDL_GetClosestFullscreenDisplayMode at the desktop w/h/refresh: "no resolution change"). There is no way to pick another resolution, so NVIDIA DSR / DLDSR (and AMD VSR), which only add larger modes to the monitor's mode list, can be used only by switching the whole Windows desktop to the DSR resolution.

Want

  • A fullscreen resolution choice: Desktop resolution (default, today's behaviour) or one of the display's modes from SDL_GetFullscreenDisplayModes (which include DSR/DLDSR/VSR modes when enabled in the driver), plus refresh rate.
  • New persisted setting (e.g. FullScreenResolution "WxH@Hz", empty = desktop). Applied by applyFullscreenMode in exclusive mode; borderless ignores it (it is always the desktop size) -- the UI says so, or choosing a non-desktop resolution switches the kind to exclusive.
  • UI: Preferences > Graphics (where the fullscreen kind is), a dropdown listing the current display's modes, refreshed when the window moves to another display. Live: re-applies while fullscreen.
  • Fallbacks: a mode that no longer exists (display changed, DSR turned off) falls back to the desktop mode with a log warning, never a failed fullscreen.
  • Swapchain / render targets follow the new size like any resize; DLSS/FSR output size = the chosen mode.
  • Linux: X11 can use it through SDL display modes; Wayland has no exclusive mode -- hide/disable the choice there.

Use case: DLDSR 1.78x/2.25x on 1080p/1440p monitors with DLSS Quality/DLAA, without changing the desktop resolution.

Exclusive fullscreen (`FullScreenMode` 2, and 0 where it picks exclusive) always uses the **desktop** mode of the display the window is on (`llwindowsdl.cpp` ~703, `SDL_GetClosestFullscreenDisplayMode` at the desktop w/h/refresh: "no resolution change"). There is no way to pick another resolution, so NVIDIA DSR / DLDSR (and AMD VSR), which only add larger modes to the monitor's mode list, can be used only by switching the whole Windows desktop to the DSR resolution. **Want** - A fullscreen resolution choice: **Desktop resolution** (default, today's behaviour) or one of the display's modes from `SDL_GetFullscreenDisplayModes` (which include DSR/DLDSR/VSR modes when enabled in the driver), plus refresh rate. - New persisted setting (e.g. `FullScreenResolution` "WxH@Hz", empty = desktop). Applied by `applyFullscreenMode` in exclusive mode; borderless ignores it (it is always the desktop size) -- the UI says so, or choosing a non-desktop resolution switches the kind to exclusive. - UI: Preferences > Graphics (where the fullscreen kind is), a dropdown listing the current display's modes, refreshed when the window moves to another display. Live: re-applies while fullscreen. - Fallbacks: a mode that no longer exists (display changed, DSR turned off) falls back to the desktop mode with a log warning, never a failed fullscreen. - Swapchain / render targets follow the new size like any resize; DLSS/FSR output size = the chosen mode. - Linux: X11 can use it through SDL display modes; Wayland has no exclusive mode -- hide/disable the choice there. Use case: DLDSR 1.78x/2.25x on 1080p/1440p monitors with DLSS Quality/DLAA, without changing the desktop resolution.
sky_line added this to the Slipstream project 2026-10-23 23:47:24 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#1002
No description provided.