Please find a small reproducible application and referenced SPIR-V files on Github
VkCreateShaderModule with shader-broken.spirv file crashes with the following error:
Exception thrown at 0x00007FFBC2171722 (amdvlk64.dll) in main.exe: 0xC0000005: Access violation reading location 0x0000000000000008.
shader-broken.spirv is generated with my C -> SPIR-V compiler hcc
In shader-broken.spirv, the OpVariable with a Output storage class and a structure data type, is causing the crash. In shader-works.spirv, I removed these and their related instructions using a hex editor and it does not crash anymore.
%5 = OpVariable %_ptr_Output__struct_52 Output
%40 = OpVariable %_ptr_Output__struct_39 Output
This does work when i use Linux on the same machine, so it is something specific to the AMD Vulkan driver for Windows 11.
I have not seen any other compiler (such as dxc or glslc) that uses structure types in OpVariable with Output or Input storage classes but the SPIR-V spec does support it.
An OpVariable with an Input storage class that uses a structure type does work fine, so it is specifically to do with the Output storage class.
OS
Windows 11
Graphics Card
AMD Radeon RX 6600
Driver Version
22.40.37.01-230305a-389188C-AMD-Software-Adrenalin-Edition
Hi @herose ,
Thank you for reporting it. I have whitelisted you and moved the post to the Vulkan forum.
I have reported the issue to the Vulkan team.
Thanks.
Excellent, cheers thank you 🙂
Hi Herose,
I've created internal ticket SWDEV-390921 to track this issue.
I'll update you on its progress.
Thanks,
Owen
Brilliant, thank you 🙂
Hey @Owen_Zhang, can I get an update on where this is in the pipeline please? thank you 🙂
Hey herose,
We're currently trying to reproduce this issue, we didn't see this crash on win10 in our setup. Will try on win11. Have you seen this issue on Win10?
I only have access to a Windows 11 machine and another person i know has reported that his Windows 11 AMD 6800U machine also has the same issue
I just asked someone else to test on Windows 10 using an AMD 6600 XT and they encounter the same issue crashing inside VkCreateShaderModule:
AMD 6600 XT
AMD drivers v22.11.2
Windows10 22H2 (19045.2965)
they are going to update their drivers and try again. they are using the sample application on my C -> SPIR-V compiler https://github.com/heroseh/hcc/releases/tag/0.0.3 samples/samples.exe
and got this stacktrace: https://pastebin.com/TSg7ugT2
Thank you!!
I got another person to test on Windows 10 22H2 using an AMD RX 6600 XT on drivers 31.0.14051.5006 and they encounter the same crash in VkCreateShaderModule.
They tested using my C -> SPIR-V compiler https://github.com/heroseh/hcc/releases/tag/0.0.3 samples/samples.exe application and got the following stacktrace https://pastebin.com/TSg7ugT2
hope that helps, thank you!
Hey @Owen_Zhang, @dipak to add another piece of hardware to the mix. A friend of mine test the RX 7900XT (RDNA 3) on Windows 10 and that worked fine.
The cards that have been playing up all are RDNA 2 on both Windows 10 & 11. Tested cards showing this issue: RX 6600, RX 6600 XT and the 680M
Using either:
C -> SPIR-V compiler: https://github.com/heroseh/hcc/releases/tag/0.0.3 samples/samples.exe
or the minimal test app: https://github.com/heroseh/hcc-amd-vulkan-driver-crash