Commit Graph

3905 Commits

Author SHA1 Message Date
Ben Clayton
d75b3cfbb7
Zero initialize local variables (#5501)
Certain versions of GCC warn about these variables being potentially uninitialized when used.
I believe this is a false-positive, but zero-init'ing them is a safe way to fix this.
2023-12-11 10:32:45 -05:00
Jeremy Gebben
6b4f0c9d0b
instrument: Fix handling of gl_InvocationID (#5493)
This is an int and needs to be cast to a unit for inclusion in the
stage specific data passed to the instrumentation check function.
2023-12-05 09:59:51 -07:00
Jeremy Gebben
b5d60826e9
printf: Remove stage specific info (#5495)
Remove stage specific debug info that is only needed by GPU-AV.
This allows debug printfs to be used in multi-stage shader modules.

Fixes #4892
2023-12-04 15:43:36 -07:00
dependabot[bot]
e7a52b70fe
build(deps): bump the github-actions group with 1 update (#5498)
Bumps the github-actions group with 1 update: [lukka/get-cmake](https://github.com/lukka/get-cmake).

- [Release notes](https://github.com/lukka/get-cmake/releases)
- [Commits](8be6cca406...4865386b66)

---
updated-dependencies:
- dependency-name: lukka/get-cmake
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 10:18:57 -05:00
ncesario-lunarg
2da75e152e
Do not crash when tryingto fold unsupported spec constant (#5496)
Remove assertion in FoldWithInstructionFolder; there are cases where
folding spec constants is unsupported.

Closes #5492.
2023-12-04 08:48:16 -05:00
David Neto
0d87845532
Remove uses of std::system(nullptr) (#5494)
Android's bionic library blows up on this, contrary to the standard.

If std::system can't find a shell, you already have bigger problems.
Don't check specially for that condition. (That's the justification
Android uses, and I'm not going to fight it.)
2023-11-30 17:05:25 -05:00
David Neto
f4a73dd7a0
std::system requires include of <cstdlib> (#5486) 2023-11-29 06:43:07 -08:00
Juan Ramos
ffe6450239
Add iOS build to CI (#5490)
* Add iOS build to CI

closes #5488

* ios: Make linker warnings into errors
2023-11-29 06:40:44 -08:00
Juan Ramos
afaf8fda2a
Fix iOS / Android CMake builds (#5482)
* cmake: Simplify usage of option

boolean OFF is the default value:
https://cmake.org/cmake/help/latest/command/option.html

* Fix iOS / Android CMake builds

closes #4437
2023-11-28 10:53:56 -05:00
dependabot[bot]
7d2a618bf9
build(deps): bump the github-actions group with 1 update (#5484)
Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).

- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](689fdc5193...407ffafae6)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-27 15:17:19 -05:00
github-actions[bot]
2a238ed24d
Roll external/spirv-headers/ 38f39dae5..cca08c63c (2 commits) (#5480)
* Roll external/re2/ 974f44c8d..7e0c1a9e2 (1 commit)

974f44c8d4...7e0c1a9e24

$ git log 974f44c8d..7e0c1a9e2 --date=short --no-merges --format='%ad %ae %s'
2023-11-16 junyer WebAssembly support for threads is... fraught at every level.

Created with:
  roll-dep external/re2

* Roll external/spirv-headers/ 38f39dae5..cca08c63c (2 commits)

38f39dae5b...cca08c63ce

$ git log 38f39dae5..cca08c63c --date=short --no-merges --format='%ad %ae %s'
2023-11-15 viktoria.maksimova Change token IDs for global_variable_fpga_decorations and global_variable_host_access (#389)
2023-11-15 johnkslang It seems d790ced752b5bfc06b6988baadef6eb2d16bdf96 add tabs. (#390)

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-11-18 05:06:35 +00:00
Sajjad Mirza
246e6d4c68
spirv-val: Loosen restriction on base type of DebugTypePointer and DebugTypeQualifier (#5479)
* Allow base type for DebugTypePointer and DebugTypeQualifier to be any DebugType
2023-11-17 10:22:46 -05:00
ChristianReinbold
0df791f97a
Fix nullptr argument in MarkInsertChain (#5465)
Fixes an access violation issue that sporadically occured for me when DXC uses spirv-opt to legalize generated spirv code.
2023-11-16 19:36:32 +00:00
Jesse Natalie
fb91e6f0eb
Flush stdout before changing mode back to text (#5477) 2023-11-15 17:02:00 +00:00
dependabot[bot]
560eea6d75
build(deps): bump the github-actions group with 1 update (#5478)
Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).

- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](74483a38d3...689fdc5193)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-15 11:28:57 -05:00
ncesario-lunarg
c8510a5e89
Fix python warning seen on Fedora 39 (#5474)
Python 3.12 on Fedora 39 is producing a deprecation warning about
datetime.utcfromtimestamp.

See
https://docs.python.org/3/library/datetime.html#datetime.datetime.utcfromtimestamp
for more details.
2023-11-15 10:36:36 -05:00
Spencer Fricke
8ee3ae5244
Add comment to --inst-debug-printf option (#5466) 2023-11-14 13:00:54 -05:00
Nathan Gauër
f43c464d53
opt: add PhysicalStorageBufferAddresses to trim (#5476)
The PhysicalStorageBufferAddresses capability can now be
trimmed. From the spec, it seems any instruction enabled by this
required some operand to have the PhysicalStorageBuffer storage class.
This means checking the storage class is enough.

Now, because the pass uses the grammar, we don't need to add any
new logic.

Signed-off-by: Nathan Gauër <brioche@google.com>
2023-11-14 12:49:04 -05:00
Nathan Gauër
c91e9d09b5
opt: add StorageImageReadWithoutFormat to cap trim (#5475)
The StorageImageReadWithoutFormat capability is only required when
an image type with the format set to Unknown is used with some specific
OpImageRead or OpImageSparseRead instructions.

This patch adds the required code to the capability trimming pass to
remove the StorageImageReadWithoutFormat capability when not required.

Signed-off-by: Nathan Gauër <brioche@google.com>
2023-11-14 09:29:31 -05:00
sethp
d88742fbd8
fix(build): git describe all tagged versions (#5447)
Previously, the version string would include `v2022.4-N-...` indicating N commits since the last annotated tag (`v2022.4`).

This change broadens the search from just annotated tags to all tags that match `v*`, including the latest version `v2023.4.rc2`.

See also: https://github.com/KhronosGroup/SPIRV-Tools/pull/5417#issuecomment-1764772856
2023-11-13 17:28:30 +01:00
Natalie Chouinard
6b1e609ef1
Support missing git in update_build_version.py (#5473)
Return False instead of raising an exception when running git commands
fail, which allows the script to fallback to alternative options.

Fixes #5469
2023-11-10 15:43:11 -08:00
github-actions[bot]
fbf047cc8b
Roll external/re2/ 24d460a9d..974f44c8d (4 commits) (#5470)
* Roll external/re2/ 24d460a9d..974f44c8d (4 commits)

24d460a9db...974f44c8d4

$ git log 24d460a9d..974f44c8d --date=short --no-merges --format='%ad %ae %s'
2023-11-07 junyer Bazel fails if the username is unknown.
2023-11-07 junyer A non-root user can't futz with `/usr/local/bin`.
2023-11-07 junyer Specify the UID, not the username.
2023-11-07 junyer Don't run as root within the container.

Created with:
  roll-dep external/re2

* Roll external/spirv-headers/ 88bc5e321..38f39dae5 (1 commit)

88bc5e321c...38f39dae5b

$ git log 88bc5e321..38f39dae5 --date=short --no-merges --format='%ad %ae %s'
2023-11-08 115671160+spencer-lunarg Fix SPV_KHR_workgroup_memory_explicit_layout implicit declare (#388)

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-11-09 20:35:08 +00:00
Steven Perron
9e7a1f2ddd
Fix array size calculation (#5463)
The function that get the number of elements in a composite variable
returns an incorrect values for the arrays. This is fixed, so that it
returns the correct number of elements for arrays where the number of
elements is represented as a 32-bit integer and is known at compile
time.

Fixes #4953
2023-11-02 13:29:57 -04:00
dependabot[bot]
eacc969b7d
build(deps): bump the github-actions group with 2 updates (#5457)
Bumps the github-actions group with 2 updates: [ossf/scorecard-action](https://github.com/ossf/scorecard-action) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `ossf/scorecard-action` from 2.3.0 to 2.3.1
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](483ef80eb9...0864cf1902)

Updates `github/codeql-action` from 2.22.3 to 2.22.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](0116bc2df5...74483a38d3)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-02 10:05:53 -04:00
github-actions[bot]
7210d247cd
Roll external/googletest/ 518387203..5b7fd63d6 (1 commit) (#5454)
* Roll external/googletest/ 518387203..b10fad38c (2 commits)

518387203b...b10fad38c4

$ git log 518387203..b10fad38c --date=short --no-merges --format='%ad %ae %s'
2023-10-26 absl-team Export gmock-spec-builders.
2023-10-25 theorbuehler Add missing include for raise(3)

Created with:
  roll-dep external/googletest

* Roll external/re2/ a0b3bc60c..24d460a9d (6 commits)

a0b3bc60c3...24d460a9db

$ git log a0b3bc60c..24d460a9d --date=short --no-merges --format='%ad %ae %s'
2023-11-01 vovkos Don't check `kind_ == Prog::kManyMatch` in `DFA::InlinedSearchLoop()`.
2023-11-01 junyer Replace a couple of `assert(3)` calls.
2023-10-31 junyer Prepare to tag release `2023-11-01`.
2023-10-27 junyer Bump some versions in `MODULE.bazel`.
2023-10-27 junyer Simplify `ci-cmake.yml` via `matrix`.
2023-10-27 junyer GitHub Actions now provides GCC 13.

Created with:
  roll-dep external/re2

---------

Co-authored-by: GitHub Actions[bot] <>
2023-11-02 14:02:47 +00:00
Steven Perron
a08f648c86
Remove references to __FILE__ (#5462)
* Remove references to __FILE__

Uses of `__FILE__` leak the directory structure of the machine used to
build because it adds a string to the string table with the full path
name. I've removed the uses that show up in the release builds.

Fixes #5416
2023-11-01 15:19:48 -07:00
Spencer Fricke
c87755bb9f
spirv-val: Add WorkgroupMemoryExplicitLayoutKHR check for Block (#5461) 2023-11-01 10:48:40 -04:00
github-actions[bot]
4f014aff9c
Roll external/re2/ 601d9ea3e..a0b3bc60c (1 commit) (#5453)
601d9ea3e6...a0b3bc60c3

$ git log 601d9ea3e..a0b3bc60c --date=short --no-merges --format='%ad %ae %s'
2023-10-25 junyer Add support for Python 3.12.

Created with:
  roll-dep external/re2

Co-authored-by: GitHub Actions[bot] <>
2023-10-26 06:40:22 +00:00
github-actions[bot]
33bac51443
Roll external/googletest/ 116b7e552..518387203 (1 commit) (#5450)
116b7e5528...518387203b

$ git log 116b7e552..518387203 --date=short --no-merges --format='%ad %ae %s'
2023-10-23 dinor StartsWith: Explicitly construct matcher-typed strings from matchee parameter

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-10-25 21:37:34 +00:00
github-actions[bot]
01e851be93
Roll external/re2/ 928a015e6..601d9ea3e (1 commit) (#5448)
928a015e6e...601d9ea3e6

$ git log 928a015e6..601d9ea3e --date=short --no-merges --format='%ad %ae %s'
2023-10-20 junyer Set `SOURCE_DATE_EPOCH` for reproducible builds.

Created with:
  roll-dep external/re2

Co-authored-by: GitHub Actions[bot] <>
2023-10-21 07:55:37 +00:00
github-actions[bot]
1928c76cd6
Roll external/googletest/ 2dd1c1319..829c19901 (1 commit) (#5444)
* Roll external/googletest/ 2dd1c1319..116b7e552 (3 commits)

2dd1c13195...116b7e5528

$ git log 2dd1c1319..116b7e552 --date=short --no-merges --format='%ad %ae %s'
2023-10-19 absl-team Improve error message for invalid parameterized test names.
2023-10-17 absl-team s/::testing::/testing::/ in test documentation outside of using statements to align with best practice
2023-10-17 dinor gtest-death-test-internal: Delete obsolete string constants

Created with:
  roll-dep external/googletest

* Roll external/re2/ ece4cecab..928a015e6 (1 commit)

ece4cecab5...928a015e6e

$ git log ece4cecab..928a015e6 --date=short --no-merges --format='%ad %ae %s'
2023-10-18 junyer Improve comments about `absl::optional<T>` support.

Created with:
  roll-dep external/re2

* Roll external/spirv-headers/ 4183b260f..88bc5e321 (1 commit)

4183b260f4...88bc5e321c

$ git log 4183b260f..88bc5e321 --date=short --no-merges --format='%ad %ae %s'
2023-10-18 bertrand.wlodarczyk Headers support for new FPGAMemoryAttributesINTEL (#384)

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-10-20 06:07:08 +00:00
Cassandra Beckley
73876defc8
opt: support 64-bit OpAccessChain index in FixStorageClass (#5446)
The SPIR-V specification allows any scalar integer type as an index. DXC
usually emits indexes as 32-bit integer types, however, in some cases it
is possible to make it emit 64-bit indexes instead (as in
https://github.com/microsoft/DirectXShaderCompiler/issues/5638).
2023-10-19 20:02:46 +00:00
dependabot[bot]
5084f58e5d
build(deps): bump the github-actions group with 4 updates (#5445)
Bumps the github-actions group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [ossf/scorecard-action](https://github.com/ossf/scorecard-action), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `actions/checkout` from 3.1.0 to 4.1.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.1.0...b4ffde65f46336ab88eb53be808477a3936bae11)

Updates `ossf/scorecard-action` from 2.1.2 to 2.3.0
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](e38b1902ae...483ef80eb9)

Updates `actions/upload-artifact` from 3.1.0 to 3.1.3
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](3cea537223...a8a3f3ad30)

Updates `github/codeql-action` from 2.2.4 to 2.22.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](17573ee1cc...0116bc2df5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 14:56:29 -04:00
Fumitoshi Ukai
a9c61d1376
update_build_version.py produce deterministic header. (#5426)
When building, .git directory may not exist in current
directory (e.g. chromium build), so it will produce
with current timestamp, which becomes non-deterministic build.

Check if repo_path is in git repository and use git info.
Also fix fallback logic when 'git describe' failed.
'git rev-parse HEAD' result was not used because it didn't
update success.
2023-10-18 18:49:51 +02:00
Steven Perron
5bb595091b
Add ComputeDerivativeGroup*NV capabilities to trim capabilities pass. (#5430)
* Add ComputeDerivativeGroup*NV capabilities to trim capabilities pass.

* Add SPV_NV_compute_shader_derivatives to allow lists

No tests needed for this. The code path is well tested. Just adding new
data.
2023-10-16 19:03:33 +00:00
github-actions[bot]
3985f0da0c
Roll external/spirv-headers/ e867c0663..4183b260f (1 commit) (#5439)
e867c06631...4183b260f4

$ git log e867c0663..4183b260f --date=short --no-merges --format='%ad %ae %s'
2023-10-11 89833130+rjodinchr ClspvReflection non-sematic: add NormalizedSamplerMaskPushConstant (#377)

Created with:
  roll-dep external/spirv-headers

Co-authored-by: GitHub Actions[bot] <>
2023-10-16 14:43:23 +00:00
github-actions[bot]
661f429b11
Roll external/re2/ b673de358..ece4cecab (2 commits) (#5437)
b673de3583...ece4cecab5

$ git log b673de358..ece4cecab --date=short --no-merges --format='%ad %ae %s'
2023-10-10 junyer Enable parse headers features. Enforcing that headers are self-contained.
2023-10-10 junyer Enable layering check features. Useful on Clang only.

Created with:
  roll-dep external/re2

Co-authored-by: GitHub Actions[bot] <>
2023-10-11 19:14:22 +00:00
Nathan Gauër
360d469b9e
Prepare release v2023.5.rc1 (#5423)
Prepare release v2023.5.rc1
2023-10-11 11:43:50 -04:00
github-actions[bot]
74005dfa67
Roll external/re2/ 35bb195de..b673de358 (2 commits) (#5433)
35bb195dec...b673de3583

$ git log 35bb195de..b673de358 --date=short --no-merges --format='%ad %ae %s'
2023-10-06 junyer Clean up some fuzzer-related cruft.
2023-10-05 allenwebb Use a variable for `PKG_CONFIG` for distros that cross-compile.

Created with:
  roll-dep external/re2

Co-authored-by: GitHub Actions[bot] <>
2023-10-10 20:30:48 +00:00
github-actions[bot]
933db564ca
roll deps (#5432)
* Roll external/googletest/ beb552fb4..2dd1c1319 (1 commit)

beb552fb47...2dd1c13195

$ git log beb552fb4..2dd1c1319 --date=short --no-merges --format='%ad %ae %s'
2023-10-05 absl-team Fix RE::Init for Android and NetBSD.

Created with:
  roll-dep external/googletest

* Roll external/re2/ 26f7d889e..35bb195de (1 commit)

26f7d889e1...35bb195dec

$ git log 26f7d889e..35bb195de --date=short --no-merges --format='%ad %ae %s'
2023-10-05 junyer Update Unicode data to 15.1.0.

Created with:
  roll-dep external/re2

---------

Co-authored-by: GitHub Actions[bot] <>
2023-10-06 10:01:14 +00:00
Joyce
ce995b319e
Hash pin workflows and config dependabot (#5412)
* Step Security: hash pin and dependabot

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

* add license to dependabot.yml

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

---------

Signed-off-by: Joyce Brum <joycebrum@google.com>
Signed-off-by: Joyce <joycebrum@google.com>
2023-10-05 13:18:28 -04:00
dependabot[bot]
df2f2a0313
build(deps): bump get-func-name from 2.0.0 to 2.0.2 in /tools/sva (#5418)
Bumps [get-func-name](https://github.com/chaijs/get-func-name) from 2.0.0 to 2.0.2.
- [Release notes](https://github.com/chaijs/get-func-name/releases)
- [Commits](https://github.com/chaijs/get-func-name/commits/v2.0.2)

---
updated-dependencies:
- dependency-name: get-func-name
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-05 13:16:31 -04:00
github-actions[bot]
866e60defc
Roll external/spirv-headers/ 79743b899..e867c0663 (2 commits) (#5427)
79743b899f...e867c06631

$ git log 79743b899..e867c0663 --date=short --no-merges --format='%ad %ae %s'
2023-10-04 95509728+pradyumans Add a Source Language for Slang (#383)
2023-10-04 95509728+pradyumans Register Slang Compiler for SPIR-V (#382)

Created with:
  roll-dep external/spirv-headers

Co-authored-by: GitHub Actions[bot] <>
2023-10-05 11:58:05 -04:00
Cassandra Beckley
023a8c79e9
opt: add Float64 capability to trim pass (#5428) 2023-10-05 11:12:09 +02:00
github-actions[bot]
4fab7435bf
Roll external/googletest/ e47544ad3..beb552fb4 (2 commits) (#5424)
e47544ad31...beb552fb47

$ git log e47544ad3..beb552fb4 --date=short --no-merges --format='%ad %ae %s'
2023-10-03 dinor gmock_cook_book: Document `DoAll`'s return type requirement
2023-09-29 dzimitriy cmake: Fix comments in cmake files

Created with:
  roll-dep external/googletest

Co-authored-by: GitHub Actions[bot] <>
2023-10-04 01:42:27 -07:00
Jeremy Gebben
847715d6c6
instrument: Ensure linking works even of nothing is changed (#5419)
spirv-link requires that memory models match between its input files.
Ensure this is the case by always returning SuccessWithChange and
always changing the memory model to match the instrumentation
code in Vulkan-ValidationLayers.

Also, disable the DCE pass in the --inst-* command line options, since
it will only work after linking.
2023-10-02 09:15:39 -06:00
Cassandra Beckley
dc9900967d
Update BUILD.gn to include header for new pass (#5421)
Fixes #5420
2023-10-02 09:39:31 -04:00
Cassandra Beckley
1bc0e6f59a
Add a new legalization pass to dedupe invocation interlock instructions (#5409)
Add a new legalization pass to dedupe invocation interlock instructions

DXC will be adding support for HLSL's rasterizer ordered views by using
the SPV_EXT_fragment_shader_interlock_extension. That extension
stipulates that if an entry point has an interlock ordering execution
mode, it must dynamically execute OpBeginInvocationInterlockEXT and
OpEndInvocationInterlockEXT, in that order, exactly once. This would be
difficult to determine in DXC's SPIR-V backend, so instead we will emit
these instructions potentially multiple times, and use this legalization
pass to ensure that the final SPIR-V follows the specification.

This PR uses data-flow analysis to determine where to place begin and
end instructions; in essence, determining whether a block contains or is
preceded by a begin instruction is similar to a specialized case of a
reaching definitions analysis, where we have only a single definition,
such as `bool has_begun = false`. For this simpler case, we can compute
the set of blocks using BFS to determine the reachability of the begin
instruction.

We need to do this for both begin and end instructions, so I have
generalized portions of the code to run both forward and backward over
the CFG for each respective case.
2023-09-27 19:54:10 -04:00
github-actions[bot]
48c97c1311
roll deps (#5415)
* Roll external/googletest/ adc514538..e47544ad3 (5 commits)

adc5145386...e47544ad31

$ git log adc514538..e47544ad3 --date=short --no-merges --format='%ad %ae %s'
2023-09-25 absl-team Resolve `-Wundef` triggering on `GTEST_CREATE_SHARED_LIBRARY` and `GTEST_LINKED_AS_SHARED_LIBRARY` with shared libraries in GoogleTest
2023-09-22 absl-team Update C++ feature detection in `gtest-port.h` to rely on feature test macros where possible.
2023-09-21 absl-team Use `absl::HasAbslStringify`, instead of the internal version.
2023-09-21 dinor googletest: Update absl to version with HasAbslStringify
2023-09-21 mitja Fix compile warnings in gmock-function-mocker.h

Created with:
  roll-dep external/googletest

* Roll external/re2/ 09de536bb..26f7d889e (1 commit)

09de536bb7...26f7d889e1

$ git log 09de536bb..26f7d889e --date=short --no-merges --format='%ad %ae %s'
2023-09-25 junyer Add Clang 17 to the build matrix.

Created with:
  roll-dep external/re2

* Roll external/spirv-headers/ fc7d24627..79743b899 (3 commits)

fc7d246276...79743b899f

$ git log fc7d24627..79743b899 --date=short --no-merges --format='%ad %ae %s'
2023-09-20 fwahlster Add LiteralFloat to operand_kinds (#380)
2023-09-20 40001162+alelenv Add headers for SPV_NV_displacement_micromap. (#374)
2023-09-20 fwahlster remove additional version "1.0" from SecondaryViewportRelativeNV (#379)

Created with:
  roll-dep external/spirv-headers

---------

Co-authored-by: GitHub Actions[bot] <>
2023-09-27 11:09:18 -04:00
Steven Perron
27673a0544
Remove reviewer from autoroller (#5414)
For some reason the `gh` command to create a pull request with a team as
the reviewer is not working. That command works when I run it locally. I
don't know what the problem is, but I will just stop adding a reviewer.
Then anyone can look at it.
2023-09-26 12:06:29 -04:00