WIP: fix(vk): anisotropic filtering leaves clamp-to-border samplers at the game's value, so no white lines at Lon Lon Ranch #896
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/tooling
area/upscaling
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
risk
high
risk
low
risk
medium
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!896
Loading…
Reference in a new issue
No description provided.
Delete branch "HumanBean/Longshot:fix/aniso-border-lines"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type: fix · Risk: low · Tested on: Linux, game-free checks only · Needs: AMD GPU (RX 9070 XT / RX 7800 XT), Lon Lon Ranch
Why
At Lon Lon Ranch thin white lines cut across textures along the edges of what moves with the player. Two players on AMD cards saw it, and setting Anisotropic filtering to Native removes it. Fixes #834. Possibly the same cause as the open worklist item 0.4 (white outlines with anisotropic filtering raised).
How to reproduce
Seen on: RX 9070 XT (Windows 11), RX 7800 XT (CachyOS)
Settings and switches: Anisotropic filtering above Game's (16x default), FSR 4
Steps: Lon Lon Ranch (the chicken coop interior in the report), look at the floor and walls around Link
Expected: no lines
Actual: thin white lines along triangle edges around the player
What changed
The Anisotropic filtering row raises the game's sampler anisotropy on every linear mipmapped sampler. It now skips samplers with a clamp-to-border address mode, which keep the game's own value. The idea: a widened footprint at a triangle's edge reaches past the texture and returns the border colour, white for the game's projected textures. This cause is a hypothesis; the log doesn't name the sampler.
sampler_makeingpu/vk/vk_draw.cpp: skip the raise when any wrap axis is clamp-to-border;RX_VK_ANISO_BORDER=1raises them as before.Measurements
Verdict: Not measured: no game run yet. Whether the lines go is what Testing asks for.
Flags and settings
Testing
Tested:
python -I -B tests/run_all.pyon Linux: 505 passed, 19 failed, 70 skipped. None of the 19 is about samplers; I reran the two that readvk_draw.cpp(test_pipeline_tour,test_program_cache_one_variant) on the base commit and they fail the same way there (sandboxed run: sockets and disk). The other 17 I did not rerun on the base.Not tested: in the game; any GPU.
Must be tested:
RX_VK_ANISO_BORDER=1, expecting them back (Test Farm: @Beanstalk amd, Lon Lon Ranch coop at 16x anisotropic filtering, looking for white lines near the player)Risks
What could break: bordered samplers lose the raised anisotropy (slightly blurrier at a slant). If the cause is wrong the lines stay.
Turning it off:
RX_VK_ANISO_BORDER=1, or revert the commit.Compatibility: Nothing changes.
Issues
Fixes #834
Checklist
Everyone
type(scope): description) of the status line's type.main.python -I -B tests/run_all.pypasses (any failure that also fails onmainis named). (19 fail here; 2 confirmed failing on the base, 17 not yet checked)third_party/untouched (a new folder with aPROVENANCE.mdinstead).When it applies
Assisted-by:/Co-Authored-By:trailers.🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.