Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / vulkan / glslang
Commits: 9caca7a1 by Arcady Goldmints-Orlov at 2023-05-19T11:35:18-06:00 Add decorations to structs with buffer references The containsPhysicalStorageBufferOrArray function now handles struct types correctly, checking their contents recursively for buffer reference types. As a result, OpVariables containing structs that have members that are buffer references now have the appropriate AliasedPointer or RestrictPointer decoration as per the spec. Fixes #3188 - - - - - 4c9cc240 by Arcady Goldmints-Orlov at 2023-05-22T12:01:20-06:00 Switch Bazel to c++17 - - - - - e06bd35f by Arcady Goldmints-Orlov at 2023-05-22T12:01:20-06:00 Switch Android.mk to use --std=c++17 - - - - - a5bf6993 by Allan MacKinnon at 2023-05-22T12:04:40-06:00 [glslang] Strip trailing whitespace There are many other files in the repo that have trailing whitespace but this PR only cleans `glslang/SPIRV` and `glslang/Standalone`. - - - - - 9fbc5619 by Allan MacKinnon at 2023-05-23T14:07:48-06:00 glslangValidator: Exit with an error if output file cannot be written Propagate the error from glslang::OutputSpv[Hex|Bin] and exit with an error code if there is an error. - - - - - 6f22e41e by Arcady Goldmints-Orlov at 2023-05-25T14:34:34-06:00 CMake: Make glslang-default-resource-limits STATIC - - - - - 48a467b4 by Rémi Verschelde at 2023-05-25T14:34:34-06:00 CMake: Use set_target_properties instead of set_property This makes the cmake code a bit cleaner and more consistent. - - - - - b5874250 by rcombs at 2023-05-29T14:55:51-06:00 glslang_c_interface: use valid C function prototypes Prototypes are required in C. - - - - - a6662c53 by David Neto at 2023-05-31T15:50:03-04:00 ndk-build: test Android API 24 Vulkan was introduced in Android API 24. Test against that API level. NDKs drop support for older APIs Google-internal BUG=285134453 - - - - - 4d95e228 by Sven van Haastregt at 2023-06-12T07:52:56-07:00 Fix -Wmaybe-uninitialized warnings Fix some potentially uninitialized uses that are reported by GCC 13 with `-O3`. - - - - - 72713baf by Pablo Delgado Krämer at 2023-06-12T13:06:02-07:00 Fix GL_NV_shader_invocation_reorder #define typo - - - - - 5793fbd6 by juan-lunarg at 2023-06-16T16:12:26-04:00 cmake: Fix CMake 3.27 warnings The FindPythonInterp and FindPythonLibs modules, which have been deprecated since CMake 3.12, have been removed by policy CMP0148. Port projects to FindPython3, FindPython2, or FindPython. - - - - - 6a7ec4be by Jason Liu at 2023-06-19T14:32:31-04:00 Fix linking error "ld: unknown option: --no-undefined" on macOS - - - - - 9575e331 by Sven van Haastregt at 2023-06-21T16:43:18-04:00 Fix unused parameter warning in Release builds The `function` parameter is only used by an assert currently, so mark it as "maybe unused". Alternatively the parameter could be removed, but avoid such API churn for now. - - - - - d89c0b1d by Arcady Goldmints-Orlov at 2023-06-27T13:49:14-04:00 Force generateDebugInfo when non-semantic debug info is enabled >From the command line, the debug options "stack", with -gVS enabling >all of generateDebugInfo, emitNonSemanticShaderDebugInfo and emitNonSemanticShaderDebugSource, however the programmatic interface allows setting the latter options without the former. In this case, the string corresponding to the source filename never gets emitted and some debuginfo instructions end up with zero ID operands, resulting in invalid SPIR-V. Fixes #3240 - - - - - 3ebb72cc by Arcady Goldmints-Orlov at 2023-06-27T13:49:14-04:00 Add an assert that ID operands are non-zero Zero is not a valid ID value and the SPIR-V emitter library should never be emitting instructions with ID values of 0. - - - - - eaa70577 by Nathaniel Cesario at 2023-07-07T16:33:08-04:00 Fix C example in README Remove the usage of C++ STL types in the C-only interface example. Fixes #3239. - - - - - 051f18c0 by Rex Xu at 2023-07-11T13:26:22-04:00 Spirv_intrinsics: Add support of type specifier to spirv_type Previously, spirv_type doesn't accept type specifier as its parameter. With this change, we can input non-array type specifier. This is because some SPIR-V type definition intructions often need to reference other SPIR-V types as its source operands. We add the support to facilitate such usage. - - - - - 4ae01c5f by Dawid Lorenz at 2023-07-11T13:36:38-04:00 Add support for pre and post HLSL qualifier validation The change makes it possible to define a const variable after the marked type. Example "float const" - - - - - 44779f50 by Dawid Lorenz at 2023-07-11T13:36:38-04:00 Add support for pre and post HLSL qualifier validation The change makes it possible to define a const variable after the marked type. Example "float const" - - - - - d9a6fb22 by Joyce at 2023-07-13T13:58:05-04:00 Create a Security Policy (#3169) * Create SECURITY.md Signed-off-by: Joyce <joyceb...@google.com> - - - - - f4702899 by Arcady Goldmints-Orlov at 2023-07-13T18:14:29-04:00 Use std::call_once in spv::Parameterize() There was a race condition in this function as it used a static variable to attempt to ensure global initialization was only done once, which was not thread-safe. Instead, use std::call_once, which was added to C++11 for this exact case. Fixes #342 - - - - - 8a6a311d by Nathaniel Cesario at 2023-07-17T12:17:55-04:00 build: Remove bazel build support - - - - - 6defcb24 by Malcolm Bechard at 2023-07-17T14:42:20-04:00 Rework how auto push_constant upgrading works a bit. Ensure we traverse the entire tree and upgrade all references to the given symbol so it can be upgraded to push_constant. Without this change only one instance was upgraded, and others were left as uniform buffers. - - - - - 9e41635d by Zeqiang Li at 2023-07-17T17:11:32-06:00 Add missing initialization members for web (#3246) - - - - - d5f3ad6c by Dawid-Lorenz-Mobica at 2023-07-18T09:35:36-06:00 HLSL: support binary literals Fixes #3089 - - - - - 9afd3461 by Pedro Olsen Ferreira at 2023-07-18T12:05:43-06:00 Fix maybe-uninitialized warning The 'set' and 'setRT' variables were warning as maybe-uninitialized even though in practice that case would never trigger (due to how the function flow-controls). The code blocks where these variables are actually read do not overlap, so merge them into the same 'set' variable. Simplify the control flow of the function with early-returns, which drops indentation and simplifies the function. - - - - - a9a26254 by Juan Ramos at 2023-07-18T13:08:33-06:00 cmake: Fix Android build for r25 NDK Currently with the build instructions provided in README.md the build will fail. In the r25 NDK the CMake toolchain defaults to the legacy path, due to a bug in the current implementation. https://github.com/android/ndk/issues/323 - - - - - 856e2805 by Nathaniel Cesario at 2023-07-18T15:23:50-06:00 cmake: Rename glslang to glslangValidator Rename glslangValidator to glslang and adds a glslangValidator symlink to the build and install directories. Closes #47. - - - - - 2af597d1 by Jeremy Hayes at 2023-07-18T15:29:59-06:00 Update known_good.json - - - - - 9b1a0f4d by Jeremy Hayes at 2023-07-19T12:57:07-06:00 Update CHANGES for release 12.3.0 - - - - - 865fe739 by Nathaniel Cesario at 2023-07-19T17:16:37-06:00 cmake: Fix symlink on Windows Copy the old glslangValidator name on Windows rather than creating a symlink. While cmake 3.13 and above supports creating symlinks on Windows, a security policy change is required in general to allow the creation of symlinks for non-trusted users. See https://learn.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/create-symbolic-links Fixes #3268. - - - - - 77417d5c by David Neto at 2023-07-19T20:02:03-06:00 Support MinGW build with Clang, not just GCC Fixes: #3270 - - - - - 45ce545a by Nathaniel Cesario at 2023-07-20T13:59:11-06:00 web: Fix emscripten build The web/emscripten build has been broken for an unknown amount of time and for multiple reasons: - Calling `cat` on Windows - The latest version of wasm-ld does not support the `--no-undefined` flag - `ccall` was not being exported Fixes #3272. - - - - - 4f3ae4b0 by Jeremy Hayes at 2023-07-20T14:53:51-06:00 Update CHANGES for release 12.3.1 - - - - - 65397339 by Arcady Goldmints-Orlov at 2023-07-20T16:12:44-06:00 Remove obsolete files WORKSPACE is related to Bazel, which is no longer supported Test/makeDoc uses an option that glslang no longer supports. - - - - - fe827799 by Sven van Haastregt at 2023-07-24T10:54:56-06:00 Silence unused parameter warning The parameter could be removed, but keep it for consistency with other `makeSpirvTypeParameters` overloads. - - - - - c81b34fb by scribam at 2023-07-24T15:36:54-06:00 Remove useless semicolons - - - - - 026a9bcd by Juan Ramos at 2023-07-24T18:42:14-06:00 ci: Test Android NDK matrix combinations - - - - - 4aa56496 by Juan Ramos at 2023-07-24T18:43:25-06:00 git: Ignore CMakeUserPresets.json CMakeUserPresets.json can be useful for developers and is not meant to be checked in. - - - - - 29b87a4e by Juan Ramos at 2023-07-25T17:02:59-06:00 Modernize linux CI - Test Ubuntu-22.04 - Use ccache - Ensure backwards compatibility with Ubuntu-20.04 - - - - - 91a97b4c by Sven van Haastregt at 2023-07-26T10:09:43-06:00 Fix typo in error message - - - - - 808c7ed1 by Boris Zanin at 2023-07-26T16:39:17-06:00 Implement support for GL_KHR_cooperative_matrix extension - - - - - 775864ef by Ben Clayton at 2023-07-26T18:11:41-06:00 Simplify PoolAlloc with use of thread_local. glslang is using C++ 11, which has first class support for variables of the `thread_local` storage class. By dropping the use of the `OS_[GS]etTLSValue`, we can simplify the logic, and have it support a thread-local default allocator if none is provided. Issue: #2346 - - - - - a0010e27 by Ben Clayton at 2023-07-26T18:11:41-06:00 Deprecate InitializeDll functions These were only used for TThreadPool, which now uses `thread_local`. - - - - - 4420f9b3 by Arcady Goldmints-Orlov at 2023-07-26T18:11:41-06:00 Remove OSDependent TLS functions These are no longer used now that the PoolAllocator uses the standard c++11 thread_local storage mechanism. - - - - - 3c98026a by 画卦伏羲 at 2023-07-27T11:34:20-06:00 Fix [type] command file url forward slashes issue when use mingw - - - - - 47454f50 by Juan Ramos at 2023-07-28T08:48:09-06:00 cmake: Raise minimum to 3.17.2 Build fails due to external dependency on SPIRV-Tools. EX: ``` -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE CMake Error at External/spirv-tools/CMakeLists.txt:15 (cmake_minimum_required): CMake 3.17.2 or higher is required. You are running version 3.14.0 ``` - - - - - 0f873e75 by Juan Ramos at 2023-07-28T08:48:09-06:00 ci: Test CMake minimum - - - - - c8c669fc by Allan MacKinnon at 2023-07-28T10:13:55-06:00 `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. - - - - - d291b159 by dan sinclair at 2023-07-28T11:49:10-06:00 Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL This CL removes the GLSLANG_WEB and GLSLANG_WEB_DEVEL cmake build options and their usage in the codebase. Issue #2958 - - - - - 6bc35749 by Arcady Goldmints-Orlov at 2023-07-28T15:14:48-06:00 Remove a stray GLSLANG_WEB ifdef - - - - - 54726b3c by Arcady Goldmints-Orlov at 2023-07-28T15:14:48-06:00 Remove glslang.m4 The m4 grammar build mechanism was only ever needed as a preprocessor for bison, to be used with GLSLANG_WEB, which has now been removed. Fixes #2958 - - - - - 171a3220 by Tim Biermann at 2023-07-31T14:04:22-06:00 respect destdir for compat symlink - - - - - 396596ca by Arcady Goldmints-Orlov at 2023-07-31T20:12:51-06:00 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. - - - - - bfd96d30 by Nathaniel Cesario at 2023-08-02T16:43:05-06:00 Add emscripten build to CI Adds a build-only (no test) job for testing the emscripten (web) build on github actions. - - - - - 79a9f7f6 by Nathaniel Cesario at 2023-08-07T10:52:22-06:00 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 - - - - - 34d4f78f by Arseny Kapoulkine at 2023-08-07T11:38:17-06:00 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. - - - - - 76b52ebf by Nathaniel Cesario at 2023-08-08T12:49:36-06:00 Update known_good.json SPIRV-Tools: v2023.4.rc2 - - - - - b70669a0 by Rex Xu at 2023-08-15T09:37:26-06:00 Spirv_intrinsics: Remove early return in layoutTypeCheck Previously, when GL_EXT_spirv_intrinsics are enabled, we disable all checks in layoutTypeCheck. This is too coarse because we can use nothing in GL_EXT_spirv_intrinsics in a shader while the necessary processing is skipped, such as addUsedLocation. In this change, we apply fine check and more might be added if we encounter new cases in the future. - - - - - 3805888a by Kacper Michajłow at 2023-08-17T11:56:22-06:00 Look for external SPIR-V Tools build, if not building in-tree This allows to build with optimizer enabled, if external SPIR-V tools libraries are available in the system. It is quite common in *nix world to package spirv-tools and glslang separately. Signed-off-by: Kacper Michajłow <kaspe...@gmail.com> - - - - - 98aa6944 by Pedro Olsen Ferreira at 2023-08-18T09:52:03-06:00 [cmake] Use CMake property for symbol visibility CMake provides a target property to set default symbol visibility which supports different toolchains transparently. - - - - - 70d125b9 by Sven van Haastregt at 2023-08-18T09:52:54-06:00 cmake: Don't link SPVRemapper into glslang executable The functionality of `libSPVRemapper` is only used by the `spirv-remap` executable, so don't link it into the `glslang` executable. - - - - - c5117b32 by Nathaniel Cesario at 2023-08-18T14:36:47-06:00 Fix CI build badge Replaces the appveyor build (which is no longer used) with a badge pointing to the continuous_integration.yml job status. - - - - - d072aa66 by Joyce at 2023-08-21T12:34:22-06:00 Create scorecard.yml Signed-off-by: Joyce <joyceb...@google.com> - - - - - 4e7ccd4a by Joyce at 2023-08-21T12:34:22-06:00 Add badge to README.md Signed-off-by: Joyce <joyceb...@google.com> - - - - - db8719ae by Wooyoung Kim at 2023-08-21T18:14:52-06:00 extension: GL_QCOM_image_processing support - - - - - f1cb8608 by Jeremy Hayes at 2023-08-23T17:24:25-06:00 Update CHANGES for release 13.0.0 - - - - - 30 changed files: - .github/workflows/continuous_deployment.yml - .github/workflows/continuous_integration.yml - + .github/workflows/scorecard.yml - .gitignore - Android.mk - − BUILD.bazel - BUILD.gn - CHANGES.md - CMakeLists.txt - OGLCompilersDLL/InitializeDll.cpp - OGLCompilersDLL/InitializeDll.h - README-spirv-remap.txt - README.md - + SECURITY.md - SPIRV/CMakeLists.txt - SPIRV/GLSL.ext.KHR.h - + SPIRV/GLSL.ext.QCOM.h - SPIRV/GLSL.std.450.h - SPIRV/GlslangToSpv.cpp - SPIRV/GlslangToSpv.h - SPIRV/Logger.cpp - SPIRV/Logger.h - SPIRV/NonSemanticDebugPrintf.h - SPIRV/NonSemanticShaderDebugInfo100.h - SPIRV/SPVRemapper.cpp - SPIRV/SpvBuilder.cpp - SPIRV/SpvBuilder.h - SPIRV/SpvPostProcess.cpp - SPIRV/disassemble.cpp - SPIRV/doc.cpp The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/vulkan/glslang/-/compare/d1517d64cfca91f573af1bf7341dc3a5113349c0...f1cb8608b390a7f51b4ae0d62cd415ba47a59b86 -- View it on GitLab: https://salsa.debian.org/xorg-team/vulkan/glslang/-/compare/d1517d64cfca91f573af1bf7341dc3a5113349c0...f1cb8608b390a7f51b4ae0d62cd415ba47a59b86 You're receiving this email because of your account on salsa.debian.org.