Feature request: compute fallback for GPUs without VK_EXT_mesh_shader (GTX 1070 Ti / Pascal) #454
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot#454
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?
Builder version
https://github.com/NotRexed/Hookshot/releases/tag/device-lost-fix
How you built
Hookshot Builder app (Windows)
Game files given to it
A .nup
The error
Visual Studio or Build Tools version, and Windows SDK version
No response
Operating system and free space on the output drive
Windows 11 Pro 26H2 (OS build 26300.9711); 109.54 GB free on C:
Before you send it
A second hardware family with the same blocker: Intel Gen12 iGPUs, where the whole 3D scene is missing
VK_EXT_mesh_shaderstarts at Intel Gen12.5 (Xe-HPG / Arc). Every Intel iGPU before it — Tiger Lake, Alder Lake, Raptor Lake, Gen12.0 and Gen12.2 — lacks it, so this is the same blocker as the GTX 1070 Ti on a much larger install base.System. Intel Iris Xe Graphics (Raptor Lake-U, gfx12.2), Mesa 26.2.6 (ANV), Vulkan 1.4.354; i5-1345U, 30 GB, Arch Linux, kernel 7.2.14, niri/Wayland. Release
compile-retry(fa22c2d), Linux AppImage, built from my own copy of the game (0400486024DEC000 / v131072 / e0f3ccfa) in 25 minutes, 0 failures.Device line.
What works — everything that is not a mesh draw. The title screen (UI only) is 16-17 draws a frame; the intro movie decodes AV1 on libavcodec and draws as a quad (2 draws), with the upscaler network on the linear path as intended on a card without
VK_KHR_cooperative_matrix; the shell holds 57-60 fps with 5-7 ms of GPU time a frame. 14179 programs prepared in 55.5 s, 21718 translated, 10 failed — all of thema network left out on this card.What does not — the 3D scene:
Stage 6 is task and stage 7 mesh, so this is a mesh program and the draw is skipped. All 12 log lines of this message carry
frame 11154, the first frame in the whole run that asks for a mesh draw — the frame where the movie ends and the world should appear. The screen stays black from there.Why the framing matters. This issue reads like missing foliage or walls. On this title, without a fallback the entire 3D scene is absent: before frame 11154 the run never drew more than 17 objects a frame (title UI, movie quad), so what can be seen is exactly the part that does not use the mesh stages. The build's own census says this is not an edge case — of 14179 programs, 1286 use task or mesh (1155 with stages 1/6/7 and 131 with 1/7).
I can build and run any branch on this machine and report logs,
RX_VK_DRAW_STATSoutput and frame captures, or A/B a build carrying the fallback against this one. Writing the fallback itself is beyond me.Filtered
hookshot_log.txtlines (paths shortened to<user>):Note on the two skip counters:
skips a frame by vk_draw.cpp line: 5007isvk_draw.cpp's compute-dispatch path (the failed upscaler networks, expected here), and it is present from the title screen on. The mesh skip is a different site,vk_draw.cpp:3954, and its log is capped at 12 lines, all atframe 11154— which is also how the first mesh draw of the run can be dated.Same here: AMD RX 5500 XT 8 GB (RDNA1 / Navi 14) on CachyOS (Linux, Mesa/RADV).
vulkaninfo | grep -i mesh_shaderreturns nothing, so the card is in thesame situation
Tracked in #1001, follow there. That issue collects every report of GPUs without mesh shaders, and this one is linked from it with its GPU, version and log details. v2.0.6 ships the compute fallback this issue asked for (PR #779); the tracker collects results on these cards. If it still happens on v2.0.6 (https://github.com/NotRexed/Hookshot/releases/tag/v2.0.6; Update next to Play in the launcher), please add a comment there with your
hookshot_log.txt.