Closed heroseh closed 1 year ago
I believe that commit should fix it. Output structs are pretty common and glslang will generate them easily, but an input struct to the vertex shader with builtins was causing problems, though I don't believe the spec disallows it as it allows it on outputs.
Thank you for fixing that so quickly, really appreciate it. I downloaded the latest code and can verify it fixes the zip file i provided above.
I wasn't sure if i should create a new ticket for this but i thought it might be very closely related to this issue.
I have tried the fix on more of my shader samples and it is crashing in the same place, and when i fully commented out the vertex shader function body of the triangle.c sample, it worked. But i also have a compute shader that is crashing in the same place too. So i thought i would collect together 4 of my samples each with a source file, spir-v file and renderdoc capture.
you may find the 4 sample files here: hcc-renderdoc-crash-2.zip
Thank you!
Looks like a similar issue when fetching bindless feedback, fixed in that commit. I didn't get a crash on the triangle.rdc in the zip you sent, only in the others that used resources.
Description
Hey, I have encounter a crash when loading any of the shaders that my compiler hcc creates.
Long story short, I have found that the issue is coming from how my compiler emits
OpVariable
with anOutput
specifier that is a structure type. All other compilers that i have found, create Output OpVariable with scalar types only. I have verified that this is the case by stripping out the structure type Output OpVariable's completely and all the code that references these from the spirv file using a hex editor.I have uploaded a zip file containing the following files:
hcc-renderdoc-crash.zip
This is was captured using Linux but i won't be surprised if this happens on Windows.
Funnily enough the AMD Windows driver also crashed because of this issue too, so if you are debugging this on Windows, avoid using AMD hardware as it will crash at
vkCreateShaderModule
and not at the code in renderdoc that is causing the issue. forum post, githubThank you for looking into this, please let me know if you need anything else from me.
Steps to reproduce
vkCmdDraw
in theEvent Browser
window and observe the crashEnvironment