- Reverted public function interface changes for C++.
- Added override member variable to TShader.
- Added accessor TShader::setOverrideVersion.
- Reverted changes to tests.
Fuchsia GN build requires all "action" targets to be
hermetic, and they should correctly and fully state
their inputs and ouptuts in "sources" and "outputs"
fields (see https://fuchsia.dev/fuchsia-src/development/build/hermetic_actions
for details).
This change adds "sources" field to "glslang_extension_headers"
build target so that it states all its input files in its
GN target build rule.
TEST=fx set workstation.x64 --args=build_should_trace_actions=true
fx build
Bug: 90846
Change-Id: I63bd5d03cee86d93b0bb7cf2cee95c5ae0d98f93
This change list allows a user to override the GLSL version from the
command line or through the C and C++ interfaces. This will override the
override happens in ProcessDeferred() before DeduceVersionProfile() so
the process should still error out if the version is insufficient for
the shader code.
- Added --glsl-version <version> to CLI.
- Added parameter to route glslVersion as override version to
preprocessor and parse functions to C++ interface.
- Updated C interface with function to override GLSL version.
Add command line support which enables the following behavior:
- Remap discard
Map discard to DemoteToHelperInvocation for HLSL shaders. Map to
OpTerminateInvocation for GLSL shaders.
- Decorate HelperInvocation with Volatile
- Use localSizeId for execution mode
WorkGroupSize is deprecated in spirv1.6
Also update known goods to SPIRV 1.6
- Removed vulkan_rules_relaxed from glslang_input_s
- Added GLSLANG_SHADER_VULKAN_RULES_RELAXED to glslang_shader_options_t
- Modified glslang_shader_set_options to handle new enum value
- Corrected enum value for GLSLANG_SHADER_AUTO_MAP_LOCATIONS
* Support for automap options
- Added glslang_shader_options_t with enums for auto map bindings and
auto map locations.
- Added options param to glslang_shader_parse.
- Modified glslang_shader_parse to call appropriate auto map function if
auto map bits are set.
* Refactored auto map for C interface
- Added glslang_shader_set_options to independently set options instead
of being a param on an existing function.
- Added glslang_program_map_io to call mapIO so auto map location
actually works.
* Added support for shifting resource bindings
- Added resource binding shift functions to match C++ interface
* Uncommented preprocessor call that was commented out for debugging
1. The test cases of OpReadClockKHR is invalid. The return type is
unsigned integer rather than signed integer.
2. When SPIR-V decorate or SPIR-V type is specified, we should avoid
auto location mapping because the semantics are totally decided by
SPIR-V tokens.
When using this qualifier for a parameter, we make it as a pointer.
However, the function TranslateStorageClass() is therefore called and
the storage class should only be set to Function when it is invoked
to translate parameter types rather than actual argument types.