glslang-zig/glslang/MachineIndependent
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
..
preprocessor Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
attribute.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
attribute.h Implement GL_EXT_subgroup_uniform_control_flow. 2021-06-07 10:21:05 -04:00
Constant.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
gl_types.h 1. fix macro definition value for unsinged-int64-vector, according to kronos spec at https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_int64.txt; 2. fix typo in reflection 2021-03-15 16:54:31 +08:00
glslang.y Remove glslang.m4 2023-07-28 15:14:48 -06:00
glslang_tab.cpp Implement support for GL_KHR_cooperative_matrix extension 2023-07-26 16:39:17 -06:00
glslang_tab.cpp.h Implement support for GL_KHR_cooperative_matrix extension 2023-07-26 16:39:17 -06:00
InfoSink.cpp Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
Initialize.cpp Fix interaction between GL_EXT_mesh_shader and GL_EXT_fragment_shading_rate 2023-08-07 11:38:17 -06:00
Initialize.h Comment out params instead of removing 2019-09-11 08:59:47 -04:00
Intermediate.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
intermOut.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
IntermTraverse.cpp 8. io mapping refine & qualifier member check & resolver expand (#2396) 2020-11-03 13:34:19 -07:00
iomapper.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
iomapper.h Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
limits.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
linkValidate.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
LiveTraverser.h also search global variables assignment for live variables 2020-07-20 18:43:00 -04:00
localintermediate.h Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
parseConst.cpp Use nullptr where possible instead of NULL or 0 2022-11-30 09:33:28 -07:00
ParseContextBase.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
ParseHelper.cpp Remove a stray GLSLANG_WEB ifdef 2023-07-28 15:14:48 -06:00
ParseHelper.h Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
parseVersions.h Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
pch.h Use precompiled headers for some glslang projects 2018-10-31 15:38:08 -05:00
PoolAlloc.cpp Simplify PoolAlloc with use of thread_local. 2023-07-26 18:11:41 -06:00
propagateNoContraction.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
propagateNoContraction.h [lumped builds] Add include guards (#pragma once) to header files that did not have any. 2017-05-10 16:58:38 +03:00
reflection.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
reflection.h Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
RemoveTree.cpp Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
RemoveTree.h [lumped builds] Add include guards (#pragma once) to header files that did not have any. 2017-05-10 16:58:38 +03:00
Scan.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
Scan.h SPV: Fix #1575, fix #1593: Support HLSL #line 2018-12-07 17:36:33 -07:00
ScanContext.h GL_EXT_buffer_reference 2019-01-07 12:36:13 -06:00
ShaderLang.cpp Replace GlobalLock functions with std::mutex 2023-07-31 20:12:51 -06:00
SpirvIntrinsics.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
SymbolTable.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
SymbolTable.h Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
Versions.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
Versions.h Implement support for GL_KHR_cooperative_matrix extension 2023-07-26 16:39:17 -06:00