Commit Graph

3703 Commits

Author SHA1 Message Date
John Cater
54691dcd73
Migrate exec_tools back to tools. (#5280)
The host transition migration is done so these can now be moved back and
`exec_tools` can be removed.
2023-06-21 15:32:27 -04:00
github-actions[bot]
a6b57f2f0e
Roll external/googletest/ 9b12f749f..fb11778f4 (4 commits) (#5279)
* Roll external/effcee/ 6d3b974a7..19b4aa87a (1 commit)

6d3b974a77...19b4aa87af

$ git log 6d3b974a7..19b4aa87a --date=short --no-merges --format='%ad %ae %s'
2023-06-21 stevenperron Add binary dir for abseil

Created with:
  roll-dep external/effcee

* Roll external/googletest/ 9b12f749f..fb11778f4 (4 commits)

9b12f749fa...fb11778f43

$ git log 9b12f749f..fb11778f4 --date=short --no-merges --format='%ad %ae %s'
2023-06-20 juan cmake: Clean up policy code
2023-06-19 juan cmake: Raise min to 3.6
2023-06-19 git Change C++11 requirement to C++14
2023-06-16 73937934+zencatalyst Update README.md

Created with:
  roll-dep external/googletest

* Roll external/spirv-headers/ 6e09e44cd..10db9d4e1 (1 commit)

6e09e44cd8...10db9d4e19

$ git log 6e09e44cd..10db9d4e1 --date=short --no-merges --format='%ad %ae %s'
2023-06-21 kevin.petit Add definitions for SVP_EXT_image_raw10_raw12

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-06-21 12:58:32 -04:00
Juan Ramos
a63ac9f73d
cmake: Use modern Python3 CMake support (#5277)
From the 3.27 release notes:
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.

closes #4145
2023-06-19 15:02:41 -04:00
Laura Hermanns
951980e5ac
Enable vector constant folding (#4913) (#5272)
- Add test case 6 to UIntVectorInstructionFoldingTest
- Add test case 3 to IntVectorInstructionFoldingTest
2023-06-19 15:01:51 -04:00
github-actions[bot]
a720a6926e
Roll external/googletest/ 18fa6a4db..9b12f749f (1 commit) (#5276)
18fa6a4db3...9b12f749fa

$ git log 18fa6a4db..9b12f749f --date=short --no-merges --format='%ad %ae %s'
2023-06-01 niranjan.nilakantan Ignore the .cache directory create by VSCode.

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-06-17 17:17:35 -07:00
Steven Perron
6b9fc79330
Fold negation of integer vectors (#5269) 2023-06-16 10:37:21 -04:00
github-actions[bot]
285f6cefa6
roll deps (#5273)
* Roll external/googletest/ e9078161e..18fa6a4db (2 commits)

e9078161e6...18fa6a4db3

$ git log e9078161e..18fa6a4db --date=short --no-merges --format='%ad %ae %s'
2023-06-15 absl-team Allow clients to un-suppress output from gUnit EXPECT_EXIT tests.
2023-06-14 dinor Skip entire test suite with `GTEST_SKIP()` in `SetUpTestSuite`

Created with:
  roll-dep external/googletest

* Roll external/spirv-headers/ 8e2ad2748..6e09e44cd (1 commit)

8e2ad27488...6e09e44cd8

$ git log 8e2ad2748..6e09e44cd --date=short --no-merges --format='%ad %ae %s'
2023-06-12 dunfanlu Reserve SPIR-V enums for Meta

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-06-16 10:15:46 -04:00
Jeremy Gebben
d33bea5847
instrument: Fix buffer address length calculations (#5257)
The length of a uvec3 was assumed to be 16 bytes, but it is 12.
Sometimes the stride might be 16 bytes though, which is probably the
source of the confusion.

Redo structure length to be the offset + length of the last member.

Add tests to cover arrays of uvec3s and uvec3 struct members.

Fixes https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/5691
2023-06-14 16:14:46 -06:00
Eugene Kozlov
b4f352e54f
Expose preserve_interface in Optimizer::Register*Passes. (#5268)
Fixes #5266
2023-06-14 10:00:26 -04:00
github-actions[bot]
40dde04ca2
Roll external/googletest/ 65cfeca1a..e9078161e (1 commit) (#5267)
65cfeca1a1...e9078161e6

$ git log 65cfeca1a..e9078161e --date=short --no-merges --format='%ad %ae %s'
2023-03-14 macieksroczynski Add COMPONENT to install

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-06-13 09:48:33 -04:00
github-actions[bot]
6d0e3cf6af
Roll external/googletest/ 334704df2..65cfeca1a (1 commit) (#5265)
334704df26...65cfeca1a1

$ git log 334704df2..65cfeca1a --date=short --no-merges --format='%ad %ae %s'
2023-06-09 absl-team internal g3doc documentation change.

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-06-12 10:12:23 -04:00
Shahbaz Youssefi
9c66587d14
spirv-diff: Update test expectations (#5264)
Seems to have been left out due to submission race condition
2023-06-09 16:28:30 -04:00
Jim Blandy
ae1843b67c
spirv-diff: Leave undefined ids unpaired. (#5262)
If an id in one module is not defined by any instruction, don't bother
matching it with an id in the other module, as this disturbs the
reported id bound, resulting in spurious differences.

Fixes #5260.
2023-06-09 15:00:46 -04:00
Jim Blandy
93c13345e1
spirv-diff: Properly match SPV_KHR_ray_query types. (#5259)
Fixes #5258.
2023-06-08 10:42:45 -04:00
github-actions[bot]
9da0269225
roll deps (#5263)
* Roll external/effcee/ ef0a5c152..6d3b974a7 (6 commits)

ef0a5c1528...6d3b974a77

$ git log ef0a5c152..6d3b974a7 --date=short --no-merges --format='%ad %ae %s'
2023-06-05 dneto On Windows, export all symbols
2023-06-05 dneto Fix cursor_test.cc compilation on MSVC
2023-06-02 dneto Update CHANGES
2023-06-02 dneto Add Kokoro build scripts
2023-05-31 dneto Add DEPS and a script to get them out
2023-05-31 dneto gitignore: ignore abseil and bazel intermediate files

Created with:
  roll-dep external/effcee

* Roll external/googletest/ 458046912..334704df2 (8 commits)

4580469122...334704df26

$ git log 458046912..334704df2 --date=short --no-merges --format='%ad %ae %s'
2023-06-02 joakim.plate Check for file system for current directory
2023-06-02 pratyush3757 change table to unordered list
2023-06-01 dinor Copy supported platforms from README onto https://google.github.io/googletest/platforms.html
2023-05-31 dinor Provide example for setting C++ language standard in GoogleTest's Bazel quickstart and readme. An equivalent for CMake was merged in aa99ce5a0d
2023-05-31 junyer Update GoogleTest to RE2 release `2023-06-01`.
2023-05-30 pratyush3757 fix README table
2023-05-24 niranjan.nilakantan Disable some warnings for IntelLLVM on Windows.
2023-05-24 niranjan.nilakantan Build googletest with IntelLLVM compilers.

Created with:
  roll-dep external/googletest

* Roll external/re2/ 03da4fc08..7c5e396af (4 commits)

03da4fc085...7c5e396af8

$ git log 03da4fc08..7c5e396af --date=short --no-merges --format='%ad %ae %s'
2023-06-01 junyer `target_compile_definitions()` needs a scope keyword.
2023-06-01 junyer Export `PCRE::no_more_args` and the functors.
2023-06-01 junyer Fix a typographical error.
2023-06-01 junyer Set `CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS` again.

Created with:
  roll-dep external/re2

* Roll external/spirv-headers/ 69155b22b..8e2ad2748 (3 commits)

69155b22b3...8e2ad27488

$ git log 69155b22b..8e2ad2748 --date=short --no-merges --format='%ad %ae %s'
2023-05-31 heroseh regenerate headers & correct order of TileImage*ReadAccessEXT Capability enum
2023-05-31 heroseh add HERO_C to the source language enumeration
2023-04-13 heroseh Add Hero C Compiler to the vendor list & add C source language to the Source Language enum

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-06-08 09:33:45 -04:00
Steven Perron
1d7dec3c51
Use windows 2019 to workaround bazel issue (#5261)
In the latest windows images, MSVC is not installed in the default
directory, and bazel is not able to find it.  See
https://github.com/actions/runner-images/issues/7675. Because of that, I
will change the github action so that is uses windows-2019 instead of
latest.

At the same time, I merged the build and test commands for the different
platforms because they are now the same.
2023-06-08 14:50:29 +02:00
alan-baker
59b4febd81
Allow OpTypeBool in UniformConstant (#5237)
See https://github.com/KhronosGroup/SPIRV-Registry/issues/72

* OpenGL allowed uniforms to be declared with boolean types, but the
  validator was overly strict in disallowing it
2023-06-06 18:05:04 -04:00
Steven Perron
5ed21eb1e2
Add folding rule for OpTranspose (#5241) 2023-06-01 12:09:08 -04:00
David Neto
ec244c8598
Increase tested Android API level (#5253)
Vulkan was introduced in Android API 24.
Test that.

The Android NDK drops support for very old APIs.
2023-05-31 16:55:43 -04:00
github-actions[bot]
c7e436921a
roll deps (#5243)
* Roll external/effcee/ 66edefd2b..77a53ba53 (1 commit)

66edefd2bb...77a53ba53b

$ git log 66edefd2b..77a53ba53 --date=short --no-merges --format='%ad %ae %s'
2023-05-26 dneto Add Abseil dependency, via RE2

Created with:
  roll-dep external/effcee

* Roll external/re2/ c9cba7606..03da4fc08 (18 commits)

c9cba76063...03da4fc085

$ git log c9cba7606..03da4fc08 --date=short --no-merges --format='%ad %ae %s'
2023-05-26 junyer Use `--enable_platform_specific_config` in `.bazelrc`.
2023-05-24 junyer Call `find_package()` conditionally.
2023-05-19 junyer Install CMake in the `gcc:13` container.
2023-05-19 junyer Sigh. I forgot to omit `sudo` because running under Docker.
2023-05-19 junyer Fix the CMake build on Ubuntu.
2023-05-19 junyer Try building the testing for RE2 with CMake again.
2023-05-18 junyer Uhh. Fix `LDABSL` for sure this time.
2023-05-18 junyer Try one more time to fix the GNU make build with GCC on Ubuntu.
2023-05-18 junyer For now, stop building the testing for RE2 with CMake.
2023-05-18 junyer Revert "Try `x64-windows-static` for CMake on Windows."
2023-05-18 junyer Try `x64-windows-static` for CMake on Windows.
2023-05-18 junyer Try again to fix the CI workflows.
2023-05-17 junyer Try to fix the CMake CI workflow.
2023-05-17 junyer Try to fix the GNU make CI workflow.
2023-05-17 junyer Fix the GNU make and CMake configurations and CI workflows.
2023-05-17 junyer Copy over the `re2/` and `util/` subdirectories.
2023-05-15 junyer Copy over the Bazel configuration and the workflow for Python releases.
2023-05-15 junyer Copy over the `app/` and `python/` subdirectories.

Created with:
  roll-dep external/re2

* Update WORKSPACE to work with the new RE2.

* Do not build tests with VS2017

RE2 no longer supports VS2017, so we cannot build the tests anymore. We
will continue to make sure the everything else still builds with vs2017.

---------

Co-authored-by: GitHub Actions[bot] <>
Co-authored-by: Steven Perron <stevenperron@google.com>
2023-05-31 13:03:53 -04:00
alan-baker
182fd9ebce
Allow physical storage buffer pointer in IO (#5251)
Follow up to #5249

* glslang tests that physical storage buffer pointers can be used as
  varyings in shaders
  * Allow physical storage buffer pointers in IO interfaces as a 64-bit
    type
2023-05-30 20:07:58 -04:00
Steven Perron
226c3bbe62
Fix broken link in README (#5250) 2023-05-30 09:42:46 -04:00
Jim Blandy
9ed2ac257d
Fix pairing of function parameters. (#5225)
- Consider prior type pairings when attempting to pair function
parameters by type.
- Pair all parameters that have matching types, not just the first.
- Update diff tests.

Fixes #5218.
2023-05-30 09:30:01 -04:00
Steven Perron
8841d560c4
Add c++ version to .bazelrc (#5247)
I finally found out how to add platform specific options to the bazelrc
file. I will use that to add the c++ language level to the bazelrc flie.
2023-05-30 09:29:04 -04:00
alan-baker
cf62673e42
Error for invalid location type (#5249)
Fixes https://crbug.com/oss-fuzz/56754

* When checking locations, produce an error if the type cannot be
  assigned a location
2023-05-30 09:08:09 -04:00
Steven Perron
673d8bfcb6
Checkout abseil in the smoketest (#5248)
Now that shaderc knows about abseil, we want to check it out. Hopefully
this fixes the smoketest.
2023-05-29 14:23:43 -04:00
Steven Perron
06bbd7f53a
Update deps in sva (#5246)
Depenabot is not able to update these deps to avoid security issues. I'm
updating all of them manually. This was done by running `yarn upgrade
--latest`. I do not claim to understand the changes to `yarn.lock`.
2023-05-29 14:18:37 -04:00
Spencer Fricke
23cb9b96cc
spirv-val: Remove VUID from 1.3.251 spec (#5244) 2023-05-29 09:20:07 -04:00
Steven Perron
1021ec302f
Add Abseil dep to the README (#5242) 2023-05-26 10:50:09 -04:00
Steven Perron
3e82fa067d
Revert "Disable RE2 autoroll (#5234)" (#5239)
This reverts commit e357a36ccf.
2023-05-26 10:49:33 -04:00
github-actions[bot]
e0936b646c
Roll external/spirv-headers/ bdbfd019b..69155b22b (1 commit) (#5238)
bdbfd019be...69155b22b3

$ git log bdbfd019b..69155b22b --date=short --no-merges --format='%ad %ae %s'
2023-05-18 jjfumero Name and url for the TornadoVM SPIR-V Library Tool updated

Created with:
  roll-dep external/spirv-headers

Co-authored-by: GitHub Actions[bot] <>
2023-05-25 09:34:36 -04:00
Steven Perron
af27ece750
Check if const is zero before getting components. (#5217)
* Check if const is zero before getting components.

Two folding rules try to cast a constant to a MatrixConstant before
checking if it is a Null constant. This leads to the null pointer being
dereferneced. The solution is to move the check for zero earlier.

Fixes https://github.com/microsoft/DirectXShaderCompiler/issues/5063
2023-05-25 09:07:22 -04:00
Steven Perron
2358001827
Add Abseil as a dep and update RE2 (#5236)
* Add Abseil as a dep and update RE2

The latest version of RE2 requires Abseil. This PR adds Abseil as an
external dependence, and update RE2 to use it.

* Remove debug code and add comment.
2023-05-25 09:00:30 -04:00
Jim Blandy
f29e11dcb6
diff: Don't give up entry point matching too early. (#5224)
Addresses one case mentioned in #5218.
2023-05-24 15:28:45 -04:00
Pankaj Mistry
82b1a87b21
Add SPV_NV_bindless_texture to spirv optimizations (#5231) 2023-05-24 11:01:11 -04:00
github-actions[bot]
60c546f3ff
Roll external/googletest/ bc860af08..bb2941fcc (1 commit) (#5220)
* Roll external/googletest/ bb2941fcc..458046912 (8 commits)

bb2941fcc6...4580469122

$ git log bb2941fcc..458046912 --date=short --no-merges --format='%ad %ae %s'
2023-05-21 shlomi Add CXX_STANDARD_REQUIRED to CMake quickstart
2023-05-17 dinor Fix typo in version number example in README
2023-05-16 dinor Explicitly document googletest release tag format
2023-05-11 131433627+yagneshprajapati Update README.md
2023-05-11 131433627+yagneshprajapati Update README.md
2023-05-11 131433627+yagneshprajapati Update README.md
2023-05-08 pateldeev Add missing absl dependency from build.
2023-05-07 131433627+yagneshprajapati Update README.md

Created with:
  roll-dep external/googletest

* Roll external/spirv-headers/ 268a06176..bdbfd019b (1 commit)

268a061764...bdbfd019be

$ git log 268a06176..bdbfd019b --date=short --no-merges --format='%ad %ae %s'
2023-05-05 kevin.petit Make the generated operators for masks constexpr

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-05-24 11:00:43 -04:00
Steven Perron
dcfea36ab7
Have the macos bazel build us git-sync-deps (#5235) 2023-05-24 10:56:37 -04:00
Steve Urquhart
44c9da6fee
Remove const zero image operands (#5232) 2023-05-24 10:30:10 -04:00
Steven Perron
e357a36ccf
Disable RE2 autoroll (#5234)
RE2 now depends on Abseil. We need to figure out how to add that
dependency. Disable the autoroll for now.

https://github.com/KhronosGroup/SPIRV-Tools/issues/5233
2023-05-24 16:19:36 +02:00
Nathan Gauër
e7c6084fd1
Prepare release 2023.3 (#5222)
* Roll external/googletest/ bc860af08..bb2941fcc (1 commit)

bc860af087...bb2941fcc6

$ git log bc860af08..bb2941fcc --date=short --no-merges --format='%ad %ae %s'
2023-05-11 absl-team Give CreateArgvFromArgs internal linkage

Created with:
  roll-dep external/googletest

* Prepare release v2023.3

Signed-off-by: Nathan Gauër <brioche@google.com>

---------

Signed-off-by: Nathan Gauër <brioche@google.com>
2023-05-16 17:06:35 +02:00
Kévin Petit
17a26b45ff
Improve an error message in the assembler (#5219)
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
2023-05-15 09:56:48 -04:00
Spencer Fricke
7c39951f6e
spirv-val: Label Interface Location/Component VUIDs (#5221) 2023-05-15 09:53:37 -04:00
Steven Perron
51892874ba
Run ADCE when the printf extension is used. (#5215)
This is for
https://github.com/microsoft/DirectXShaderCompiler/issues/5136.
2023-05-10 10:03:40 +02:00
Chris Oattes
e803fe6717
Don't convert struct members to half (#5201) 2023-05-08 12:14:42 -04:00
github-actions[bot]
d6310f4168
Roll external/googletest/ a3580180d..bc860af08 (1 commit) (#5216)
a3580180d1...bc860af087

$ git log a3580180d..bc860af08 --date=short --no-merges --format='%ad %ae %s'
2023-05-05 absl-team This trips up when compiling with -Wvla otherwise.

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-05-08 10:22:36 -04:00
Steven Perron
8993f9f52f
Apply scalar replacement on vars with Pointer decorations (#5208)
We want to be able to apply scalar replacement on variables that have
the AliasPointer and RestrictPointer decorations.

This exposed a bug that needs to be fixed as well.

Scalar replacement sometimes uses the type manager to get the type id for the
variables it is creating. The variable type is a pointer to a pointee
type. Currently, scalar replacement uses the type manager when only if
the pointee type has to be unique in the module. This is done to try to avoid the case where two type hash to the same
value in the type manager, and it returns the wrong one.

However, this check is not the correct check. Pointer types still have to be
unique in the spir-v module. However, two unique pointer types can hash
to the same value if their pointee types are isomorphic. For example,

%s1 = OpTypeStruct %int
%s2 = OpTypeStruct %int
; %p1 and %p2 will hash to the same value even though they are still
; considered "unique".
%p1 = OpTypePointer Function %s1
%p2 = OpTypePointer Function %s2
To fix this, we now use FindPointerToType, and we modified TypeManager::IsUnique to refer to the whether or not a type will hash to a unique value and say that pointers are not unique.

Fixes #5196
2023-05-08 09:39:14 -04:00
Steven Perron
01055c60cf
Update the contributing guidelines (#5212)
The instructions on merging a PR are out of date. They have be updated
to match the current process.
2023-05-04 11:13:17 -04:00
github-actions[bot]
65f03bea4e
Roll external/spirv-headers/ 7f1d2f415..268a06176 (2 commits) (#5214)
7f1d2f4158...268a061764

$ git log 7f1d2f415..268a06176 --date=short --no-merges --format='%ad %ae %s'
2023-05-03 devillers Reserve a single block of opcodes and enumerants for Saarland University (#343)
2023-04-06 duncan.brawley Shift Codeplay opcode range to preserve alignment of opcodes and non-opcodes

Created with:
  roll-dep external/spirv-headers

Co-authored-by: GitHub Actions[bot] <>
2023-05-04 13:46:10 +02:00
Sruthik P
2189ad7a5a
spirv-tools: Add support for QNX (#5211)
This change updates CMakeLists.txt to support building for QNX
platforms.
2023-05-03 11:25:17 -04:00
github-actions[bot]
17be6bb7c3
Roll external/googletest/ f345b2ca6..a3580180d (2 commits) (#5210)
f345b2ca6a...a3580180d1

$ git log f345b2ca6..a3580180d --date=short --no-merges --format='%ad %ae %s'
2022-11-24 luoyonggang Fixes the test gmock_output_test.py with MSVC
2023-02-09 luoyonggang Revert "Fix gmock_output_test when using MSVC"

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-05-03 10:29:01 -04:00