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.


Reply via email to