Game: Arc B390 (Panther Lake iGPU, Windows): Kokiri Forest is washed out by a bright haze; an Arc B580 at the same spot is not #618

Open
opened 2026-11-15 00:33:11 +00:00 by ertomas · 1 comment

Longshot version

Built from source: main 414f56e2 (v3.0.0-rc.3-82-g414f56e2), a scripts/dev_packs.py runtime with no pack.

Channel

Built from source

What kind of problem

Graphics (missing, black or wrong-coloured things, lighting, flicker)

What happened

Kokiri Forest is covered by a bright, milky haze that washes out the whole scene: the trees, the houses, the ground, the characters. The forest's light beams and mist are there on other GPUs, but here the scene behind them loses almost all its contrast and colour. It holds steady and doesn't flicker or come and go.

  • Reference, same spot, on an Arc B580 (discrete, driver 32.0.101.9154), from #459: https://git.magicbean.dev/attachments/8700a0d4-c0f4-4c53-9e3b-5d9618042c2f. Saria by Link's house: some mist, the scene clear.
  • This PC, the same spot: the first screenshot below. Saria, Link and the house are behind a near-white veil.
  • This PC, the path towards the Deku Tree: the second screenshot. The background is almost entirely white.

Nothing was left out or waiting in play: the log says a frame: 0.1 draws left out (not ready), 0.00 waits for shaders or pipelines, with the shader preparation done before. So it isn't #404's case, a weak Intel laptop whose light and exposure passes are left out while shaders compile.

It looks like something specific to Intel iGPUs. #189's description first named "haze over the trees and houses" on an Intel iGPU (a Core Ultra 7 155H, Meteor Lake) beside the white blocks. #189 fixed the white blocks and flashes here: with it, they're gone on this PC (#189 (comment)). The haze stayed, and its "Why" was then narrowed to the blocks. The B580 reference is a discrete card, and it doesn't show it. Differences between the two: integrated against discrete, no VRAM mirror here (VRAM mirror of buffer pools off), and driver 101.9150 against 101.9154.

Where in the game

Kokiri Forest (child): by Link's house next to Saria, and on the path towards the Deku Tree.

How often

Every time, on every build I ran on this PC: main f647a072, fbd42024 and 414f56e2, and #189 and #443.

Graphics card and driver version

Intel Arc B390 (Panther Lake iGPU, PCI VEN_8086&DEV_B080, no VRAM mirror), driver 32.0.101.9150

CPU, RAM and operating system

Intel Core Ultra X7 358H (16 threads), 32 GB, Windows 11 Pro Insider Preview build 26220

Changes from the defaults

