glslang-zig/glslang
Arseny Kapoulkine 34d4f78f03
Fix interaction between GL_EXT_mesh_shader and GL_EXT_fragment_shading_rate
Before this change, using gl_MeshPrimitivesEXT in mesh shader would
unconditionally create gl_MeshPrimitivesEXT.gl_PrimitiveShadingRateEXT
field and add PrimitiveShadingRateKHR capability to the output SPIRV
file, which would subsequently trigger validation errors when creating
the shader module unless the application requested primitive shading
rate feature.

What should happen instead is that unless GL_EXT_fragment_shading_rate
extension is enabled, we should not allow using
gl_PrimitiveShadingRateEXT and should not emit the associated fields
into the output.

This change fixes this by using existing filterMember mechanism that is
already used in a few other cases like this, and adjusting the required
extension on the field member which will generate an error when
gl_PrimitiveShadingRateEXT is used without enabling the extension.
2023-08-07 11:38:17 -06:00
..
CInterface Use custom callbacks if they are available in 'i->callbacks' 2023-05-09 10:38:08 -06:00
ExtensionHeaders Revert port of GL_EXT_shader_realtime_clock to GL_EXT_spirv_intrinsics 2021-11-11 23:39:47 -07:00
GenericCodeGen Use nullptr where possible instead of NULL or 0 2022-11-30 09:33:28 -07:00
HLSL Add support for pre and post HLSL qualifier validation 2023-07-11 13:36:38 -04:00
Include Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
MachineIndependent Fix interaction between GL_EXT_mesh_shader and GL_EXT_fragment_shading_rate 2023-08-07 11:38:17 -06:00
OSDependent Replace GlobalLock functions with std::mutex 2023-07-31 20:12:51 -06:00
Public Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
ResourceLimits move ResourceLimits from StandAlone to glslang dir (Fix #3064) 2023-02-15 20:06:26 +01:00
CMakeLists.txt Remove glslang.m4 2023-07-28 15:14:48 -06:00
updateGrammar Remove glslang.m4 2023-07-28 15:14:48 -06:00