glslang-zig/SPIRV
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 Merge pull request #2985 from jeremy-lunarg/hayes-nonsemantic-shader-debuginfo-rebase 2022-09-09 10:13:02 -06:00
bitutils.h Fix compiler warning emitted from GCC8 2018-09-12 10:34:54 +02:00
CMakeLists.txt CMake: Use set_target_properties instead of set_property 2023-05-25 14:34:34 -06:00
disassemble.cpp [glslang] Strip trailing whitespace 2023-05-22 12:04:40 -06:00
disassemble.h Fix -Wextra-semi warnings in headers used in Chromium 2019-02-21 11:05:21 -05:00
doc.cpp Implement support for GL_KHR_cooperative_matrix extension 2023-07-26 16:39:17 -06:00
doc.h Implement support for GL_KHR_cooperative_matrix extension 2023-07-26 16:39:17 -06:00
GLSL.ext.AMD.h Non-functional: Move to latest headers. 2018-03-02 12:36:02 -07:00
GLSL.ext.ARM.h GL_ARM_shader_core_builtins support 2022-12-05 14:15:47 +02:00
GLSL.ext.EXT.h Add GLSL_EXT_shader_tile_image 2023-05-08 19:49:25 -06:00
GLSL.ext.KHR.h Implement support for GL_KHR_cooperative_matrix extension 2023-07-26 16:39:17 -06:00
GLSL.ext.NV.h Add support for GL_NV_shader_invocation_reorder. (#3054) 2022-12-09 13:19:08 -07:00
GLSL.std.450.h [glslang] Strip trailing whitespace 2023-05-22 12:04:40 -06:00
GlslangToSpv.cpp Fix interaction between GL_EXT_mesh_shader and GL_EXT_fragment_shading_rate 2023-08-07 11:38:17 -06:00
GlslangToSpv.h glslangValidator: Exit with an error if output file cannot be written 2023-05-23 14:07:48 -06:00
hex_float.h SPIRV: hex_float: remove workaround for VS2013 2023-05-10 09:55:02 -06:00
InReadableOrder.cpp SPIR-V: Aggressively prune unreachable merge, continue target 2019-10-29 15:33:54 -04:00
Logger.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
Logger.h Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
NonSemanticDebugPrintf.h [glslang] Strip trailing whitespace 2023-05-22 12:04:40 -06:00
NonSemanticShaderDebugInfo100.h [glslang] Strip trailing whitespace 2023-05-22 12:04:40 -06:00
spirv.hpp Implement support for GL_KHR_cooperative_matrix extension 2023-07-26 16:39:17 -06:00
SpvBuilder.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
SpvBuilder.h Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
spvIR.h Add an assert that ID operands are non-zero 2023-06-27 13:49:14 -04:00
SpvPostProcess.cpp Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL 2023-07-28 11:49:10 -06:00
SPVRemapper.cpp Implement support for GL_KHR_cooperative_matrix extension 2023-07-26 16:39:17 -06:00
SPVRemapper.h SPIRV: remove pre-C++11 workaround 2023-05-10 09:55:02 -06:00
SpvTools.cpp Remove the name of unused formal paramters 2022-12-09 15:51:35 -05:00
SpvTools.h Add EliminateDeadOutputStores to API. 2022-11-28 15:09:41 -07:00