teoxoy
9df68197a4
[spv-in] add support for specialization constants
2024-04-11 09:46:55 -07:00
Andreas Reich
82dead09e4
Bump wgpu-core/hal/types & naga versions to match latest released patch versions ( #5404 )
2024-04-09 00:33:43 -04:00
dependabot[bot]
73738afa82
build(deps): bump the patch-updates group with 35 updates ( #5507 )
...
Bumps the patch-updates group with 35 updates:
| Package | From | To |
| --- | --- | --- |
| [bitflags](https://github.com/bitflags/bitflags ) | `2.4.2` | `2.5.0` |
| [futures-lite](https://github.com/smol-rs/futures-lite ) | `2.2.0` | `2.3.0` |
| [getrandom](https://github.com/rust-random/getrandom ) | `0.2.12` | `0.2.13` |
| [glam](https://github.com/bitshifter/glam-rs ) | `0.25.0` | `0.27.0` |
| [heck](https://github.com/withoutboats/heck ) | `0.4.1` | `0.5.0` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.114` | `1.0.115` |
| [smallvec](https://github.com/servo/rust-smallvec ) | `1.13.1` | `1.13.2` |
| [tokio](https://github.com/tokio-rs/tokio ) | `1.36.0` | `1.37.0` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.2.5` | `2.2.6` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.52` | `2.0.58` |
| [ab_glyph](https://github.com/alexheretic/ab-glyph ) | `0.2.23` | `0.2.24` |
| [aho-corasick](https://github.com/BurntSushi/aho-corasick ) | `1.1.2` | `1.1.3` |
| [async-trait](https://github.com/dtolnay/async-trait ) | `0.1.77` | `0.1.79` |
| [autocfg](https://github.com/cuviper/autocfg ) | `1.1.0` | `1.2.0` |
| [backtrace](https://github.com/rust-lang/backtrace-rs ) | `0.3.69` | `0.3.71` |
| [bytes](https://github.com/tokio-rs/bytes ) | `1.5.0` | `1.6.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.0.90` | `1.0.91` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.2` | `4.5.4` |
| [clap_derive](https://github.com/clap-rs/clap ) | `4.5.0` | `4.5.4` |
| [downcast-rs](https://github.com/marcianx/downcast-rs ) | `1.2.0` | `1.2.1` |
| [fastrand](https://github.com/smol-rs/fastrand ) | `2.0.1` | `2.0.2` |
| [half](https://github.com/starkat99/half-rs ) | `2.4.0` | `2.4.1` |
| [itoa](https://github.com/dtolnay/itoa ) | `1.0.10` | `1.0.11` |
| [memchr](https://github.com/BurntSushi/memchr ) | `2.7.1` | `2.7.2` |
| [pin-project-lite](https://github.com/taiki-e/pin-project-lite ) | `0.2.13` | `0.2.14` |
| [polling](https://github.com/smol-rs/polling ) | `3.5.0` | `3.6.0` |
| [rayon](https://github.com/rayon-rs/rayon ) | `1.9.0` | `1.10.0` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.3` | `1.10.4` |
| [regex-syntax](https://github.com/rust-lang/regex ) | `0.8.2` | `0.8.3` |
| [rustix](https://github.com/bytecodealliance/rustix ) | `0.38.31` | `0.38.32` |
| [rustversion](https://github.com/dtolnay/rustversion ) | `1.0.14` | `1.0.15` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.7.0` | `1.8.0` |
| [widestring](https://github.com/starkat99/widestring-rs ) | `1.0.2` | `1.1.0` |
| [xml-rs](https://github.com/kornelski/xml-rs ) | `0.8.19` | `0.8.20` |
Updates `bitflags` from 2.4.2 to 2.5.0
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.4.2...2.5.0 )
Updates `futures-lite` from 2.2.0 to 2.3.0
- [Release notes](https://github.com/smol-rs/futures-lite/releases )
- [Changelog](https://github.com/smol-rs/futures-lite/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/futures-lite/compare/v2.2.0...v2.3.0 )
Updates `getrandom` from 0.2.12 to 0.2.13
- [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/getrandom/compare/v0.2.12...v0.2.13 )
Updates `heck` from 0.4.1 to 0.5.0
- [Changelog](https://github.com/withoutboats/heck/blob/master/CHANGELOG.md )
- [Commits](https://github.com/withoutboats/heck/commits )
Updates `serde_json` from 1.0.114 to 1.0.115
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.114...v1.0.115 )
Updates `smallvec` from 1.13.1 to 1.13.2
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.13.1...v1.13.2 )
Updates `tokio` from 1.36.0 to 1.37.0
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.36.0...tokio-1.37.0 )
Updates `indexmap` from 2.2.5 to 2.2.6
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.2.5...2.2.6 )
Updates `syn` from 2.0.52 to 2.0.58
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.52...2.0.58 )
Updates `ab_glyph` from 0.2.23 to 0.2.24
- [Release notes](https://github.com/alexheretic/ab-glyph/releases )
- [Commits](https://github.com/alexheretic/ab-glyph/compare/ab-glyph-0.2.23...ab-glyph-0.2.24 )
Updates `aho-corasick` from 1.1.2 to 1.1.3
- [Commits](https://github.com/BurntSushi/aho-corasick/compare/1.1.2...1.1.3 )
Updates `async-trait` from 0.1.77 to 0.1.79
- [Release notes](https://github.com/dtolnay/async-trait/releases )
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.77...0.1.79 )
Updates `autocfg` from 1.1.0 to 1.2.0
- [Commits](https://github.com/cuviper/autocfg/compare/1.1.0...1.2.0 )
Updates `backtrace` from 0.3.69 to 0.3.71
- [Release notes](https://github.com/rust-lang/backtrace-rs/releases )
- [Commits](https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.71 )
Updates `bytes` from 1.5.0 to 1.6.0
- [Release notes](https://github.com/tokio-rs/bytes/releases )
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.5.0...v1.6.0 )
Updates `cc` from 1.0.90 to 1.0.91
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.90...1.0.91 )
Updates `clap` from 4.5.2 to 4.5.4
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.2...v4.5.4 )
Updates `clap_derive` from 4.5.0 to 4.5.4
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.0...v4.5.4 )
Updates `downcast-rs` from 1.2.0 to 1.2.1
- [Changelog](https://github.com/marcianx/downcast-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/marcianx/downcast-rs/compare/v1.2.0...v1.2.1 )
Updates `fastrand` from 2.0.1 to 2.0.2
- [Release notes](https://github.com/smol-rs/fastrand/releases )
- [Changelog](https://github.com/smol-rs/fastrand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/fastrand/compare/v2.0.1...v2.0.2 )
Updates `half` from 2.4.0 to 2.4.1
- [Release notes](https://github.com/starkat99/half-rs/releases )
- [Changelog](https://github.com/starkat99/half-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/starkat99/half-rs/compare/v2.4.0...v2.4.1 )
Updates `itoa` from 1.0.10 to 1.0.11
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.10...1.0.11 )
Updates `memchr` from 2.7.1 to 2.7.2
- [Commits](https://github.com/BurntSushi/memchr/compare/2.7.1...2.7.2 )
Updates `pin-project-lite` from 0.2.13 to 0.2.14
- [Release notes](https://github.com/taiki-e/pin-project-lite/releases )
- [Changelog](https://github.com/taiki-e/pin-project-lite/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/pin-project-lite/compare/v0.2.13...v0.2.14 )
Updates `polling` from 3.5.0 to 3.6.0
- [Release notes](https://github.com/smol-rs/polling/releases )
- [Changelog](https://github.com/smol-rs/polling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/polling/compare/v3.5.0...v3.6.0 )
Updates `rayon` from 1.9.0 to 1.10.0
- [Changelog](https://github.com/rayon-rs/rayon/blob/main/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.9.0...rayon-core-v1.10.0 )
Updates `regex` from 1.10.3 to 1.10.4
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.10.3...1.10.4 )
Updates `regex-syntax` from 0.8.2 to 0.8.3
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/regex-syntax-0.8.2...regex-syntax-0.8.3 )
Updates `rustix` from 0.38.31 to 0.38.32
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.31...v0.38.32 )
Updates `rustversion` from 1.0.14 to 1.0.15
- [Release notes](https://github.com/dtolnay/rustversion/releases )
- [Commits](https://github.com/dtolnay/rustversion/compare/1.0.14...1.0.15 )
Updates `uuid` from 1.7.0 to 1.8.0
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/1.7.0...1.8.0 )
Updates `widestring` from 1.0.2 to 1.1.0
- [Release notes](https://github.com/starkat99/widestring-rs/releases )
- [Changelog](https://github.com/starkat99/widestring-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/starkat99/widestring-rs/compare/v1.0.2...v1.1.0 )
Updates `xml-rs` from 0.8.19 to 0.8.20
- [Changelog](https://github.com/kornelski/xml-rs/blob/main/Changelog.md )
- [Commits](https://github.com/kornelski/xml-rs/compare/0.8.19...0.8.20 )
---
updated-dependencies:
- dependency-name: bitflags
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: futures-lite
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: getrandom
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: heck
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: smallvec
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: indexmap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: syn
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: ab_glyph
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: aho-corasick
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: async-trait
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: autocfg
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: backtrace
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: bytes
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: cc
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: clap
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: clap_derive
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: downcast-rs
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: fastrand
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: half
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: itoa
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: memchr
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: pin-project-lite
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: polling
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: rayon
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: regex
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: regex-syntax
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: rustix
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: rustversion
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: uuid
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: widestring
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: xml-rs
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2024-04-09 00:20:27 -04:00
wicast
17ef6cac90
fix(spv-out): OpSourceContinued for large source (gfx-rs#5390)
2024-04-08 11:27:18 +02:00
vero
911baf3e8c
Add DirectX ShaderModel 6.1-6.7 detection ( #5498 )
2024-04-06 11:35:59 +02:00
vero
1c48a23cff
Add Metal 3.0 and 3.1 detection ( #5497 )
2024-04-05 19:22:33 +02:00
Jim Blandy
2ad95b2774
[naga wgsl-in] Allow override expressions as local var initializers.
...
Allow `LocalVariable::init` to be an override expression.
Note that this is unrelated to WGSL compliance. The WGSL front end
already accepts any sort of expression as an initializer for
`LocalVariable`s, but initialization by an override expression was
handled in the same way as initialization by a runtime expression, via
an explicit `Store` statement.
This commit merely lets us skip the `Store` when the initializer is an
override expression, producing slightly cleaner output in some cases.
2024-04-05 18:07:41 +02:00
teoxoy
7df0aa6364
move the burden of evaluating override-expressions to users of naga's API
2024-04-05 18:07:41 +02:00
Jim Blandy
ba19d8df34
[naga] Adjust RayQuery statements in override processing.
2024-04-05 18:07:41 +02:00
Jim Blandy
906ed128de
[naga] Spell out members in adjust_expr.
2024-04-05 18:07:41 +02:00
Jim Blandy
8a2bc07f11
[naga] Handle comparison operands in pipeline constant evaluation.
...
Properly adjust `AtomicFunction::Exchange::compare` after pipeline
constant evaluation.
2024-04-05 18:07:41 +02:00
Jim Blandy
a7d8ee999d
[naga] Add missing newline to test input file.
2024-04-05 18:07:41 +02:00
Jim Blandy
8107f80b7f
[naga] Tweak comments in ConstantEvaluator::try_eval_and_append
.
...
I found I needed a little bit more detail here.
2024-04-05 18:07:41 +02:00
Jim Blandy
bb15286df2
[naga] Let filter_emits_with_block
operate on a &mut Block
.
...
This removes some clones and collects, simplifies call sites, and
isn't any more complicated to implement.
2024-04-05 18:07:41 +02:00
Jim Blandy
aaf3b17623
[naga] Hoist ConstantEvaluator
construction in process_function
.
...
There's no need to build a fresh `ConstantEvaluator` for every
expression; just build it once and reuse it.
2024-04-05 18:07:41 +02:00
Jim Blandy
f464598646
[naga] Simplify uses of replace
in back::pipeline_constants
.
2024-04-05 18:07:41 +02:00
Jim Blandy
58d1e1f745
[naga] Doc tweaks for back::pipeline_constants
.
2024-04-05 18:07:41 +02:00
teoxoy
ca252b9e74
allow private variables to have an override-expression initializer
2024-04-05 18:07:41 +02:00
teoxoy
3abdfde0ba
evaluate override-expressions in functions
2024-04-05 18:07:41 +02:00
teoxoy
fd5c4db606
refactor try_eval_and_append
body
2024-04-05 18:07:41 +02:00
Jim Blandy
dd315ee39a
[naga] Add some documentation to process_overrides and subroutines.
2024-04-05 18:07:41 +02:00
teoxoy
4ede83929c
[valid] make sure overrides are not present after evaluation
2024-04-05 18:07:41 +02:00
teoxoy
f1706b994b
[valid] error on non fully evaluated const-expressions
2024-04-05 18:07:41 +02:00
teoxoy
e9eb703941
rename const_expressions
to global_expressions
2024-04-05 18:07:41 +02:00
teoxoy
fa5406fbb9
rename ExpressionConstnessTracker
to ExpressionKindTracker
2024-04-05 18:07:41 +02:00
teoxoy
d6ebd88f42
implement override-expression evaluation for initializers of override declarations
2024-04-05 18:07:41 +02:00
teoxoy
ff332afdef
[const-eval] fix evaluation of bool constuctors
2024-04-05 18:07:41 +02:00
teoxoy
a946a6f0ad
[const-eval] refactor logic around try_eval_and_append
2024-04-05 18:07:41 +02:00
teoxoy
d7cfe16b79
validate that override ids are unique
2024-04-05 18:07:41 +02:00
teoxoy
2929ec333c
[spv/msl/hlsl-out] support pipeline constant value replacements
2024-04-05 18:07:41 +02:00
teoxoy
7ce422c57a
remove naga's clone feature
2024-04-05 18:07:41 +02:00
Teodor Tanasoaia
f949ea69c4
[wgsl-in] add support for override declarations ( #4793 )
...
Co-authored-by: Jim Blandy <jimb@red-bean.com>
2024-04-05 18:07:41 +02:00
Jim Blandy
b3dfc40c9d
[naga] Delete Constant::override
and Override
.
2024-04-05 18:07:41 +02:00
teoxoy
3bda381812
add pipeline constants plumbing
2024-04-05 18:07:41 +02:00
Erich Gubler
fb305b85f6
docs: add warning about stack size for WGSL compilation
2024-04-03 15:54:43 -04:00
Erich Gubler
b21a3265de
fix(wgsl-in)!: limit brace recursion
2024-04-03 15:54:43 -04:00
Erich Gubler
d4b673c88a
refactor(wgsl-in): remove unnecessary return Ok(())
2024-04-03 15:54:43 -04:00
Dzmitry Malyshau
3a467ad93d
spv-out: Support arrayLength of a dynamically indexed bindings array
2024-04-02 19:22:34 +02:00
Dzmitry Malyshau
bfe0b90740
spv-out: implement OpArrayLength on array buffer bindings
2024-04-02 19:22:34 +02:00
Christian Legnitto
1fd47b54ab
Expose all items in naga::back
.
...
This helps out-of-tree backends.
Fixes https://github.com/gfx-rs/wgpu/issues/5398 .
2024-04-02 17:14:13 +02:00
Vecvec
1ead28701d
Fix unused acceleration structures causing invalid SPIR-V ( #5463 )
2024-04-02 11:06:28 +00:00
Thomas Bork
dc7cbe6e8b
docs: Fix incorrect git URL for naga-cli installation ( #5457 )
2024-04-02 12:54:27 +02:00
Christian Legnitto
0f4839c466
Include the glsl global name in entrypoint arguments. ( #5418 )
2024-03-28 18:19:51 +01:00
Jim Blandy
c613fbbeed
[naga] Add some documentation for the uniformity analysis.
...
This is Naga's classic, over-conservative, non-standard-compliant
uniformity analysis. But it's still good to know what the heck it's
doing.
2024-03-28 17:36:58 +01:00
dependabot[bot]
e04a9f4c6f
build(deps): bump the patch-updates group with 29 updates ( #5376 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 13:00:43 -04:00
stefnotch
6a5418b93f
Fix 5385 by updating the documentation ( #5386 )
...
* Fix 5385 by updating the documentation
* Update changelog
2024-03-13 21:30:50 -04:00
vero
4e6f873da5
Add shader I64 and U64 support ( #5154 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-03-12 12:34:06 +01:00
Teodor Tanasoaia
3107f5e148
[mtl-out] Add "assert" to reserved words
2024-03-12 10:52:37 +01:00
Jim Blandy
14dbf8c60e
[naga] Document the absence of "phi" expressions.
2024-03-07 12:46:25 +01:00
Jim Blandy
8ee3c414f0
[naga] Document return types of image query operations.
2024-03-07 12:45:22 +01:00