Off the top of my head:
- glslang supports all previous GLSL versions and profiles, which adds many checks and corner cases throughout the code
- it's tricky to generate correct SPIR-V; for instance, it took me a while to properly understand the constraints around basic-block ordering
Disclaimer: I left Google in 2016 and haven't looked at glslang/shaderc since. I am only offering personal opinions here.
Off the top of my head:
- glslang supports all previous GLSL versions and profiles, which adds many checks and corner cases throughout the code
- it's tricky to generate correct SPIR-V; for instance, it took me a while to properly understand the constraints around basic-block ordering
Disclaimer: I left Google in 2016 and haven't looked at glslang/shaderc since. I am only offering personal opinions here.