Game: on a Steam Deck the Kokiri Forest hang does not come back without RX_VK_MESH_NOCULL (main 9c9d69ed), and the line costs 2 to 10% of the GPU time #579
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
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
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#579
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
The README,
docs/common-issues.mdanddocs/development.mdtell every Steam Deck player to addRX_VK_MESH_NOCULL=2c56dc1006942f74tolongshot_env.txt, against the hang of https://github.com/NotRexed/Hookshot/issues/817 (gfx_0.0.0 timeoutin Kokiri Forest or the Great Deku Tree). On this Deck the hang no longer comes back without the line, and the line costs GPU time. One Deck is not enough to change the advice, so this asks for a second one.Longshot version
Game and host built from main
9c9d69ed(v2.1.0-rc.3-463-g9c9d69ed). The renderer is that main with the renderer-only changes of open pull requests (#391, #384, #387, #223, #567, #568; built with ThinLTO). None of them changesgpu/vk/vk_shader.cpp, where the task shaders are translated andmesh_nocull_wantedlives.What happened
ring gfx_0.0.0 timeoutinjournalctl -k, a GPU reset andVK_ERROR_DEVICE_LOST. It was the only run without the line that day and the only reset.culling offline in the log any more), then a Kokiri Forest save loaded twice, 720 presents each: no error, 0 GPU timeouts in the kernel's log;I do not know that this is why the hang is gone.
mesh_nocull_wanted's comment gives the cause as the culling shader's walk over a depth grid, and does not tie it to the native mesh path.What the line costs
GPU time a frame, with the line then without (
culling off, every meshlet drawnagainst the game's own culling):That is 2 to 5% of the GPU time, and 8 to 10% in Kokiri Forest. It is not a frame rate gain where the replay thread is the limit: in Kokiri Forest the single runs of 14 November gave 26.58 fps with the line and 25.59 / 25.27 without (that scene varies that much from run to run), and 25.06 against 24.84 on the 13th. In Hyrule Field, where the GPU counts for more, it was 25.64 fps without against 24.80 to 25.47 with.
Where in the game
Kokiri Forest and the Great Deku Tree, the two places the README names.
Graphics card, CPU, RAM and operating system
Steam Deck OLED: AMD Custom APU 0932 (RADV VANGOGH), Mesa 26.2.0-devel, 16 GB, SteamOS 3.9.5, kernel 7.2.7-valve2; the GPU's clock fixed at 1600 MHz.
Changes from the defaults
Minimum preset (
RX_VK_LOW_SPEC=1), handheld profile (HOS_HANDHELD=1), the game's own upscaler,RX_VK_VRAM_MB=2400,RX_VK_TEX_MAX_DIM=1024,RX_VK_LOAD=create,HOS_RESERVE_CORE=0,RX_VK_MESH_OPT=1;RX_VK_MESH_NOCULLcommented out.What is not known
What would help
journalctl -k | grep -i timeoutshowsgfx_0.0.0 timeout.