Summary: | Basemark GPU vulkan benchmark hangs on GFX9 | ||
---|---|---|---|
Product: | Mesa | Reporter: | Bas Nieuwenhuizen <bas> |
Component: | Drivers/Vulkan/radeon | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | mesa-dev |
Severity: | normal | ||
Priority: | medium | CC: | 0xe2.0x9a.0x9b, airlied |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Miscompiled shader |
Description
Bas Nieuwenhuizen
2018-06-20 22:45:28 UTC
with some print debugging, it looks like the failing validate is here: https://gitlab.freedesktop.org/mesa/mesa/blob/master/src/amd/vulkan/radv_shader.c#L233 which is directly after spirv_to_nir. I think it is a reasonable assumption that this is a spirv_to_nir bug. Created attachment 140254 [details]
Miscompiled shader
Attached is the failing shader. spirv2nir is enough to trigger if you add a nir_validate_shader call at the end.
Seems like the validation issue was fixed by the deref rewrite, and that has been upstreamed now. However, now I get the hang too ... Moving back to the radv-component since there is no hint at the moment that it is an issue on anv too. (In reply to Bas Nieuwenhuizen from comment #3) > Seems like the validation issue was fixed by the deref rewrite, and that has > been upstreamed now. That makes me suspicious. If we were getting a validation error before, likely something is still going wrong. I just sent two patches for stable which fix the validation issues. Turns out there's nothing wrong with spirv_to_nir, just the validator having issues. Sadly, that means the hang is likely real. :-( The following patch fixes a crash on GFX8: https://patchwork.freedesktop.org/series/48560/ The crash on GFX8 should be fixed with https://cgit.freedesktop.org/mesa/mesa/commit/?id=4c43ec461de4f122d5d6566361d064c816e4ef69 Next step is to test with GFX9. I can't reproduce a GPU hang on GFX9 with latest mesa/llvm. Closing. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.