Summary: | [regression, bisected] retroarch's crt-royale shader crash radv | ||
---|---|---|---|
Product: | Mesa | Reporter: | oschowa |
Component: | Drivers/Vulkan/radeon | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | mesa-dev |
Severity: | normal | ||
Priority: | medium | CC: | caio.oliveira |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
bisect log
backtrace crt-royale-geometry-aa-last-pass.spirv Fragment shader GLSL Fragment shader SPV Vertex shader GLSL Vertex shader SPV |
Description
oschowa
2019-01-01 14:31:41 UTC
Created attachment 142934 [details]
backtrace
I was just about to post this as well. Seems to be caused by the last pass: https://github.com/libretro/slang-shaders/blob/master/crt/shaders/crt-royale/src/crt-royale-geometry-aa-last-pass.h I can't pinpoint an exact cause. It might just be crashing because the number of constants is overflowing something. Swapping out the last stage for the no-geom version works fine. It would be appreciated if someone could get me the SPIR-V for a failing shader, instead of me having to figure out how to get the retroarch build system to spit one out myself. Created attachment 142941 [details]
crt-royale-geometry-aa-last-pass.spirv
It seems to be indeed the shader mentioned in #2 which causes the crash.
I believe i managed to get a dump of the spirv via RADV_DEBUG=spirv.
Created attachment 142942 [details]
Fragment shader GLSL
Created attachment 142943 [details]
Fragment shader SPV
Created attachment 142944 [details]
Vertex shader GLSL
Created attachment 142945 [details]
Vertex shader SPV
I added the full generated GLSL for the vertex and fragment shaders and the SPV produced. The glsl is in the form it's passed to the glslang compiler, and it compiles with the command-line compiler. I believe it's the vertex shader that's causing the crash, but since it occurs on pipeline creation I don't really know. Thanks, was able to reproduce with src/compiler/spirv2nir on the fragment shader. I think the issue is that a matrix being passed to a function is not handled correctly in vtn_ssa_value_add_to_call_params . I'll continue debugging later. https://gitlab.freedesktop.org/mesa/mesa/merge_requests/67 fixes the crash parsing the fragment shader for me. (In reply to Bas Nieuwenhuizen from comment #12) > https://gitlab.freedesktop.org/mesa/mesa/merge_requests/67 > > fixes the crash parsing the fragment shader for me. With this patch applied it works correctly again, thanks! (In reply to oschowa from comment #13) > With this patch applied it works correctly again, thanks! Also confirmed here. |
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.