Erich Gubler
0a5ed0a1dc
test(ci): include naga/xtask
in cargo fmt
check ( #6367 )
2024-10-07 08:49:10 +02:00
dependabot[bot]
f658875e9f
build(deps): bump the patch-updates group with 24 updates ( #6374 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-06 23:41:57 -04:00
Jim Blandy
ee0d1703e5
Roll back once_cell to 1.19.0.
...
Roll back `wgpu`'s dependencies on `once_cell` from 1.20.1 to 1.19.0.
Version 1.20.1 of `once_cell` added a more complex conditional
dependency on `portable-atomic`, which causes `cargo metadata` to
incorrectly list `portable-atomic` as a dependency even though the
given `once_cell` features are not enabled.
The Firefox source tree uses `cargo vet` to enforce supply-chain
auditing. Since `cargo vet` depends on `cargo metadata` to tell it
what crates are going to be included in the tree, the extraneous
dependency above adds `portable-atomic` to the set of sources we must
audit. Since `portable-atomic` is roughly 50kloc, we would like to
avoid this.
Nothing in `wgpu` actually needs `once_cell` 1.20; it was upgraded by
Dependabot. So the simplest workaround for the moment is to roll back
the version.
2024-10-04 13:21:59 -04:00
Jim Blandy
e432980a73
[naga spv-out] Don't emit unreachable blocks that jump into loops.
...
When generating SPIR-V, avoid generating unreachable blocks following
statements like `break`, `return`, and so on that cause non-local
exits. These unreachable blocks can cause SPIR-V validation to fail.
Fixes #6220 .
2024-10-03 21:07:18 -07:00
Jim Blandy
04182c24ec
[naga spv-out] Make write_block
and its types private.
...
Make `naga:🔙 :spv::BlockContext::write_block` private to
`naga:🔙 :spv::block`. Introduce a new `pub(super)` function,
`write_function_body`, for `Writer::write_function` to call.
Make `BlockExit` private to `naga:🔙 :spv::block`.
Move `LoopContext` from `naga:🔙 :spv` into
`naga:🔙 :spv::block`, and make it private.
2024-10-03 21:07:18 -07:00
Imbris
c5a4b4ecc3
Fix unaligned slice::from_raw_parts in gles push contant handling. ( #6341 )
2024-10-03 20:40:43 +00:00
Jim Blandy
d3e09dd63a
[naga spv-out] Consolidate explanation of global wrapping.
...
Consolidate the explanation of why and how we wrap Naga global
variables in structs to satisfy Vulkan's requirements, and include it
in the documentation for `back::spv::GlobalVariable`.
Clarify `GlobalVariable`'s members documentation.
2024-10-03 10:13:08 -07:00
Erich Gubler
6e528aaf24
style: split (most) string literals over 100-column line width limit
2024-10-03 10:57:28 -04:00
Erich Gubler
9f275f7655
style: remove comments from MathFunction
type res. that stop rustfmt
2024-10-03 10:57:28 -04:00
Erich Gubler
25b2b6afa1
style: newline b/w Span::{UNDEFINED, new}
2024-10-03 10:57:28 -04:00
Erich Gubler
78928654a2
style(wgsl-in): unblock rustfmt
in Error::as_parse_error
2024-10-03 10:57:28 -04:00
Erich Gubler
3d584f99ed
refactor(spv-out): linkify docs. ref. to write_bounds_check
2024-10-02 22:35:09 -04:00
Jim Blandy
215f0fc887
[naga spv-out] Internal doc fixes for back::spv::index
.
...
In `naga:🔙 :spv::index`, clarify documentation for:
- `BoundsCheckResult`
- `write_index_comparison`
- `write_bounds_check`
2024-10-02 22:35:09 -04:00
sagudev
2d82054ae4
[wgsl-in, spv-out] Allow dynamic indexing of arrays by value.
...
Bring https://github.com/gfx-rs/naga/pull/723 back from the dead.
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
Co-authored-by: Jim Blandy <jimb@red-bean.com>
2024-10-02 18:07:02 -07:00
teoxoy
71b4f361e2
chore(core): more detail on TODO
for push constants
2024-10-02 04:41:34 -04:00
teoxoy
38a13b94f0
refactor: make Snatchable::snatch
take _guard
by &mut _
2024-10-02 04:41:34 -04:00
teoxoy
7ac533a312
add missing indirect buffer offset validation
2024-10-02 04:41:34 -04:00
Erich Gubler
0903ba6d47
refactor(core): delete unused CreateDeviceError
2024-10-02 04:41:34 -04:00
teoxoy
76af20348d
remove old comment
2024-10-02 04:41:34 -04:00
teoxoy
025787bbad
remove duplicate validation
2024-10-02 04:41:34 -04:00
Elie Michel
c9202ee54a
Remove redundant let binding ( #6356 )
2024-10-02 10:21:30 +02:00
dependabot[bot]
6db097694c
build(deps): bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.8 ( #6342 )
...
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action ) from 4.6.4 to 4.6.8.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases )
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.4...v4.6.8 )
---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-30 08:28:48 +02:00
dependabot[bot]
65cb4e752f
build(deps): bump the patch-updates group with 16 updates ( #6343 )
...
Bumps the patch-updates group with 16 updates:
| Package | From | To |
| --- | --- | --- |
| [libc](https://github.com/rust-lang/libc ) | `0.2.158` | `0.2.159` |
| [once_cell](https://github.com/matklad/once_cell ) | `1.19.0` | `1.20.1` |
| [png](https://github.com/image-rs/image-png ) | `0.17.13` | `0.17.14` |
| [tracy-client](https://github.com/nagisa/rust_tracy_client ) | `0.17.3` | `0.17.4` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.77` | `2.0.79` |
| [async-trait](https://github.com/dtolnay/async-trait ) | `0.1.82` | `0.1.83` |
| [autocfg](https://github.com/cuviper/autocfg ) | `1.3.0` | `1.4.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.21` | `1.1.22` |
| [const_panic](https://github.com/rodrimati1992/const_panic ) | `0.2.9` | `0.2.10` |
| [fdeflate](https://github.com/image-rs/fdeflate ) | `0.3.4` | `0.3.5` |
| [flate2](https://github.com/rust-lang/flate2-rs ) | `1.0.33` | `1.0.34` |
| [pkg-config](https://github.com/rust-lang/pkg-config-rs ) | `0.3.30` | `0.3.31` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.6` | `1.11.0` |
| [toml_edit](https://github.com/toml-rs/toml ) | `0.22.21` | `0.22.22` |
| [tracy-client-sys](https://github.com/nagisa/rust_tracy_client ) | `0.24.0` | `0.24.1` |
| [winnow](https://github.com/winnow-rs/winnow ) | `0.6.18` | `0.6.20` |
Updates `libc` from 0.2.158 to 0.2.159
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.159/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.158...0.2.159 )
Updates `once_cell` from 1.19.0 to 1.20.1
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.19.0...v1.20.1 )
Updates `png` from 0.17.13 to 0.17.14
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md )
- [Commits](https://github.com/image-rs/image-png/compare/v0.17.13...v0.17.14 )
Updates `tracy-client` from 0.17.3 to 0.17.4
- [Commits](https://github.com/nagisa/rust_tracy_client/compare/tracy-client-v0.17.3...tracy-client-v0.17.4 )
Updates `syn` from 2.0.77 to 2.0.79
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.77...2.0.79 )
Updates `async-trait` from 0.1.82 to 0.1.83
- [Release notes](https://github.com/dtolnay/async-trait/releases )
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.82...0.1.83 )
Updates `autocfg` from 1.3.0 to 1.4.0
- [Commits](https://github.com/cuviper/autocfg/compare/1.3.0...1.4.0 )
Updates `cc` from 1.1.21 to 1.1.22
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.21...cc-v1.1.22 )
Updates `const_panic` from 0.2.9 to 0.2.10
- [Release notes](https://github.com/rodrimati1992/const_panic/releases )
- [Changelog](https://github.com/rodrimati1992/const_panic/blob/main/Changelog.md )
- [Commits](https://github.com/rodrimati1992/const_panic/commits/0.2.10 )
Updates `fdeflate` from 0.3.4 to 0.3.5
- [Changelog](https://github.com/image-rs/fdeflate/blob/main/CHANGES.md )
- [Commits](https://github.com/image-rs/fdeflate/commits )
Updates `flate2` from 1.0.33 to 1.0.34
- [Release notes](https://github.com/rust-lang/flate2-rs/releases )
- [Changelog](https://github.com/rust-lang/flate2-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.33...1.0.34 )
Updates `pkg-config` from 0.3.30 to 0.3.31
- [Changelog](https://github.com/rust-lang/pkg-config-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/pkg-config-rs/compare/0.3.30...0.3.31 )
Updates `regex` from 1.10.6 to 1.11.0
- [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.6...1.11.0 )
Updates `toml_edit` from 0.22.21 to 0.22.22
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.21...v0.22.22 )
Updates `tracy-client-sys` from 0.24.0 to 0.24.1
- [Commits](https://github.com/nagisa/rust_tracy_client/compare/tracy-client-sys-v0.24.0...tracy-client-sys-v0.24.1 )
Updates `winnow` from 0.6.18 to 0.6.20
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md )
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.6.18...v0.6.20 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: png
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: tracy-client
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: 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: cc
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: const_panic
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: fdeflate
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: flate2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: pkg-config
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: regex
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: toml_edit
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: tracy-client-sys
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: winnow
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>
2024-09-30 08:28:08 +02:00
Samson
ec89e06a92
Update CHANGELOG with @sagudev contributions to naga ( #6339 )
2024-09-29 15:13:49 -04:00
Jim Blandy
2021e7f29f
[naga spv-out] Document and refactor write_runtime_array_length
.
...
Document and refactor
`naga:🔙 :spv::BlockContext::write_runtime_array_length`.
Don't try to handle finding the length of a particular element of a
`binding_array<array<T>>`. The SPIR-V backend doesn't wrap that type
correctly anyway; #6333 changes the validator to forbid such types.
Instead, assume that the elements of a `binding_array<T>` are always
structs whose final members may be a runtime-sized array.
Pull out consistency checks after the analysis of the array
expression, so that we always carry out all the checks regardless of
what path we took to produce the information.
2024-09-27 17:02:34 -07:00
Jim Blandy
259592b926
[naga spv-out] Update Vulkan spec section number, and provide link.
2024-09-27 17:02:34 -07:00
Jim Blandy
04032905ef
[naga spv-out] Replace match
with equivalent !=
.
2024-09-27 17:02:34 -07:00
Jim Blandy
98c4d6f42e
[naga] Permit only structs as binding array elements. ( #6333 )
...
Require `T` to be a struct in `binding_array<T, ...>`; do not permit
arrays.
In #5428 , the validator was changed to accept binding array types that
the SPIR-V backend couldn't properly emit. Specifically, the validator
was changed to accept `binding_array<array<T>>`, but the SPIR-V
backend wasn't changed to wrap the binding array elements in a SPIR-V
struct type, as Vulkan requires. So the type would be accepted by the
validator, and then rejected by the backend.
2024-09-27 17:00:21 -07:00
Samson
866be693d6
[naga] Handle phony statements properly by treating them as named expressions ( #6328 )
...
* [naga wgsl-in] phony assignments add named expressions
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* [naga wgsl-out] write out _naga_phony as phony
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Add test
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* use statement span
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* every phony has same name
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-09-27 14:52:53 -07:00
Erich Gubler
765c20235e
refactor: use include_wgsl!(…)
more ( #6326 )
...
This change uses `include_wgsl!(…)` in usages where an
`include_str!("….wgsl")` was used to construct
a `ShaderModuleDescriptor`'s `source, but the `label` was set to `None`.
This should (1) showcase a nice idiomatic convenience we offer in our
examples better, (2) make code more concise, and (3) get some
automatically generated labels in diagnostics where it seems it won't
hurt.
2024-09-26 08:47:57 +02:00
Jim Blandy
e7f891bf2b
[naga] Remove redundant handle ordering check from validator. ( #6321 )
...
`Validator::validate_module_handles` already ensures that types refer
only to other types appearing earlier in the arena than themselves, so
this check in `Validator::validate_type` is redundant.
2024-09-25 17:10:27 -04:00
Dzmitry Malyshau
7074380945
metal: fix query set result copies ( #6322 )
...
The NSRange expects length, not end element. See 9bbe74b1d3/src/lib.rs (L51)
2024-09-25 09:22:38 +02:00
Hamir Mahal
8e787eb70a
style: simplify string formatting for readability ( #6316 )
2024-09-24 23:40:53 -04:00
Erich Gubler
fc2fd95a98
fix: handle Queue::submit
non-fatally ( #6318 )
...
* Change the signature of `wgpu_core::Global::queue_submit` to return
a `(SubmissionIndex, …)` in addition to its current error type.
* Change the control flow of errors in `Queue::submit` to break to the
end of a block. This is similar to what we already do in many APIs in
`wgpu_core`.
* Hoist the scope of the local `submit_index` binding so it can be used
at the point where we need to convert current error paths to also
return the submission index.
Later, we will likely want to avoid actually retrieving a new submission
index so we can minimize the critical section of code. We'll need to
figure out a strategy for returning a valid (but not necessarily unique)
index in the case of failures that prevent successful submission.
2024-09-25 02:52:25 +00:00
Connor Fitzgerald
859dd8817e
Only Initialize a Single Backend in Tests ( #6315 )
...
* Only Initialize a Single Backend in Tests
* Update tests/tests/create_surface_error.rs
2024-09-23 14:21:11 +00:00
Connor Fitzgerald
23fa0ae6d0
Allow wgpu Team to Update Naga Cargo.toml ( #6314 )
...
* Allow wgpu Team to Update Naga Cargo.toml
* Update deno team to crowlKats
2024-09-23 09:47:58 -04:00
dependabot[bot]
e7c139b1d4
build(deps): bump the patch-updates group with 9 updates ( #6312 )
...
Bumps the patch-updates group with 9 updates:
| Package | From | To |
| --- | --- | --- |
| [thiserror](https://github.com/dtolnay/thiserror ) | `1.0.63` | `1.0.64` |
| [unicode-xid](https://github.com/unicode-rs/unicode-xid ) | `0.2.5` | `0.2.6` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.17` | `4.5.18` |
| [clap_builder](https://github.com/clap-rs/clap ) | `4.5.17` | `4.5.18` |
| [clap_derive](https://github.com/clap-rs/clap ) | `4.5.13` | `4.5.18` |
| [quick-xml](https://github.com/tafia/quick-xml ) | `0.36.1` | `0.36.2` |
| [thiserror-impl](https://github.com/dtolnay/thiserror ) | `1.0.63` | `1.0.64` |
| [unicode-id-start](https://github.com/Boshen/unicode-id-start ) | `1.2.0` | `1.3.0` |
| [unicode-width](https://github.com/unicode-rs/unicode-width ) | `0.1.13` | `0.1.14` |
Updates `thiserror` from 1.0.63 to 1.0.64
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.63...1.0.64 )
Updates `unicode-xid` from 0.2.5 to 0.2.6
- [Changelog](https://github.com/unicode-rs/unicode-xid/blob/master/CHANGELOG.md )
- [Commits](https://github.com/unicode-rs/unicode-xid/compare/v0.2.5...v0.2.6 )
Updates `clap` from 4.5.17 to 4.5.18
- [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/clap_complete-v4.5.17...clap_complete-v4.5.18 )
Updates `clap_builder` from 4.5.17 to 4.5.18
- [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.17...v4.5.18 )
Updates `clap_derive` from 4.5.13 to 4.5.18
- [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.13...v4.5.18 )
Updates `quick-xml` from 0.36.1 to 0.36.2
- [Release notes](https://github.com/tafia/quick-xml/releases )
- [Changelog](https://github.com/tafia/quick-xml/blob/master/Changelog.md )
- [Commits](https://github.com/tafia/quick-xml/compare/v0.36.1...v0.36.2 )
Updates `thiserror-impl` from 1.0.63 to 1.0.64
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.63...1.0.64 )
Updates `unicode-id-start` from 1.2.0 to 1.3.0
- [Commits](https://github.com/Boshen/unicode-id-start/commits )
Updates `unicode-width` from 0.1.13 to 0.1.14
- [Commits](https://github.com/unicode-rs/unicode-width/compare/v0.1.13...v0.1.14 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: unicode-xid
dependency-type: direct:production
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_builder
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: quick-xml
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: thiserror-impl
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: unicode-id-start
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: unicode-width
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>
2024-09-22 23:24:12 -04:00
dependabot[bot]
3bdc867a46
build(deps): bump crate-ci/typos from 1.24.5 to 1.24.6 ( #6311 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-22 23:21:50 -04:00
Jasper St. Pierre
390a4169fb
naga: Don't consider per-polygon inputs to be subgroup uniform
...
Implementations can absolutely pack multiple triangles per subgroup.
Fixes #6270 .
2024-09-22 03:57:41 -04:00
Connor Fitzgerald
39cfeefd8b
Update CI Dependencies ( #6306 )
2024-09-22 04:35:26 +00:00
Erich Gubler
2f81ae156c
style: use concat!(…)
in DOWNLEVEL_*_MESSAGE
( #6305 )
2024-09-22 00:27:32 +00:00
Erich Gubler
841e7c8857
fix: only log Device::maintain
waits if they happen ( #6303 )
2024-09-21 18:47:35 +02:00
Erich Gubler
9977edc51f
chore!: remove #[no_mangle] … extern "C" …
from fn
s in bundle_ffi
( #6272 )
2024-09-21 16:33:13 +00:00
Hamir Mahal
14abdd4754
fix: usage of a deprecated Node.js version
in CI ( #6301 )
2024-09-20 19:43:10 +00:00
Ben Reeves
9f85f8aeea
fix(wgpu): Raise validation error instead of panicking in get_bind_group_layout. ( #6280 )
2024-09-20 09:32:01 +02:00
Erich Gubler
b54fb72d4a
chore: un-regress unused_qualifications
lint in naga::front::spv
( #6297 )
...
Regressed in #5824 .
2024-09-20 09:29:05 +02:00
Vecvec
dfc384a7fd
Stop Vulkan generating validation error in build acceleration structures ( #6282 )
2024-09-18 23:02:25 +02:00
Erich Gubler
0d339fc9f1
chore: suppress unused_qualifications
for wgpu_core::id
const. assertions ( #6295 )
2024-09-18 21:48:04 +02:00
Erich Gubler
f942ceef9b
docs(msl-out): note that Dawn also avoids loop UB like we do
2024-09-18 09:12:58 -07:00
Jim Blandy
3fda684eb9
[naga msl-out] Defeat the MSL compiler's infinite loop analysis.
...
See the comments in the code for details.
This patch emits the definition of the macro only when the first loop
is encountered. This does make that first loop's code look a bit odd:
it would be more natural to define the macro at the top of the
file. (See the modified files in `naga/tests/out/msl`.)
Rejected alternatives:
- We could emit the macro definition unconditionally at the top of the
file. But this changes every MSL snapshot output file, whereas only
eight of them actually contain loops.
- We could have the validator flag modules that contain loops. But the
changes end up being not small, and spread across the validator, so
this seems disproportionate. If we had other consumers of this
information, it might make sense.
- We could change the MSL backend to allow text to be generated out of
order, so that we can decide whether to define the macro after we've
generated all the function bodies. But at the moment this seems like
unnecessary complexity, although it might be worth doing in the
future if we had additional uses for it - say, to conditionally emit
helper function definitions.
Fixes #4972 .
2024-09-18 11:01:51 -04:00