HDR display output: grey translucent UI, world half as bright as SDR, highlights capped, white UI after switching off #1451

Open
opened 2026-11-04 22:46:06 +00:00 by TheSlowly · 0 comments
Collaborator

With HDR display output on (RenderVKDisplayHDR, Windows, OLED panel; Windows reports SDR white 80 nits and peak 456 nits):

  1. Translucent UI turns lighter. The Contacts friend list rows are grey instead of the skin's navy. ui_display.glsl converts each UI fragment to linear nits before the blend, so blending runs in linear light: the list's 5% white background reads as ~25% grey. Every translucent UI element is affected (backgrounds, highlights, shadows, text edges).
  2. The world is about half as bright as SDR at the same paper white. Same pixel, same exposure (probe + window capture): sky 48 nits in SDR vs 22 in HDR, screen centre ~12 vs ~6. The factor is ~0.5 on every channel, so it is a stray scale in the chain, not the tone curve.
  3. Highlights barely use the panel. The brightest pixel leaves at ~200 nits of the 456 available.
  4. Switching HDR off again turns the UI white.
  5. SDR snapshots taken while HDR is on clip bright areas to white.

Goal:

  • At and below reference white, HDR looks exactly like SDR; only highlights (lamps, sun, glints, bright sky) use the headroom, rolling off smoothly to the panel's peak.
  • The UI is drawn and blended as in SDR in its own layer, then placed at paper white.
  • HDR switches on and off live without artefacts.
  • SDR snapshots taken with HDR on match SDR mode.
  • Paper white and peak default to what Windows reports and stay overridable.
With HDR display output on (`RenderVKDisplayHDR`, Windows, OLED panel; Windows reports SDR white 80 nits and peak 456 nits): 1. **Translucent UI turns lighter.** The Contacts friend list rows are grey instead of the skin's navy. `ui_display.glsl` converts each UI fragment to linear nits before the blend, so blending runs in linear light: the list's 5% white background reads as ~25% grey. Every translucent UI element is affected (backgrounds, highlights, shadows, text edges). 2. **The world is about half as bright as SDR at the same paper white.** Same pixel, same exposure (probe + window capture): sky 48 nits in SDR vs 22 in HDR, screen centre ~12 vs ~6. The factor is ~0.5 on every channel, so it is a stray scale in the chain, not the tone curve. 3. **Highlights barely use the panel.** The brightest pixel leaves at ~200 nits of the 456 available. 4. **Switching HDR off again turns the UI white.** 5. SDR snapshots taken while HDR is on clip bright areas to white. Goal: - At and below reference white, HDR looks exactly like SDR; only highlights (lamps, sun, glints, bright sky) use the headroom, rolling off smoothly to the panel's peak. - The UI is drawn and blended as in SDR in its own layer, then placed at paper white. - HDR switches on and off live without artefacts. - SDR snapshots taken with HDR on match SDR mode. - Paper white and peak default to what Windows reports and stay overridable.
TheSlowly added this to the Slipstream project 2026-11-04 22:46:07 +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#1451
No description provided.