Commit Graph

671 Commits

Author SHA1 Message Date
Connor Fitzgerald
b0f1fa66ef Add VisionOS Support (#6888)
* Add visionos support

* Use `target_vendor = "apple"`

* Fixes

* Build VisionOS

* Gah

* Bleh

* Typos

---------

Co-authored-by: Guus Waals <_@guusw.nl>
2025-01-10 17:33:58 +00:00
Samson
dc9b2eb718 Add Instance::wgsl_language_features (#6814)
* docs(naga): clarify desc. for `LanguageExtension`

* feat(naga): expose `{,Implemented,Unimplemented}LanguageExtension`

* feat(naga): expose `ImplementedLanguageExtension` as `WgslLanguageExtension`

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Co-Authored-By: Erich Gubler <erichdongubler@gmail.com>

* feat: add `Instance::wgsl_language_features`

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Co-Authored-By: Erich Gubler <erichdongubler@gmail.com>

* refactor: reimpl. `ImplementedLanguageExtension::all` w/ `strum::VariantArray`

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2025-01-10 04:02:39 +00:00
Asher Jingkong Chen
198762e5cc feat: Add 32-bit floating-point atomics (SHADER_FLOAT32_ATOMIC) (#6234)
* feat: Add 32-bit floating-point atomics

* Current supported platforms: Metal
* Platforms to support in the future: Vulkan

Related issues or PRs:

* gfx-rs/wgpu#1020

* Add changelog

* Edit changelog

* feat: Add 32-bit float atomics support for Vulkan (SPIR-V shaders)

* atomicSub for f32 in the previous commits is removed.

* Update test

* chore: doc type link

* refactor: Revise float atomics on msl and spv

* Make branches tidy
* Also revise old codes
* Ensure the implementations are supported by Metal and Vulkan backends

* refactor: Renaming flt32 atomics to float32 atomics

* chore: Add link to Vulkan feature

* fix: cargo fmt

* chore: hack comment

* Revert changelog

* Fix: Cargo advisory

* Update wgpu-hal/src/metal/adapter.rs

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>

* Update naga/src/lib.rs

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>

* Adjust feature flag position

---------

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
2025-01-09 16:03:47 +00:00
Jim Blandy
6e2394b95e [naga] Validate override array sizes. (#6882)
When an array type `A`'s size is `PendingArraySize::Override(h)`,
verify that:

- `h` is a valid override handle,

- the override's type precedes `A` in the type arena, and

- the override's expression does not participate in a type/global
  expression cycle.

Fixes #6880.
2025-01-09 12:13:45 +00:00
Jim Blandy
6351c2da96 [naga] Forbid cycles between global expressions and types. (#6800)
* [naga] Move type handle validation into its own function.

* [naga] Forbid cycles between global expressions and types.

Update `valid::handles` to traverse `Module::types` and
`Module::global_expressions` in tandem, to ensure that the types and
expressions are acyclic.

Fixes #6793.
2025-01-08 14:24:57 -05:00
Eddie Hatfield
1f67474140 Add directive keywords to error message for parsing global item (#6723)
Notify the user that they can also use `diagnostic`, `enable`, or
`requires` in this context.

Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2025-01-08 16:24:03 +00:00
Jim Blandy
eeb79f3b04 [naga wgsl-in] Document front::wgsl::parse::lexer::Lexer. (#6805) 2025-01-08 11:13:06 -05:00
Connor Fitzgerald
a8a91737b2 Switch Binding Arrays on Metal to Argument Buffers (#6751) 2025-01-07 16:00:56 -05:00
Jamie Nicol
78e35c4a7e [naga wgsl-in] Disallow named component expression for matrix types
The WGSL spec only allows named component expressions when the base
type is a vector or a structure, so this patch removes support for it
for matrices. Additionally tests which used this for matrices have
been updated to use indexing expressions instead, and a test has been
added to ensure a named component expression on a matrix results in an
error.
2025-01-07 13:46:41 +01:00
Jim Blandy
f6f9233295 [naga] Allow abstract scalars in modf and frexp results.
Allow `PredeclaredType::ModfResult` and `PredeclaredType::FrexpResult`
to hold any sort of scalar, not just a floating-point scalar.

This prepares Naga for implementing the `AbstractFloat` overloads for
the `modf` and `frexp` builtin functions.
2025-01-07 12:26:40 +01:00
Connor Fitzgerald
0dab31ab2a Fix aarch64-pc-windows-msvc (#6868) 2025-01-07 02:28:05 +00:00
Jamie Nicol
15095122a2 [naga] Handle bitshifts for abstract lhs operands during const evaluation (#6865) 2025-01-06 17:33:25 -05:00
Jim Blandy
a84b6ca579 [naga] Add tests for automatic conversions in assignments.
Add tests for automatic conversions of the right-hand sides of
assignment expressions.
2025-01-06 17:29:58 -05:00
Jim Blandy
4f22f8d7b6 [naga wgsl-in] Apply automatic conversions to values being assigned.
Apply automatic conversions to the right-hand sides of assignment and
compound assignment statements.

Fix `try_automatic_conversion_for_leaf_scalar` to handle arrays,
not just scalars, vectors, and matrices. Previously this was only used
for converting the right-hand sides of bit shift operators to `u32`,
and bit shift operators don't support arrays. But now we're using
`try_automatic_conversion_for_leaf_scalar` for ordinary assignments,
and you can assign arrays.

Update a test of propagating source code spans through compaction.
This test needs validation to report an error, but this commit's fix
causes the error in the test to be detected in the front end, which is
too early to exercise compaction. Use a new error that the front end
still won't notice.
2025-01-06 17:29:58 -05:00
Jim Blandy
04f0de6d64 [naga] Add some tests to in/abstract-types-var.wgsl.
Fill out a few more cases for variable type inference and automatic
conversions of initializers.
2025-01-06 17:29:58 -05:00
dependabot[bot]
28760125a7 chore(deps): bump the patch-updates group with 8 updates (#6863)
* chore(deps): bump the patch-updates group with 8 updates

Bumps the patch-updates group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [petgraph](https://github.com/petgraph/petgraph) | `0.6.5` | `0.7.0` |
| [syn](https://github.com/dtolnay/syn) | `2.0.93` | `2.0.95` |
| [async-trait](https://github.com/dtolnay/async-trait) | `0.1.83` | `0.1.84` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.2.6` | `1.2.7` |
| [hashbrown](https://github.com/rust-lang/hashbrown) | `0.15.2` | `0.14.5` |
| [prettyplease](https://github.com/dtolnay/prettyplease) | `0.2.25` | `0.2.27` |
| [v8](https://github.com/denoland/rusty_v8) | `130.0.2` | `130.0.5` |
| [winnow](https://github.com/winnow-rs/winnow) | `0.6.20` | `0.6.22` |


Updates `petgraph` from 0.6.5 to 0.7.0
- [Changelog](https://github.com/petgraph/petgraph/blob/master/RELEASES.rst)
- [Commits](https://github.com/petgraph/petgraph/compare/petgraph@v0.6.5...petgraph@v0.7.0)

Updates `syn` from 2.0.93 to 2.0.95
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.93...2.0.95)

Updates `async-trait` from 0.1.83 to 0.1.84
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.83...0.1.84)

Updates `cc` from 1.2.6 to 1.2.7
- [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.2.6...cc-v1.2.7)

Updates `hashbrown` from 0.15.2 to 0.14.5
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/hashbrown/commits/v0.14.5)

Updates `prettyplease` from 0.2.25 to 0.2.27
- [Release notes](https://github.com/dtolnay/prettyplease/releases)
- [Commits](https://github.com/dtolnay/prettyplease/compare/0.2.25...0.2.27)

Updates `v8` from 130.0.2 to 130.0.5
- [Release notes](https://github.com/denoland/rusty_v8/releases)
- [Commits](https://github.com/denoland/rusty_v8/compare/v130.0.2...v130.0.5)

Updates `winnow` from 0.6.20 to 0.6.22
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md)
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.6.20...v0.6.22)

---
updated-dependencies:
- dependency-name: petgraph
  dependency-type: direct:production
  update-type: version-update:semver-minor
  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: cc
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: hashbrown
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: prettyplease
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: v8
  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>

* Hold on petgrpah

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-01-06 16:38:18 -05:00
Matthew Wong
826db5e6b6 [naga] change i32 arithmetic operations to use wrapping_ instead of checked_ (#6835) 2025-01-06 14:08:56 +01:00
dependabot[bot]
61b7063d8e chore(deps): bump the patch-updates group with 9 updates (#6836)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-30 17:16:37 -05:00
dependabot[bot]
7c75ac7aa2 chore(deps): bump the patch-updates group with 19 updates (#6810)
* chore(deps): bump the patch-updates group with 19 updates

Bumps the patch-updates group with 19 updates:

| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.94` | `1.0.95` |
| [argh](https://github.com/google/argh) | `0.1.12` | `0.1.13` |
| [bytemuck](https://github.com/Lokathor/bytemuck) | `1.20.0` | `1.21.0` |
| [env_logger](https://github.com/rust-cli/env_logger) | `0.11.5` | `0.11.6` |
| [itertools](https://github.com/rust-itertools/itertools) | `0.10.5` | `0.13.0` |
| [libc](https://github.com/rust-lang/libc) | `0.2.168` | `0.2.169` |
| [png](https://github.com/image-rs/image-png) | `0.17.15` | `0.17.16` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.133` | `1.0.134` |
| [gpu-descriptor](https://github.com/zakarumych/gpu-descriptor) | `0.3.0` | `0.3.1` |
| [syn](https://github.com/dtolnay/syn) | `2.0.90` | `2.0.91` |
| [argh_derive](https://github.com/google/argh) | `0.1.12` | `0.1.13` |
| [argh_shared](https://github.com/google/argh) | `0.1.12` | `0.1.13` |
| [bytemuck_derive](https://github.com/Lokathor/bytemuck) | `1.8.0` | `1.8.1` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.2.4` | `1.2.5` |
| [const_panic](https://github.com/rodrimati1992/const_panic) | `0.2.10` | `0.2.11` |
| [env_filter](https://github.com/rust-cli/env_logger) | `0.1.2` | `0.1.3` |
| [hashbrown](https://github.com/rust-lang/hashbrown) | `0.14.5` | `0.15.2` |
| [home](https://github.com/rust-lang/cargo) | `0.5.9` | `0.5.11` |
| [object](https://github.com/gimli-rs/object) | `0.36.5` | `0.36.7` |


Updates `anyhow` from 1.0.94 to 1.0.95
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.94...1.0.95)

Updates `argh` from 0.1.12 to 0.1.13
- [Release notes](https://github.com/google/argh/releases)
- [Commits](https://github.com/google/argh/compare/0.1.12...0.1.13)

Updates `bytemuck` from 1.20.0 to 1.21.0
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.20.0...v1.21.0)

Updates `env_logger` from 0.11.5 to 0.11.6
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.5...v0.11.6)

Updates `itertools` from 0.10.5 to 0.13.0
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.5...v0.13.0)

Updates `libc` from 0.2.168 to 0.2.169
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.169/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.168...0.2.169)

Updates `png` from 0.17.15 to 0.17.16
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image-png/compare/v0.17.15...v0.17.16)

Updates `serde_json` from 1.0.133 to 1.0.134
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.133...v1.0.134)

Updates `gpu-descriptor` from 0.3.0 to 0.3.1
- [Changelog](https://github.com/zakarumych/gpu-descriptor/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zakarumych/gpu-descriptor/commits)

Updates `syn` from 2.0.90 to 2.0.91
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.90...2.0.91)

Updates `argh_derive` from 0.1.12 to 0.1.13
- [Release notes](https://github.com/google/argh/releases)
- [Commits](https://github.com/google/argh/compare/0.1.12...0.1.13)

Updates `argh_shared` from 0.1.12 to 0.1.13
- [Release notes](https://github.com/google/argh/releases)
- [Commits](https://github.com/google/argh/compare/0.1.12...0.1.13)

Updates `bytemuck_derive` from 1.8.0 to 1.8.1
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/bytemuck_derive-v1.8.0...bytemuck_derive-v1.8.1)

Updates `cc` from 1.2.4 to 1.2.5
- [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.2.4...cc-v1.2.5)

Updates `const_panic` from 0.2.10 to 0.2.11
- [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)

Updates `env_filter` from 0.1.2 to 0.1.3
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/env_filter-v0.1.2...env_filter-v0.1.3)

Updates `hashbrown` from 0.14.5 to 0.15.2
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/hashbrown/commits)

Updates `home` from 0.5.9 to 0.5.11
- [Changelog](https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cargo/compare/home-0.5.9...home-0.5.11)

Updates `object` from 0.36.5 to 0.36.7
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gimli-rs/object/compare/0.36.5...0.36.7)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: argh
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: bytemuck
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: env_logger
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: png
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: gpu-descriptor
  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: argh_derive
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: argh_shared
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: bytemuck_derive
  dependency-type: indirect
  update-type: version-update:semver-patch
  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: env_filter
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: hashbrown
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: home
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: object
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix Errors

* Get Fuzzed

* Unbreak

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-12-23 19:34:20 -05:00
Erich Gubler
9d9b99adb6 fix: make unpack4x{I,U}8 output exprs. composable in {hlsl,msl}-out (#6773) 2024-12-23 09:10:18 -08:00
Erich Gubler
6c9f93b7de diag(naga): clarify select built-in type mismatch messages 2024-12-20 10:34:20 -05:00
Erich Gubler
9ea464b85b test(valid): cover select arg. mismatches 2024-12-20 10:34:20 -05:00
Jim Blandy
2587db1c9b [naga] In compaction, fix array lengths as part of type adjustment. (#6790)
Adjust the `Handle<Expression>` values that appear in
`TypeInner::Array` via `PendingArraySize::Expression` as part of the
normal type adjustment process in `ModuleMap::adjust_type`, rather
than cloning the type arena so we can iterate over it and call
`UniqueArena::replace`.

Fixes #6789.
2024-12-20 10:33:29 -05:00
Eddie Hatfield
79280bc3d4 Detect a common syntax error case for diagnostic_directive (#6718)
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2024-12-18 11:21:45 -05:00
Jim Blandy
a0344cc932 [naga valid]: Clean up validation of Statement::ImageStore.
Ensure that the type we obtain for the `image` operand is correct:
"see through" a binding array to its element type only when `image` is
actually an `Access` or `AccessIndex` expression. (This changes the
set of programs the validator will pass, but it turns out not to
affect the set of WGSL programs that Naga will accept, since the WGSL
front end is already checking the types of the `texture` arguments to
`textureStore` function calls, in order to decide which overload
applies.)

Rename the variables to better reflect their values.
2024-12-18 08:10:50 -08:00
Jim Blandy
87d9ffed56 [naga valid]: Clean up validation of Statement::ImageStore.
Move image class validation to a more natural spot.
2024-12-18 08:10:50 -08:00
Jim Blandy
1a06279ca9 [naga valid]: Clean up validation of Statement::ImageStore.
Use `let-else` statements to keep the main flow of control at the
left. Briefly describe the conditions we're testing.
2024-12-18 08:10:50 -08:00
Erich Gubler
aaac47c24e fix(naga): s/os/target_os/ in xtask's FXC/DXC check (#6774) 2024-12-17 16:12:24 -05:00
Schell Carl Scivally
ea7556853d [naga spv-in] Support atomics in fields of global structs
Handle SPIR-V input that performs atomic operations on structs that
have more than one field. Track which fields of which struct types are
used by atomic operations on which global variables, and then give
those global variables new types in which exactly those fields have
had their `Scalar` leaf types changed to `Atomic`.

Add snapshot tests.

Co-authored-by: Jim Blandy <jimb@red-bean.com>
2024-12-17 07:45:41 -08:00
Erich Gubler
3160f81289 fix(types): use correct cfgs for serde(rename…)d VertexFormat variants (#6765) 2024-12-16 17:37:45 -05:00
Erich Gubler
964a8d99d2 chore: satisfy clippy::unnecessary_map_or (#6710)
Started firing in Rust 1.84.
2024-12-16 17:26:12 -05:00
Christofer Nolander
21ff9686a7 Add 1-component ({s,u}{int,norm}{8,16}, float16) and unorm8x4-bgra vertex formats (#6632)
* feat: add missing 8/16-bit vertex formats (and 8-bit bgra) #6614

* add tests for 1-component vertex formats (and bgra)

* metal: unpacking function for 1-component vertex formats

* test: use proper alignment for float16 vertex format

* changelog: new vertex formats
2024-12-16 10:18:50 -05:00
Connor Fitzgerald
411ffa7a5a Make Force Loop Bounding Optional (#6662)
* Make Force Loop Bounding Optional

Co-authored-by: rudderbucky <anandkwork7@gmail.com>

* Deprecate and Rename

---------

Co-authored-by: rudderbucky <anandkwork7@gmail.com>
2024-12-16 04:23:22 -05:00
dependabot[bot]
2ec87d7c2f chore(deps): bump the patch-updates group with 8 updates (#6749)
Bumps the patch-updates group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [libc](https://github.com/rust-lang/libc) | `0.2.167` | `0.2.168` |
| [serde](https://github.com/serde-rs/serde) | `1.0.215` | `1.0.216` |
| [tracy-client](https://github.com/nagisa/rust_tracy_client) | `0.17.5` | `0.17.6` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.2.3` | `1.2.4` |
| [crossbeam-deque](https://github.com/crossbeam-rs/crossbeam) | `0.8.5` | `0.8.6` |
| [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam) | `0.8.20` | `0.8.21` |
| [serde_derive](https://github.com/serde-rs/serde) | `1.0.215` | `1.0.216` |
| [tracy-client-sys](https://github.com/nagisa/rust_tracy_client) | `0.24.2` | `0.24.3` |


Updates `libc` from 0.2.167 to 0.2.168
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.168/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.167...0.2.168)

Updates `serde` from 1.0.215 to 1.0.216
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.215...v1.0.216)

Updates `tracy-client` from 0.17.5 to 0.17.6
- [Commits](https://github.com/nagisa/rust_tracy_client/compare/tracy-client-v0.17.5...tracy-client-v0.17.6)

Updates `cc` from 1.2.3 to 1.2.4
- [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.2.3...cc-v1.2.4)

Updates `crossbeam-deque` from 0.8.5 to 0.8.6
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases)
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-deque-0.8.5...crossbeam-deque-0.8.6)

Updates `crossbeam-utils` from 0.8.20 to 0.8.21
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases)
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-utils-0.8.20...crossbeam-utils-0.8.21)

Updates `serde_derive` from 1.0.215 to 1.0.216
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.215...v1.0.216)

Updates `tracy-client-sys` from 0.24.2 to 0.24.3
- [Commits](https://github.com/nagisa/rust_tracy_client/compare/tracy-client-sys-v0.24.2...tracy-client-sys-v0.24.3)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: serde
  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: cc
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: crossbeam-deque
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: crossbeam-utils
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: serde_derive
  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
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 00:38:53 -05:00
Erich Gubler
3d3937e720 chore: remove empty and unused naga/src/front/wgsl/diagnostic_filter.rs (#6707)
Should have been removed in #6628. 😅
2024-12-12 14:53:07 +01:00
atlv
28a3e97dde Fix a couple typos (#6713) 2024-12-12 01:05:08 -05:00
Erich Gubler
727992e844 chore: satisfy clippy::unused_qualification (#6712) 2024-12-12 00:47:48 -05:00
Connor Fitzgerald
fdb6266d36 Update Some Repository Documentation (#6708)
* Update Some Repository Documentation

* Capitalization
2024-12-12 04:54:42 +00:00
Kent Slaney
5bec461fb5 Override-expressions for Fixed Size Arrays (#6654) 2024-12-10 15:43:22 +01:00
Schell Carl Scivally
8b93a71129 chore: [spv-in] atomics snapshot tests (#6692)
* chore: [spv-in] clean up atomic upgrade tests

* add output test files

* update changelog

* remove extraneous snapshot out files
2024-12-09 19:54:02 -08:00
Jamie Nicol
90859b4ea1 [naga wgsl-in] Attempt automatic conversion for arguments to user defined function calls (#6577)
When lowering arguments for a user-defined function call, avoid
concretizing the argument types. Instead make use of the existing
`try_automatic_conversions()` machinery to attempt to convert each
argument to the type expected by the function. This is straightforward
as user-defined functions only have a single overload.

This additionally changes an argument type in the test
parse_pointers() from `ptr<private>` to `ptr<function>`. The former is
invalid code which is indeed caught by the validator, but the test
only asserts that parsing succeeds, not validation. With this patch,
this error is now caught during parsing which caused the test to fail.
2024-12-09 16:36:17 +00:00
Schell Carl Scivally
234b6dd613 feature: [spv-front] Support for OpAtomicCompareExchange (#6590)
Add support for parsing and executing OpAtomicCompareExchange in the SPIR-V frontend.
This concludes the work to support atomics in the SPIR-V frontend,
excluding test clean-up.

Fixes #6296.
Fixes #6590.

Connections:

- [naga spv-in] Support for OpAtomicCompareExchange #6296
- [spv-in] Atomics support #4489

Co-authored-by: Jim Blandy <jimb@red-bean.com>
2024-12-09 14:56:51 +00:00
Jim Blandy
6e5d398965 [naga spv-in] More docs for front::spv::Frontend::get_expr_handle. (#6671) 2024-12-09 06:46:22 -08:00
Jim Blandy
ba1f042eb6 [naga spv-in] Let BlockContext hold a &mut Module. (#6682)
Refactor `front::spv::BlockContext` so that, rather than holding
various shared and mutable references to various fields of the
`crate::Module` being constructed, it holds just a single `&mut
Module`, and accesses its fields through that.

This should allow the SPIR-V front to use utility functions like
`Module::generate_predeclared_type` as intended.

Fixes #6679.
2024-12-09 06:36:18 -08:00
Kent Slaney
b56960b8e8 Add Pipeline Overrides for workgroup_size (#6635) 2024-12-06 11:44:05 +01:00
Connor Fitzgerald
c933487697 Improve Snapshot Test Configuration Deserialization (#6661) 2024-12-05 10:32:23 -06:00
Jim Blandy
26124c77ac [naga] Add naga::common::wgsl shared by WGSL front and backends. (#6628)
Create a new module, `naga::common`, to hold code that can be
shared between front and back ends for a given language.

Create a new module, `naga::common::wgsl`, and populate it with some
code that we expect to be useful by both the WGSL front and back ends,
once the back end generates diagnostic filters.

Move some WGSL front end tests into `naga::front::wgsl::tests`.
2024-12-02 15:22:22 -06:00
Jim Blandy
246ed3ee8e [naga wgsl-in] Remove support for -> void return type syntax. (#6633) 2024-12-02 12:58:59 -05:00
dependabot[bot]
74fe56fa83 chore(deps): bump the patch-updates group across 1 directory with 45 updates (#6640)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-12-02 00:50:00 -05:00
Jim Blandy
1ea5498038 [naga] Leave Module as the last thing in naga/src/lib.rs.
Move the definitions of `RayFlag` and `RayQueryIntersection` above the
definition of `Module`, so that `Module` remains the last definition
in `lib.rs`. This is helpful for navigation.

This commit is purely code motion, and makes no changes to
functionality.
2024-11-28 11:48:46 +01:00