None. Output 2560x1440, SDR (the Insert menu's HDR 0, HDR10 swapchain no: SDR), the FPS counter shown.

longshot_log.txt

The run's log is on this PC: on request, or I can run with any switch that would narrow it down.

Screenshots or video

(attached below)

Before you send it

  • I searched the open issues for it.
  • I'm not attaching game files, keys, the game's executable, its .bin caches or saves.
  • The problem is still there on the newest release or nightly. (Seen on main 414f56e2 from source; not checked on a nightly.)
### Longshot version Built from source: main 414f56e2 (`v3.0.0-rc.3-82-g414f56e2`), a `scripts/dev_packs.py` runtime with no pack. ### Channel Built from source ### What kind of problem Graphics (missing, black or wrong-coloured things, lighting, flicker) ### What happened Kokiri Forest is covered by a bright, milky haze that washes out the whole scene: the trees, the houses, the ground, the characters. The forest's light beams and mist are there on other GPUs, but here the scene behind them loses almost all its contrast and colour. It holds steady and doesn't flicker or come and go. - **Reference, same spot, on an Arc B580** (discrete, driver 32.0.101.9154), from #459: https://git.magicbean.dev/attachments/8700a0d4-c0f4-4c53-9e3b-5d9618042c2f. Saria by Link's house: some mist, the scene clear. - **This PC, the same spot:** the first screenshot below. Saria, Link and the house are behind a near-white veil. - **This PC, the path towards the Deku Tree:** the second screenshot. The background is almost entirely white. Nothing was left out or waiting in play: the log says `a frame: 0.1 draws left out (not ready), 0.00 waits for shaders or pipelines`, with the shader preparation done before. So it isn't #404's case, a weak Intel laptop whose light and exposure passes are left out while shaders compile. It looks like something specific to Intel iGPUs. #189's description first named "haze over the trees and houses" on an Intel iGPU (a Core Ultra 7 155H, Meteor Lake) beside the white blocks. #189 fixed the white blocks and flashes here: with it, they're gone on this PC (https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/189#issuecomment-15412). The haze stayed, and its "Why" was then narrowed to the blocks. The B580 reference is a discrete card, and it doesn't show it. Differences between the two: integrated against discrete, no VRAM mirror here (`VRAM mirror of buffer pools off`), and driver 101.9150 against 101.9154. ### Where in the game Kokiri Forest (child): by Link's house next to Saria, and on the path towards the Deku Tree. ### How often Every time, on every build I ran on this PC: main f647a072, fbd42024 and 414f56e2, and #189 and #443. ### Graphics card and driver version Intel Arc B390 (Panther Lake iGPU, PCI `VEN_8086&DEV_B080`, no VRAM mirror), driver 32.0.101.9150 ### CPU, RAM and operating system Intel Core Ultra X7 358H (16 threads), 32 GB, Windows 11 Pro Insider Preview build 26220 ### Changes from the defaults None. Output 2560x1440, SDR (`the Insert menu's HDR 0, HDR10 swapchain no: SDR`), the FPS counter shown. ### longshot_log.txt The run's log is on this PC: on request, or I can run with any switch that would narrow it down. ### Screenshots or video (attached below) ### Before you send it - [x] I searched the open issues for it. - [x] I'm not attaching game files, keys, the game's executable, its .bin caches or saves. - [ ] The problem is still there on the newest release or nightly. (Seen on main 414f56e2 from source; not checked on a nightly.)
Author

Found: the haze is the game's exposure, about 8x too high, because the shaders' float adds lose part of their sums on this GPU. Fix in #816.

What each test did (rt-main, main 414f56e2, the same spot by Saria):

Run Haze Also
defaults yes
RX_VK_MIRROR=1 (forces VRAM mirrors on the iGPU) yes broken geometry and smeared textures
RX_VK_UB_SNAPSHOT=0 (=1 is this PC's default) yes #189's white blocks back, purple spots
RX_VK_SPLIT_UBFLUSH=1 yes
RX_VK_READBACK_LATE=newest yes
RX_VK_CHUNK=0 yes
RX_VK_NATIVE_FADD=1 (its own runtime, shaders prepared again) no: the picture as on the B580

So it isn't memory without a VRAM mirror being read stale.

Where it appears (a frame dump, RX_VK_DUMP): the scene target is already too bright at its first write, the sky (489438d7): mean 20.7 against 2.59 with native adds, and every lit pass after it keeps that factor. After the fog pass (1a7482c0) it is 0.78 against 0.11; the tonemap (ab368194) then outputs a linear mean of 0.71 against 0.15. Everything after the tonemap passes the picture through as it should: the TAAU stand-in's output equals its input, and the last copy's sRGB encode is the game's own (NVN_FORMAT_RGBA8_SRGB). The game pre-exposes all it draws by a value its GPU passes sum up; one of the frame's float adds is 499dbfd0, a single workgroup summing a 256x256 sky texture, where the compare-exchange loop runs out of its 1024 attempts and drops adds. Native adds on this GPU are on main only for Meteor Lake, Arrow Lake and (since #444) Battlemage, not Panther Lake.

#606 looks like the same cause: the hazy dump run lost the device at 499dbfd0 (stage 0x1: marker 1085480 (dispatch of program 499dbfd0721d2858, frame 2170)), the program #444 found losing the device on a B580. With native adds there was no loss in 40 minutes of play.

Checked on current main (53f96d78) in four interleaved runs at Saria's spot, main and the fix alternately: haze in both main runs (screen linear mean 0.778), gone in both fix runs (0.205; an Arc B580 at the same spot is 0.199). The screenshots are on the PR.

Found: the haze is the game's exposure, about 8x too high, because the shaders' float adds lose part of their sums on this GPU. Fix in #816. **What each test did** (rt-main, main 414f56e2, the same spot by Saria): | Run | Haze | Also | |---|---|---| | defaults | yes | | | `RX_VK_MIRROR=1` (forces VRAM mirrors on the iGPU) | yes | broken geometry and smeared textures | | `RX_VK_UB_SNAPSHOT=0` (`=1` is this PC's default) | yes | #189's white blocks back, purple spots | | `RX_VK_SPLIT_UBFLUSH=1` | yes | | | `RX_VK_READBACK_LATE=newest` | yes | | | `RX_VK_CHUNK=0` | yes | | | `RX_VK_NATIVE_FADD=1` (its own runtime, shaders prepared again) | **no**: the picture as on the B580 | | So it isn't memory without a VRAM mirror being read stale. **Where it appears** (a frame dump, `RX_VK_DUMP`): the scene target is already too bright at its first write, the sky (`489438d7`): mean 20.7 against 2.59 with native adds, and every lit pass after it keeps that factor. After the fog pass (`1a7482c0`) it is 0.78 against 0.11; the tonemap (`ab368194`) then outputs a linear mean of 0.71 against 0.15. Everything after the tonemap passes the picture through as it should: the TAAU stand-in's output equals its input, and the last copy's sRGB encode is the game's own (`NVN_FORMAT_RGBA8_SRGB`). The game pre-exposes all it draws by a value its GPU passes sum up; one of the frame's float adds is `499dbfd0`, a single workgroup summing a 256x256 sky texture, where the compare-exchange loop runs out of its 1024 attempts and drops adds. Native adds on this GPU are on main only for Meteor Lake, Arrow Lake and (since #444) Battlemage, not Panther Lake. **#606 looks like the same cause**: the hazy dump run lost the device at `499dbfd0` (`stage 0x1: marker 1085480 (dispatch of program 499dbfd0721d2858, frame 2170)`), the program #444 found losing the device on a B580. With native adds there was no loss in 40 minutes of play. **Checked on current main** (53f96d78) in four interleaved runs at Saria's spot, main and the fix alternately: haze in both main runs (screen linear mean 0.778), gone in both fix runs (0.205; an Arc B580 at the same spot is 0.199). The screenshots are on the PR.
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
MagicBeanDev/Longshot#618
No description provided.