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.
79a9f7f...
by
Nathaniel Cesario <email address hidden>
Fix continuous deployment
There should not be a '/' after $ENV{DESTDIR} in the cmake install script.
This change also:
- Uses lukka/get-cmake github action consistently across jobs
- Add the glslang binary to the continuous deployment archive
bfd96d3...
by
Nathaniel Cesario <email address hidden>
Add emscripten build to CI
Adds a build-only (no test) job for testing the emscripten (web) build
on github actions.
396596c...
by
Arcady Goldmints-Orlov <email address hidden>
Replace GlobalLock functions with std::mutex
The usage of GetGlobalLock/ReleaseGlobalLock/InitGlobalLock is replaced
by std::lock_guard which is available as of c++11, and the functions are
removed from the OSDependent ossource.cpp files.
The standalone glslang binary now explicitly depends on OSDependent, as
nothing in in the glslang library uses those functions anymore and they
are not implicitly picked up by the linker.
This CL removes the GLSLANG_WEB and GLSLANG_WEB_DEVEL
cmake build options and their usage in the codebase.
Issue #2958
c8c669f...
by
Allan MacKinnon <email address hidden>
`spirv-remap`: Support outputting each SPIR-V module to a filename
The `spirv-remap` tool now supports two output modes:
* Outputting one or more inputs to a single directory -- the previous
behavior
* One output file per input -- new behavior.