Commit Graph

3800 Commits

Author SHA1 Message Date
Cassandra Beckley
361638cfd0
Make sure that fragment shader interlock instructions are not removed by DCE (#5400) 2023-09-11 15:26:10 -04:00
github-actions[bot]
5e6054c1cb
Roll external/re2/ e0077036c..a807e8a3a (6 commits) (#5401)
e0077036ca...a807e8a3aa

$ git log e0077036c..a807e8a3a --date=short --no-merges --format='%ad %ae %s'
2023-09-07 junyer Revert "Make the extension work for Python 3.8+."
2023-09-07 junyer Make the extension work for Python 3.8+.
2023-09-07 junyer Try plumbing the platform name a different way.
2023-09-07 junyer Add a "dry run" mode to the Python workflow.
2023-09-04 junyer Switch to `python -m build`.
2023-09-04 junyer Mark three dependencies as `dev_dependency = True`.

Created with:
  roll-dep external/re2

Co-authored-by: GitHub Actions[bot] <>
2023-09-11 18:37:12 +00:00
Nathan Gauër
47b63a4d7d
val: re-add ImageMSArray validation (#5394)
This has been removed in #4752, but not added since.

* fixup! val: re-add ImageMSArray validation

clang-format
2023-09-07 09:39:28 -04:00
Steven Perron
d660bb55be
Add SPV_KHR_physical_storage_buffer to allowlists (#5402)
Fixes #4896
2023-09-06 16:35:57 +00:00
Steven Perron
440f018cc4
Fix AddMemberDecoration variable names. (#5399)
The prototype does not match the implementation.

Fixes Typo in declaration DecorationManager::AddMemberDecoration #5392
2023-09-05 19:38:49 +00:00
Nathan Gauër
4e0b94ed7a
opt: add ImageMSArray capability to trim pass. (#5395)
From the Capability's text in the SPIRV spec:

```
An MS operand in OpTypeImage indicates multisampled, used with an
OpTypeImage having Sampled == 2 and Arrayed == 1.
```

Adding this logic to the capability trimming pass.
2023-09-05 18:36:03 +00:00
Cassandra Beckley
d474a07088
Add SPV_EXT_fragment_shader_interlock to allow lists (#5393) 2023-09-05 12:10:16 -04:00
Nathan Gauër
1f07f483ef
opt: add raytracing/rayquery to trim pass (#5397)
Adds the RayTracingKHR and RayQueryKHR capabilities to
the supported capabilities list (this includes the linked extension).
(NV and KHR capabilities/extensions shared the same IDs, so it also
works for NV flavors of those).
2023-09-05 14:36:14 +00:00
github-actions[bot]
158bc7bd6b
Roll external/re2/ 523f9b097..e0077036c (2 commits) (#5391)
523f9b0971...e0077036ca

$ git log 523f9b097..e0077036c --date=short --no-merges --format='%ad %ae %s'
2023-08-31 junyer `@rules_python` fails due to Bazel running as root.
2023-08-31 junyer Prepare to tag release `2023-09-01`.

Created with:
  roll-dep external/re2

Co-authored-by: GitHub Actions[bot] <>
2023-09-05 14:32:00 +00:00
Nathan Gauër
1121c23198
opt: add Int64 capability to trim pass (#5398)
Adds support for Int64 capability trimming.
2023-09-05 09:47:46 -04:00
Nathan Gauër
3cc7e1c4c3
NFC: rename tests using capability as prefix (#5396) 2023-09-04 14:32:28 -07:00
Cassandra Beckley
4c16c35b16
opt: add FragmentShader*InterlockEXT to capability trim pass (#5390)
* opt: add FragmentShader*InterlockEXT to capability trim pass

* move to addInstructionRequirementsForOpcode
2023-09-04 11:27:56 +02:00
Mike Gorchak
9b923f7cc3
QNX has support for ANSI ESC codes, default terminal is QANSI. (#5387) 2023-08-30 14:51:03 -04:00
Joyce
51367c40fd
Enable OpenSSF Scorecard and Badge (#5377)
* Create scorecard.yml

Signed-off-by: Joyce <joycebrum@google.com>

* Update README.md

Signed-off-by: Joyce <joycebrum@google.com>

---------

Signed-off-by: Joyce <joycebrum@google.com>
2023-08-30 13:47:06 -04:00
github-actions[bot]
d09c753a4a
Roll external/re2/ 73031bbc0..523f9b097 (1 commit) (#5389)
73031bbc08...523f9b0971

$ git log 73031bbc0..523f9b097 --date=short --no-merges --format='%ad %ae %s'
2023-08-29 junyer Strip `-Wl` for `static-testinstall` and `shared-testinstall` as well.

Created with:
  roll-dep external/re2

Co-authored-by: GitHub Actions[bot] <>
2023-08-30 14:24:26 +00:00
github-actions[bot]
b6893ccdfb
Roll external/googletest/ 460ae9826..8a6feabf0 (1 commit) (#5388)
460ae98267...8a6feabf04

$ git log 460ae9826..8a6feabf0 --date=short --no-merges --format='%ad %ae %s'
2023-08-25 dinor googletest: Add universal printer for `std::span`

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-08-29 00:14:32 +00:00
github-actions[bot]
1b3c4cb685
roll deps (#5386)
* Roll external/googletest/ cb5cd96bc..460ae9826 (1 commit)

cb5cd96bca...460ae98267

$ git log cb5cd96bc..460ae9826 --date=short --no-merges --format='%ad %ae %s'
2023-08-22 sch changed http to https

Created with:
  roll-dep external/googletest

* Roll external/spirv-headers/ b8b9eb864..d790ced75 (1 commit)

b8b9eb8640...d790ced752

$ git log b8b9eb864..d790ced75 --date=short --no-merges --format='%ad %ae %s'
2023-08-23 dneto Validate enums have sensible versions and are visible (#369)

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-08-24 20:29:14 +00:00
github-actions[bot]
abd548b817
roll deps (#5384)
* Roll external/googletest/ 61332bd7e..cb5cd96bc (6 commits)

61332bd7e8...cb5cd96bca

$ git log 61332bd7e..cb5cd96bc --date=short --no-merges --format='%ad %ae %s'
2023-08-22 dinor googletest: Replace http with https in links to docs
2023-08-20 elior.s Update advanced.md
2023-08-11 sch Changed 2 public links from http to https
2023-08-11 sch Changed 3 public links from http to https
2023-08-11 sch Changed 2 public links from http to https
2023-08-11 sch Changed 3 public links from http to https

Created with:
  roll-dep external/googletest

* Roll external/re2/ 08d338fe4..73031bbc0 (1 commit)

08d338fe48...73031bbc08

$ git log 08d338fe4..73031bbc0 --date=short --no-merges --format='%ad %ae %s'
2023-08-22 junyer Reset the Bzlmod compatibility level to 1.

Created with:
  roll-dep external/re2

---------

Co-authored-by: GitHub Actions[bot] <>
2023-08-23 22:29:43 +00:00
github-actions[bot]
2601f644ee
Roll external/googletest/ 9fce54804..61332bd7e (2 commits) (#5383)
9fce548044...61332bd7e8

$ git log 9fce54804..61332bd7e --date=short --no-merges --format='%ad %ae %s'
2023-08-21 dmauro CI: Update the Linux hybrid-latest docker container used for testing
2023-08-21 absl-team Clean up typos: Exhaused => Exhausted

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-08-22 19:25:56 +00:00
Jeremy Gebben
714966003d
opt: Add SwitchDescriptorSetPass (#5375)
This is a simple pass to change DescriptorSet decoration values.
2023-08-22 00:16:35 +00:00
Jeremy Gebben
6520d83eff
linker: Add --use-highest-version option (#5376)
Currently spirv-link fails if all input files don't use the same
SPIR-V version. Add an option to instead use the highest input
version as the output version. Note that if one of the 'old'
input files uses an opcode that is deprecated in the 'new'
version, the output spirv will be invalid.
2023-08-21 17:05:33 -06:00
github-actions[bot]
bfc94f63a7
roll deps (#5382)
* Roll external/googletest/ 987e22561..9fce54804 (2 commits)

987e225614...9fce548044

$ git log 987e22561..9fce54804 --date=short --no-merges --format='%ad %ae %s'
2023-08-17 absl-team Improve error message for invalid parameterized test names.
2023-07-26 patryk googletest: ansi color fix

Created with:
  roll-dep external/googletest

* Roll external/re2/ 6148386f0..08d338fe4 (1 commit)

6148386f0c...08d338fe48

$ git log 6148386f0..08d338fe4 --date=short --no-merges --format='%ad %ae %s'
2023-08-17 junyer Clean up `__GNUC__` conditions.

Created with:
  roll-dep external/re2

---------

Co-authored-by: GitHub Actions[bot] <>
2023-08-19 09:03:17 +00:00
github-actions[bot]
b12fc2904a
Roll external/googletest/ 7e33b6a1c..987e22561 (5 commits) (#5381)
* Roll external/googletest/ 7e33b6a1c..987e22561 (5 commits)

7e33b6a1c4...987e225614

$ git log 7e33b6a1c..987e22561 --date=short --no-merges --format='%ad %ae %s'
2023-08-15 dinor gtest_help_test: Make method names `snake_case`, conforming with [the style guide](https://google.github.io/styleguide/pyguide#316-naming)
2023-08-15 dinor gtest_help_test: Inline test helper functions
2023-08-15 dinor gtest_help_test: Delete obsolete helper `TestUnknownFlagWithAbseil`
2023-08-07 yaneurabeya Fix RETest/1.ImplicitConstructorWorks on non-ABSL platforms
2023-08-07 yaneurabeya Fix GTestHelpTest.TestHelpFlag on FreeBSD

Created with:
  roll-dep external/googletest

* Roll external/spirv-headers/ 45fc02a6c..b8b9eb864 (1 commit)

45fc02a6c6...b8b9eb8640

$ git log 45fc02a6c..b8b9eb864 --date=short --no-merges --format='%ad %ae %s'
2023-08-16 viktoria.maksimova Headers support for two Intel extensions (#356)

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-08-16 21:50:45 -07:00
Wooyoung Kim
89ca3aa571
SPV_QCOM_image_processing support (#5223) 2023-08-15 15:15:21 -04:00
Steven Perron
c558886610
Fix failing action when PR is already open. (#5380) 2023-08-15 09:53:10 -04:00
Nathan Gauër
0f17d05c48
opt: add bitmask support for capability trimming (#5372)
Some operands are not simple values, but bitmasks.
The lookup in the table for required decomposing the mask into
single values.
This commit adds support for such operands, like MinLod|Offset.
2023-08-15 09:50:57 -04:00
github-actions[bot]
fddcc8cedc
Roll external/re2/ 9dc7ae7b5..6148386f0 (3 commits) (#5379)
9dc7ae7b52...6148386f0c

$ git log 9dc7ae7b5..6148386f0 --date=short --no-merges --format='%ad %ae %s'
2023-08-11 junyer Add support for `(?<name>expr)`.
2023-08-11 junyer Add a `WORKSPACE.bzlmod` file.
2023-08-11 junyer Migrate to Bzlmod.

Created with:
  roll-dep external/re2

Co-authored-by: GitHub Actions[bot] <>
2023-08-14 10:12:05 -04:00
Viktoria Maximova
7ddc65c722
Support 2 Intel extensions (#5357)
* SPV_INTEL_global_variable_fpga_decorations
Spec:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/INTEL/SPV_INTEL_global_variable_fpga_decorations.asciidoc

* SPV_INTEL_global_variable_host_access
Spec:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/INTEL/SPV_INTEL_global_variable_host_access.asciidoc

This change follows headers change:
https://github.com/KhronosGroup/SPIRV-Headers/pull/356
2023-08-11 11:53:24 -04:00
github-actions[bot]
43b8886490
roll deps (#5374)
* Roll external/googletest/ 89b25572d..7e33b6a1c (1 commit)

89b25572db...7e33b6a1c4

$ git log 89b25572d..7e33b6a1c --date=short --no-merges --format='%ad %ae %s'
2023-08-10 absl-team Specify SetUpTestSuite is required to be public.

Created with:
  roll-dep external/googletest

* Roll external/spirv-headers/ 124a9665e..45fc02a6c (2 commits)

124a9665e4...45fc02a6c6

$ git log 124a9665e..45fc02a6c --date=short --no-merges --format='%ad %ae %s'
2023-08-10 dneto Revert "Merge pull request #367 from dneto0/coop-matrix-enums-deps"
2023-07-29 konstantin.seurer Add SPV_AMDX_shader_enqueue

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-08-11 15:05:25 +00:00
Ryan Harrison
d6300ee92b
Fix -Wunreachable-code-loop-increment warning (#5373) 2023-08-10 19:41:20 +00:00
Nathan Gauër
8714d7fad2
enable StorageUniform16 (#5371)
Adds support for the StorageUniform16 capability.
2023-08-10 13:54:31 -04:00
David Neto
8e3da01b45
Move token version/cap/ext checks from parsing to validation (#5370)
A token is allowed to parse even when it's from the wrong
version, or is not enabled by a capability or extension.
This allows more modules to parse.

Version/capability/extension checking is fully moved to
validation instead.

Fixes: #5364
2023-08-10 12:19:12 -04:00
Nathan Gauër
4788ff1578
opt: add StorageUniformBufferBlock16 to trim pass (#5367)
Add StorageUniformBufferBlock16 to the list of enabled capabilities.
2023-08-10 14:21:35 +00:00
Nathan Gauër
ebda56e352
opt: add StoragePushConstant16 to trim pass (#5366)
* opt: add StoragePushConstant16 to trim pass

* fix comment
2023-08-10 12:34:46 +00:00
github-actions[bot]
3af4244ae1
Roll external/googletest/ 46db91ef6..89b25572d (1 commit) (#5365)
46db91ef6f...89b25572db

$ git log 46db91ef6..89b25572d --date=short --no-merges --format='%ad %ae %s'
2023-08-03 elliotgoodrich Remove public includes of `<iomanip>`

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-08-09 14:30:42 +00:00
Nathan Gauër
60e684fe71
opt: fix StorageInputOutput16 trimming. (#5359)
* opt: fix StorageInputOutput16 trimming.

While integrating this pass into DXC, I found a lot of missing
cases. This PR fixes a few issues centered around this capability
while laying out fondations for more fixes.

1. The grammar can define extensions in operand & opcode tables.
   - opcode can rely on common capabilities, but require a new
     extension.
   - opcode can also rely on a capability which requires an extension.
   Sometimes, the extension is listed twice, in the opcode, and
   capability. But this redundancy is not guaranteed.

2. minVersion check. The condition was flipped: we added the extension
   when the minVersion was less than current.
   Didn't noticed the issue as I only tests on the default env.

3. Capability/Extension instructions were not ignored.
   - `OpCapability Foo` will require the `Foo` capability.
   - it doesn't mean the module requires the `Foo` capability.
   Same for extensions.

This commit adds disabled tests, for fixes which are too large to
be brought into this already large PR.
2023-08-09 06:30:23 -04:00
github-actions[bot]
13892fe867
Roll external/googletest/ 6f6ab4212..e7fd109b5 (2 commits) (#5356)
* Roll external/googletest/ 6f6ab4212..46db91ef6 (9 commits)

6f6ab4212a...46db91ef6f

$ git log 6f6ab4212..46db91ef6 --date=short --no-merges --format='%ad %ae %s'
2023-08-07 dinor Make references to `#include`s consistent across docs
2023-08-02 robert.shade Avoid unreachable code warning
2023-08-02 dmauro Update documentation to refer to v1.14
2023-08-02 dmauro Bump version to v1.14 in preparation for release
2023-08-02 dmauro Remove the GTEST_HAS_DOWNCAST_ customization point.
2023-08-02 dmauro Add googletest-message-test to the Bazel tests It appears to have been unintentionally left out
2023-08-01 phoebeliang Make testing::Message support streamed AbslStringify values
2023-08-01 dmauro Update GoogleTest dependencies
2023-07-27 patryk gtest: Supress warning about set unused variable

Created with:
  roll-dep external/googletest

* Roll external/re2/ 960c86176..9dc7ae7b5 (1 commit)

960c861764...9dc7ae7b52

$ git log 960c86176..9dc7ae7b5 --date=short --no-merges --format='%ad %ae %s'
2023-08-04 junyer Minor Bazel cleanups.

Created with:
  roll-dep external/re2

---------

Co-authored-by: GitHub Actions[bot] <>
2023-08-08 16:26:59 +00:00
Sven van Haastregt
727f4346db
docs: update references to main branch (#5363)
The default branch was renamed from `master` to `main`.  Update some
stale references.

Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
2023-08-08 11:53:33 -04:00
Nathan Gauër
e553b884c7
Prepare release for v2023.4.rc2 (#5362) 2023-08-08 15:41:26 +02:00
Natalie Chouinard
4a9881fe9b
Use absolute path to depot_tools (#5360)
The autoroll workflow is currently failing due to being unable to find
some depot_tools executables. This is due to a limitation in Go os/exec
which effectively rejects all relative paths in PATH, and is exposed by
a recent update to depot_tools
(https://crrev.com/43083529de5802a83f53f1d53d7f5f9615999996).
2023-08-04 18:01:50 -04:00
David Neto
09b76c23ea
Update SPIRV-Headers; test some coop matrix enums (#5361)
Test:
  MatrixASignedComponentsKHR
  MatrixBSignedComponentsKHR
  MatrixCSignedComponentsKHR
  ResultSignedComponentsKHR
2023-08-04 14:50:54 -04:00
Nathan Gauër
1d14d84f29
opt: fix missing CreateTrimCapabilitiesPass definition (#5353) 2023-08-02 11:52:53 +02:00
Jeremy Gebben
47fff21d52
instrument: Reduce number of inst_bindless_stream_write_6 calls (#5327)
Multiple calls to this function were causing vkCreateGraphicsPipelines
to be 3x slower on some driver. I suspect this was because each
call had to be inlined separately which bloated the code and caused
more work in the driver's SPIRV -> native instruction compilation.
2023-08-01 13:49:12 -06:00
github-actions[bot]
02cd71d41c
roll deps (#5352)
* Roll external/googletest/ 40412d851..6f6ab4212 (2 commits)

40412d8512...6f6ab4212a

$ git log 40412d851..6f6ab4212 --date=short --no-merges --format='%ad %ae %s'
2023-07-27 julien.combattelli Use #if and not #ifdef to check filesystem support
2023-07-28 absl-team Adjust includes to use <> instead of "", consistent with quickstart pages.

Created with:
  roll-dep external/googletest

* Roll external/re2/ e66463312..960c86176 (10 commits)

e66463312e...960c861764

$ git log e66463312..960c86176 --date=short --no-merges --format='%ad %ae %s'
2023-07-28 junyer Don't try to support ARM64 on Windows yet.
2023-07-28 junyer Try again to make cross-compiling on Windows work.
2023-07-28 junyer `bazelbuild/setup-bazelisk` doesn't work for some reason.
2023-07-28 junyer Bazelisk isn't installed with Chocolatey, apparently.
2023-07-28 junyer Avoid the Chocolatey install of Bazel(isk) getting in the way.
2023-07-28 junyer Try using `bazelbuild/setup-bazelisk` everywhere.
2023-07-28 junyer Tell the Python build where Bazelisk is.
2023-07-28 junyer Explicitly invoke Bazelisk rather than Bazel.
2023-07-28 junyer Avoid `Conflicts: python3-lldb-x.y` between packages.
2023-07-28 junyer Prepare to release `google-re2` 1.1.

Created with:
  roll-dep external/re2

* Roll external/spirv-headers/ 51b106461..ae89923fa (1 commit)

51b1064617...ae89923fa7

$ git log 51b106461..ae89923fa --date=short --no-merges --format='%ad %ae %s'
2023-07-26 kevin.petit Add KHR suffix to Cooperative Matrix Operands

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-08-01 17:00:00 +00:00
Steven Perron
e68fe9be4e
Add SPV_EXT_shader_atomic_float_add to allow lists (#5348)
Fixes #5346
2023-07-27 16:04:50 -07:00
Nathan Gauër
c6d0b04802
build: fix missing files in BUILD.gn (#5351)
PR #5278 added 2 new files, but they were not added to the BUILD.gn file.
Same fix for Android.mk.

Fixes #5350
2023-07-27 11:21:23 -04:00
github-actions[bot]
b5f600c08c
Roll external/googletest/ 01e18376e..40412d851 (1 commit) (#5347)
01e18376ef...40412d8512

$ git log 01e18376e..40412d851 --date=short --no-merges --format='%ad %ae %s'
2023-07-19 antsosnin Fix typo in gmock_cook_book.md

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-07-26 11:07:23 -04:00
ncesario-lunarg
a0f1c87272
opt: Fix incorrect half float conversion (#5349)
Fixes image operands not decorated as relaxed from
getting marked relaxed and converted to half precision.

Fixes #5044.
2023-07-26 10:03:24 -04:00
Nathan Gauër
35d8b05de4
opt: add capability trimming pass (not default). (#5278)
This commit adds a new optimization which tries to remove unnecessary
capabilities from a SPIR-V module.

When compiling a SPIR-V module, you may have some dead-code using
features gated by a capability.
DCE will remove this code, but the capability will remain. This means
your module would still require some capability, even if it doesn't
require it. Calling this pass on your module would remove obsolete
capabilities.

This pass wouldn't be enabled by default, and would only be usable
from the API (at least for now).

NOTE: this commit only adds the basic skeleton/structure, and
doesn't mark as supported many capabilities it could support.
I'll add them as supported as I write tests.

Signed-off-by: Nathan Gauër <brioche@google.com>
2023-07-25 16:52:41 +02:00
github-actions[bot]
ec90d2872a
roll deps (#5345)
* Roll external/googletest/ 1ed6a8c67..01e18376e (1 commit)

1ed6a8c67a...01e18376ef

$ git log 1ed6a8c67..01e18376e --date=short --no-merges --format='%ad %ae %s'
2023-07-21 absl-team Make `AbslStringify` usage public in GoogleTest

Created with:
  roll-dep external/googletest

* Roll external/spirv-headers/ 14914db17..51b106461 (1 commit)

14914db17a...51b1064617

$ git log 14914db17..51b106461 --date=short --no-merges --format='%ad %ae %s'
2023-07-21 arvind.sudarsanam Recommit PR #348 - Add fp-max-error support (#363)

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-07-24 10:15:44 -04:00