在常规 GLSL 中,我可以执行以下操作来有条件地启用 GLSL 扩展:
#if defined(GL_ARB_shader_viewport_layer_array)
#extension GL_ARB_shader_viewport_layer_array : enable
// Some other stuff here
#endif
我的问题是,如何使用 glslang 库在 SPIR-V 中实现相同的目标?我假设我需要编译同一个着色器的多个版本来实现这一点?或者有没有办法在不为两个版本生成两个二进制文件的情况下,以扩展的存在为条件对 SPIR-V 进行条件化?