KhronosGroup / SPIRV-Tools

Apache License 2.0
1.04k stars 545 forks source link

Unhelpful error messsage #4650

Open Jasper-Bekkers opened 2 years ago

Jasper-Bekkers commented 2 years ago

https://github.com/KhronosGroup/SPIRV-Tools/blob/d0a827a9f313954935e3d9edb0c063fd8625a22e/source/opt/instrument_pass.cpp#L977-L990

This message complains that Mixed stage shader module not supported, it could be nice to report what the shader stages actually are.

Edit: Additionally we're hitting this message in a raytracing PSO, so it may be time to address the todo?

s-perron commented 2 years ago

@greg-lunarg This is in a pass that you own. I'll leave it to you to fix up.

greg-lunarg commented 2 years ago

Are you calling this pass directly or indirectly through GPU-assisted validation? In general, this pass is not intended to be used by the general public.

greg-lunarg commented 2 years ago

Nonetheless, I believe such a shader module is possible and valid and should be supported.

I do believe that neither of the high-level shader compilers (glslangValidator or dxc) will create such a module, which is why I did not support it initially.

So I would be curious how this shader module was created.

Jasper-Bekkers commented 2 years ago

Are you calling this pass directly or indirectly through GPU-assisted validation? In general, this pass is not intended to be used by the general public.

I believe so

Jasper-Bekkers commented 2 years ago

Nonetheless, I believe such a shader module is possible and valid and should be supported.

I do believe that neither of the high-level shader compilers (glslangValidator or dxc) will create such a module, which is why I did not support it initially.

So I would be curious how this shader module was created.

In this app, I think we only create shader programs through DXC, I don't remember the actual code that caused this tbh, I just filed the issue because like you say this probably should be supported, or at the least lead to a much clearer error message so we can debug.