[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/vulkan/glslang][upstream-unstable] 68 commits: Add decorations to structs with buffer references



Title: GitLab

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 <joycebrum@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 <kasper93@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 <joycebrum@google.com>
  • 4e7ccd4a
    by Joyce at 2023-08-21T12:34:22-06:00
    Add badge to README.md
    
    Signed-off-by: Joyce <joycebrum@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:

The diff was not included because it is too large.

Reply to: