Don´t run in Vega 7 IGPU RADV #1404
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#1404
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?
Hookshot version
v2.0.5 - v2.0.11
What kind of problem
Crash, freeze or black screen
What happened
Idea: compute-shader fallback for GPUs without VK_EXT_mesh_shader
Thank you for the project and for how fast it is moving.
Hookshot needs mesh shaders, which limits it to fairly recent GPUs (as far as I know,
RTX 20 and newer, RX 6000 and newer). I am from Brazil, where hardware is expensive;
most PCs and laptops here have GTX cards, older Radeons or integrated graphics
(Vega, Iris Xe, UHD G7). On my Vega 7 (RADV RENOIR, Mesa 25.2.8), vulkaninfo lists
VK_EXT_mesh_shader only for llvmpipe, not for the GPU.
I know this is non-trivial and may not fit the project's goals, so I am asking more
than requesting. A rough idea, in case it is useful:
EmitMeshTasks, each surviving meshlet is appended to a buffer (atomic counter) together
with its payload, and indirect dispatch arguments are written.
The vertex/primitive counts reserve ranges (atomic or prefix sum) in global vertex and
index buffers, and the shader writes its outputs there.
vertex stage that pulls from those buffers, plus the game's fragment shader.
Caveats I can see: extra memory traffic and memory use (a real concern on iGPUs that
share system RAM), preserving primitive order, per-primitive outputs, and the output
limits of the original mesh shaders. Tellusim's published tests show compute-based
approaches can compete with hardware mesh shaders on several GPUs, but their data is
prepared as meshlets beforehand, so I do not know how well this carries over to
translated game shaders. I noticed the shader translation has an IR (vk_shader.cpp),
so maybe the task/mesh programs could be retargeted there, but I do not know the
internals.
If it is not planned, a note in the README about this limitation would help others
avoid compiling for 30+ minutes first. I can test on a Vega 7 (RADV) and a
GTX 1660 Super, and share logs or captures if that helps.
Thanks for your time.
I'm very enthusiastic about this project, thank you for the great work.
Where in the game
End of Primary Cutscene ( Link Arrise)
How often
Every time
Graphics card and driver version
Vega 7 (4gb UMA Bios Mod) • Driver Base (Kernel): amdgpu • Driver OpenGL: radeonsi (Mesa 25.2.8) • Driver Vulkan: RADV (Mesa 25.2.8)
CPU, RAM and operating system
Ryzen 5 5500u , 2x8gb 3200mhz cl20 , Mint Cinnamont 22.3 kernel 7.0.42
Changes from the defaults
No response
Other software hooked into the game
No, nothing hooked in
hookshot_log.txt
I was testing several versions in a row and deleted the logs along the way, so I don't
have one from the failing run right now. I'll run the game again and attach
hookshot_log.txt (and hookshot_log.1.txt if needed) here as soon as possible.
Screenshots or video
No response
Before you send it
Most be a joke. 5500u can barely hit 60 fps on ns1 emulation at 720p.
In docked , the RAM and GPU clock runs in low speed . Read and discuss the proposed optimization using more detailed data from the API architecture and how to resolve the issue.
5500+rtx3060
last reply
It's not a lack of firepower, it's a matter related to how the architecture of the graphical pipeline and the distribution of activities at the code level behaves. IT IS NOT AN EMULATION It's an initial project, as you can see.
Thanks for the report. Reports of the same problem are now collected in #1000, which lists this one with your details and links back here, so one fix closes them together and the open list stays readable. Follow #1000 for the fix, and add new details there (or here). If this turns out to be a separate problem it will be reopened.