forked from KhronosGroup/glslang
-
Couldn't load subscription status.
- Fork 4
Sync with SDK ver 1.3.268.0 #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
As glslang ships architecture dependant files, the Config file should be installed to libdir, not datadir. See KhronosGroup#2989 (comment) for more details. Here's the diff between the install tree before and after this patch: $ diff <(tree install-datadir) <(tree install) 1c1 < install-datadir --- > install 74,99c74,98 < ├── lib < │ ├── cmake < │ │ ├── glslang-default-resource-limitsTargets.cmake < │ │ ├── glslangTargets.cmake < │ │ ├── glslangValidatorTargets.cmake < │ │ ├── HLSLTargets.cmake < │ │ ├── OGLCompilerTargets.cmake < │ │ ├── OSDependentTargets.cmake < │ │ ├── spirv-remapTargets.cmake < │ │ ├── SPIRVTargets.cmake < │ │ └── SPVRemapperTargets.cmake < │ ├── libGenericCodeGen.a < │ ├── libglslang.a < │ ├── libglslang-default-resource-limits.a < │ ├── libHLSL.a < │ ├── libMachineIndependent.a < │ ├── libOGLCompiler.a < │ ├── libOSDependent.a < │ ├── libSPIRV.a < │ └── libSPVRemapper.a < └── share < └── glslang < ├── glslang-config.cmake < ├── glslang-config-version.cmake < ├── glslang-targets.cmake < └── glslang-targets-debug.cmake --- > └── lib > ├── cmake > │ ├── glslang-default-resource-limitsTargets.cmake > │ ├── glslangTargets.cmake > │ ├── glslangValidatorTargets.cmake > │ ├── HLSLTargets.cmake > │ ├── OGLCompilerTargets.cmake > │ ├── OSDependentTargets.cmake > │ ├── spirv-remapTargets.cmake > │ ├── SPIRVTargets.cmake > │ └── SPVRemapperTargets.cmake > ├── glslang > │ ├── glslang-config.cmake > │ ├── glslang-config-version.cmake > │ ├── glslang-targets.cmake > │ └── glslang-targets-debug.cmake > ├── libGenericCodeGen.a > ├── libglslang.a > ├── libglslang-default-resource-limits.a > ├── libHLSL.a > ├── libMachineIndependent.a > ├── libOGLCompiler.a > ├── libOSDependent.a > ├── libSPIRV.a > └── libSPVRemapper.a 101c100 < 15 directories, 83 files --- > 14 directories, 83 files
Added following updates to GL_EXT_mesh_shader implementation: 1. Added SPIRV and GLSL test cases 2. Added checks to ensure NV and EXT mesh shader builtins cannot be used interchangeably. 3. Updated the language name by removing the postfix "NV" to MeshShader and TaskShader. 4. Added checks for grammar checking to comply with the spec. 5. Added gl_NumWorkGroups builtin to Mesh shader 6. Fixed data type of gl_PrimitiveLineIndicesEXT and gl_PrimitiveTriangleIndicesEXT 7. Added new constants to the resources table 8. Updates to handle new storage qualifier "taskPayloadSharedEXT" 9. Updated test cases by replacing "taskEXT" with storage qualifier "taskPayloadSharedEXT" Addressed Review comments 1. Fixed instruction description used by glslang disassembly. 2. Updated OpEmitMeshTasksEXT as per spec update 3. Fixed implementation that errors out if there are more then one taskPayloadSharedEXT varjables. 4. Fixed miscellaneous error logs and removed unwanted code. SPIRV 1.6 related build failure fixes - Update SPIRV header to 1.6 - Fix conflict wiht SPIRV 1.6 change, where localSizeId is used for execution mode for mesh/task shaders Enable SPIRV generated for EXT_mesh_shader to be version 1.4 GL_EXT_mesh_shader: Add checks for atomic support and corresponding test cases
Make OpEmitTMeshasksEXT a terminal instructions
…operands. Use the new utility function for generating OpEmitMeshTasksEXT.
since we are changing the type before the visitBinary now, we need to be comparing against the new type. Previous test cases worked since the 'unitType' was a shallow copy and ended up getting updated in some cases to match the new type, but not all.
gl_SubGroupARB was being correctly declared as an Input variable in Vulkan but it was missing the Flat decoration, which made spirv-val emit the VUID-StandaloneSpirv-Flat-04744 validation error with shaders using that built-in.
Previously we had decided to issue DebugValue directly in glslang. However, this was incorrect and causing issues with RenderDoc.
… qualifier as arrayed IO This bug got introduced as part of EXT_mesh_shader changes 228c672 Also updated barycentric test cases to add coverage for multiple pervertexEXT array inputs
Since 12e27e1, it was assumed that the MINGW_HAS_SECURE_API macro was unconditionally defined. This is not always the case, and GCC produces -Wundef warnings when that happens. Fix this, by first checking if MINGW_HAS_SECURE_API is defined, and if so, also check that it does not evaluate to zero. As a drive-by, place parentheses around _MSC_VER for consistency.
At least on openSUSE, the usual installation location for cmake support
files is ${MAKE_INSTALL_LIBDIR}/cmake/<name>
$ find /usr/lib64 -name '*.cmake' | grep /cmake/ | wc -l
834
$ find /usr/lib64 -name '*.cmake' | grep -v /cmake/ | wc -l
8
which is also used by glslang with these changes.
The glslang cmake build system installs static libraries in addition to the dynamic glslang library, which are required when used in a package that uses glslang when calling find_package(). Distributions such as openSUSE (and perhaps others) use a "shared only" strategy, which conflicts with the current state of the glslang build system. The static libraries mentioned are already all included in glslang and thus not needed. With this commit, these will no longer install the associated cmake support files when glslang is built shared.
Add interface for `TShader::setPreamble`.
It can't be safely used unilaterally on other stages, since that will result in output/input mismatches between stages. They arn't having their output variables eliminated accordingly.
For SPIR-V 1.6 HelperInvocation accesses need to be volatile to avoid undefined values when shaders execute 'demote'. Previously this was always decorated on the gl_HelperInvocation variable, but this is not valid when the Vulkan memory model is in use. When the memory model is enabled, stop decorating the variable declaration and apply the memory semantic to access chain loads instead. Fixes KhronosGroup#3042
This should generate a Volatile tag on the access, not on the variable itself.
When GL_EXT_mesh_shader is enabled, the check of layout qualifiers 'max_vertices' and 'max_primitives' should use gl_MaxMeshOutputVerticesEXT and gl_MaxMeshOutputPrimitivesEXT.
This was the only header using CRLF, the rest already uses LF.
New interface allows users to generate ResourceLimits for interface so that additions to TBuiltInResource do not break the ABI. Users should use the glslang-default-resource-limits library and the Public/ResourceLimits.h header. Similar changes have been made to the C interface. Use Public/resource_limits_c.h. Fixes KhronosGroup#2822
This is needed now that we force the user to explicitly choose between disabling use of SPIRV-Tools, using a version installed on the system, or using the version obtained by update_glslang_source.py
float textureOffset(sampler2DArrayShadow sampler, vec4 P, ivec2 offset) was incorrectly requiring the GL_EXT_texture_shadow_lod extension. NOTE: Prior to GLSL 440, this prototype was defined as float textureOffset(sampler2DArrayShadow sampler, vec4 P, vec2 offset) i.e., the type of 'offset' was specified as 'vec2' rather than 'ivec2'. This is believed to be a typo. Fixes KhronosGroup#3325.
Test all core sampler functions.
Signed-off-by: Joyce <[email protected]>
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@f43a0e5...3df4ab1) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.2 to 3.1.3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@0b7f8ab...a8a3f3a) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Previously, the type names in the nonsemantic shader debug info would be "int", "uint", or "float" for all numeric types. This change makes the correct names such as "int8_t" or "float16_t" get emitted.
This PR is try to address the review comment: KhronosGroup#3253 (comment).
Makes sure that we have an l-value before checking the storage type of the mem argument passed to an atomic memory operation. Fixes KhronosGroup#3332.
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.5 to 2.21.7. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@00e563e...04daf01) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Adds the --no-link option which outputs the compiled shader binaries without linking them. This is a first step towards allowing users to create SPIR-v binary, non-executable libraries. When using the --no-link option, all functions are decorated with the Export linkage attribute.
Modify preprocessor.simple.vert to test spaces before parenthesis.
Add jobs for testing with -fsanitize=address and -fsanitize=thread.
Guard global variables 'CompileFailed' and 'LinkFailed' in the StandAlone application with atomics.
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@3df4ab1...8ade135) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.27.4 to 3.27.6. - [Release notes](https://github.com/lukka/get-cmake/releases) - [Commits](lukka/get-cmake@4dcd3eb...aa2e3cb) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.7 to 2.21.9. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@04daf01...ddccb87) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
* Add support for GL_NV_displacement_micromap. * Update known_good for spirv-headers and spirv-tools.
Move the parameter verifictation to a centralized place where all the builtins are verified for correctness. Add verification for the new builtins with version and extension check These builtins are supported on GLSL since version 130 and GLES since version 300.
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.27.6 to 3.27.7. - [Release notes](https://github.com/lukka/get-cmake/releases) - [Commits](lukka/get-cmake@aa2e3cb...8be6cca) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.9 to 2.22.0. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@ddccb87...2cb752a) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.2.0 to 2.3.0. - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@08b4669...483ef80) --- updated-dependencies: - dependency-name: ossf/scorecard-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
SPIR-V 1.6 added the LocalSizeId execution mode that allows using spec constants for setting the work-group size, however it does not deprecate the LocalSize mode. This change causes the LocalSizeId mode to only be used when at least one of the workgroup size is actually specified with a spec constant. Fixes KhronosGroup#3200
Currently no debug info is emitted for buffer reference types, which resulted in the SPIR-V backend code asserting when trying to emit the debug info for struct member that had such a type. Instead, the code now skips such struct members. Full debug info for buffer references may require forward references in the debug info instructions, which is currently prohibited by the spec.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.