Jamie Nicol
dd2d53814d
[naga wgsl-in] Do not eagerly concretize global const declarations of abstract types
...
Instead allow the const to be converted and each time it is const
evaluated as part of another expression. This allows an abstract const
to be used as a different type depending on the context.
A consequence of this is that abstract types may now find their way to
the validation stage, which we don't want. We therefore additionally
now ensure that the compact pass removes global constants of abstract
types. This will have no *functional* effect on shaders generated by
the backends, as the expressions belonging to the abstract consts in
the IR will not actually be used, as any usage in the input shader
will have been const-evaluated away. Certain unused const declarations
will now be removed, however, as can be seen by the effect on the
snapshot outputs.
2025-02-25 09:25:25 +00:00
Jamie Nicol
da90d7aaa6
[naga wgsl-in] Ensure ConstantEvaluator::cast_array() handles Constant expressions
...
It must call ConstantEvaluator::check_and_get() to possibly retrieve
the constant expression from a separate arena, like is currently done
when evaluating `As` expressions for non-array casts.
2025-02-25 09:25:25 +00:00
Connor Fitzgerald
dc97a61ee7
Configure spv-in settings in toml file ( #7215 )
2025-02-25 05:23:03 +00:00
Connor Fitzgerald
8fb09a5ad6
Move REPO_MSRV to 1.85 ( #7218 )
2025-02-24 23:39:34 -05:00
Kent Slaney
6be5558865
[naga] allow trailing commas in template lists ( #7142 )
...
Co-authored-by: Erich Gubler <erichdongubler@gmail.com >
2025-02-25 03:02:55 +00:00
Connor Fitzgerald
2c42a1844f
Move wgsl snapshots from tests/naga/in to tests/naga/in/wgsl ( #7214 )
2025-02-24 21:33:06 -05:00
Wouter de Bruijn
dfb09c260f
naga-cli: forward '--keep-coordinate-space' flag to GLSL backend ( #7206 )
2025-02-24 23:21:48 +00:00
Jim Blandy
7cbad8e380
CONTRIBUTING.md: Fill out section on pull requests. ( #6879 )
2025-02-24 18:09:04 -05:00
Andreas Reich
f98bd602b9
Update enabled_backend_features to take improved backend feature flags into account ( #7195 )
2025-02-24 17:51:17 -05:00
Flávio J. Saraiva
a26171b2a0
Fix compilation for targets that don't have AtomicU64. ( #7118 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com >
2025-02-24 22:07:13 +00:00
Connor Fitzgerald
37419a3690
Fix workaround for #7200 ( #7216 )
2025-02-24 16:37:25 -05:00
Alexandre Mommers
92a1702c3c
[naga wgsl-in] Add support for unsigned types when calling textureLoad with the level parameter. ( #7058 )
2025-02-24 21:13:06 +00:00
Connor Fitzgerald
031ed26ac3
Rename bench's root benchmark to wgpu-benchmark
2025-02-24 11:53:24 -05:00
Connor Fitzgerald
29ce7fff58
Rename player's test test to player-test
2025-02-24 11:53:24 -05:00
Connor Fitzgerald
00a853ce11
Add documentation for our tests
2025-02-24 11:53:24 -05:00
наб
67ed556f32
Fix examples links in README ( #7164 )
2025-02-24 16:45:43 +00:00
Samson
2f255edc60
[naga] Use const ctx instead of global ctx for type resolution ( #6935 )
...
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
2025-02-24 16:24:37 +01:00
minus1ms
e95f6d632c
binding size fix ( #7177 )
2025-02-24 15:48:06 +01:00
Kevin Reid
3447b3e7b6
Polish documentation of PresentMode.
...
* Link to where it is used and how to check support.
* Link from `Auto*` to the variants they refer to.
* Organize mode information into lists.
* Document which value is the default value.
* Various wording changes.
I mostly did not touch the descriptions of the individual modes.
I think that they could use some explanation of jargon (what is a
“presentation engine”, really?) but I am not the person to write that.
2025-02-24 10:15:40 +01:00
dependabot[bot]
853d90e00a
chore(deps): bump the patch-updates group with 14 updates ( #7209 )
...
Bumps the patch-updates group with 14 updates:
| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.95` | `1.0.96` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.169` | `0.2.170` |
| [log](https://github.com/rust-lang/log ) | `0.4.25` | `0.4.26` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.138` | `1.0.139` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.217` | `1.0.218` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident ) | `1.0.16` | `1.0.17` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.14` | `1.2.15` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.29` | `4.5.30` |
| [clap_builder](https://github.com/clap-rs/clap ) | `4.5.29` | `4.5.30` |
| [either](https://github.com/rayon-rs/either ) | `1.13.0` | `1.14.0` |
| [serde_derive](https://github.com/serde-rs/serde ) | `1.0.217` | `1.0.218` |
| [target-triple](https://github.com/dtolnay/target-triple ) | `0.1.3` | `0.1.4` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.13.1` | `1.14.0` |
| [winnow](https://github.com/winnow-rs/winnow ) | `0.7.2` | `0.7.3` |
Updates `anyhow` from 1.0.95 to 1.0.96
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.95...1.0.96 )
Updates `libc` from 0.2.169 to 0.2.170
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.170/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.169...0.2.170 )
Updates `log` from 0.4.25 to 0.4.26
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.25...0.4.26 )
Updates `serde_json` from 1.0.138 to 1.0.139
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.138...v1.0.139 )
Updates `serde` from 1.0.217 to 1.0.218
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.217...v1.0.218 )
Updates `unicode-ident` from 1.0.16 to 1.0.17
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.16...1.0.17 )
Updates `cc` from 1.2.14 to 1.2.15
- [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.14...cc-v1.2.15 )
Updates `clap` from 4.5.29 to 4.5.30
- [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.29...clap_complete-v4.5.30 )
Updates `clap_builder` from 4.5.29 to 4.5.30
- [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.29...v4.5.30 )
Updates `either` from 1.13.0 to 1.14.0
- [Commits](https://github.com/rayon-rs/either/compare/1.13.0...1.14.0 )
Updates `serde_derive` from 1.0.217 to 1.0.218
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.217...v1.0.218 )
Updates `target-triple` from 0.1.3 to 0.1.4
- [Release notes](https://github.com/dtolnay/target-triple/releases )
- [Commits](https://github.com/dtolnay/target-triple/compare/0.1.3...0.1.4 )
Updates `uuid` from 1.13.1 to 1.14.0
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/1.13.1...v1.14.0 )
Updates `winnow` from 0.7.2 to 0.7.3
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md )
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.2...v0.7.3 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: log
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: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: unicode-ident
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: 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: either
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: serde_derive
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: target-triple
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: 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>
2025-02-23 22:06:20 -05:00
dependabot[bot]
450b926094
chore(deps): bump JamesIves/github-pages-deploy-action ( #7208 )
...
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action ) from 4.7.2 to 4.7.3.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases )
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.7.2...v4.7.3 )
---
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>
2025-02-23 22:04:45 -05:00
dependabot[bot]
f90376b0f4
chore(deps): bump crate-ci/typos from 1.29.7 to 1.29.9 ( #7207 )
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.29.7 to 1.29.9.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.29.7...v1.29.9 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
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>
2025-02-23 22:04:24 -05:00
Connor Fitzgerald
8a4e50f1a0
Rename tests/validation_tests to tests/validation-tests
2025-02-23 14:06:34 -05:00
Connor Fitzgerald
31eb329748
Make tests/compile_tests into tests/compile-tests
2025-02-23 14:06:34 -05:00
Connor Fitzgerald
c4114e7347
Rename tests/tests to tests/gpu-tests
2025-02-23 14:06:34 -05:00
Connor Fitzgerald
d7b22dcb70
Workaround #7200 ( #7201 )
2025-02-23 12:58:06 -05:00
Connor Fitzgerald
ab0e4b1b6f
Refactor Validation Tests a Bit ( #7199 )
2025-02-23 12:57:19 -05:00
sagudev
705e3d60e7
[core] validate equal sample_count in copy_texture_to_texture
...
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com >
2025-02-23 15:05:55 +01:00
Connor Fitzgerald
111425b789
Refactor Documentation into a docs folder ( #7202 )
2025-02-23 09:43:17 +01:00
Connor Fitzgerald
ae5dc0e7cb
Target Specific Compilation ( #7076 )
2025-02-22 12:38:58 +01:00
Connor Fitzgerald
f781a6b6ca
Fix Obscured Warning ( #7193 )
2025-02-21 22:47:06 -05:00
Connor Fitzgerald
77763b15b3
Remove getrandom from examples ( #7194 )
2025-02-21 22:46:18 -05:00
Connor Fitzgerald
a8af685fd5
Convert Snapshot Configuration to TOML ( #7160 )
...
* Prepare for Toml
* Convert Configurations Entirely To TOML
2025-02-21 19:55:01 -05:00
Connor Fitzgerald
473dd2fdd9
Refactor Snapshots to Be Fully Configuration Based ( #7153 )
...
Co-authored-by: Erich Gubler <erichdongubler@gmail.com >
2025-02-21 18:22:54 -05:00
Erich Gubler
d5241dd675
refactor(ci): regulate titles in CI step names ( #7172 )
2025-02-21 19:39:48 +00:00
Connor Fitzgerald
4d24df2b3b
Fix enumeration of wgpu example shaders in example_wgsl test ( #7191 )
...
Co-authored-by: Erich Gubler <erichdongubler@gmail.com >
2025-02-21 19:31:30 +00:00
Erich Gubler
143ad278f2
typo: s/viritualization/virtualization ( #7192 )
2025-02-21 17:06:42 +00:00
Connor Fitzgerald
f44ecda16b
Fix Execution of Benchmarks ( #7190 )
2025-02-21 11:43:50 -05:00
Connor Fitzgerald
1ec34839ee
Improve Validation Errors with Naga Validator ( #7185 )
2025-02-21 10:57:59 -05:00
Kevin Reid
12ec5fd16f
wgpu: Make macros usable from no_std and use strictly $crate paths.
2025-02-21 08:47:16 +01:00
Kevin Reid
b3b54b6941
wgpu: Adjust imports to allow no_std.
...
Remaining uses of `std`:
* `trace_path` / `trace_dir`
* `std::error::Error` (waiting for Rust 1.81)
* `std::ffi::c_void`
* Various uses in `util`
2025-02-21 08:47:16 +01:00
Kevin Reid
7bcbfe0712
wgpu-core: Adjust imports to allow no_std.
...
Dependencies on `std` that still exist:
* Locks
* `std::error::Error` (waiting for Rust 1.81)
* `std::os::raw::c_char` for FFI
* `thread_local` and `Backtrace` in `snatch`
2025-02-21 08:47:16 +01:00
Kevin Reid
bea4fb9e2d
wgpu-hal: Adjust imports to eventually allow no_std.
...
We need `core::error::Error` (Rust 1.81) to make it a reality.
2025-02-21 08:47:16 +01:00
Mads Marquart
7b00140b16
Add layer observer based on raw-window-metal ( #7026 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com >
2025-02-20 21:30:58 +00:00
Connor Fitzgerald
48e2298ed9
Fix wgpu-info's use of DXC ( #7184 )
2025-02-20 17:17:50 +00:00
Kevin Reid
9c0fa2975f
Use BufferSlice in StagingBelt::allocate(). ( #7179 )
...
* Use `BufferSlice` in `StagingBelt::allocate()`.
* Make `StagingBelt::allocate()` return just the slice.
2025-02-20 10:05:30 +01:00
Christian Thackston
14bb855a27
Fix logo positioning in README ( #7187 )
2025-02-20 05:21:46 +00:00
Jim Blandy
5dad2c4cd4
[naga] Apply module compaction to GLSL tests. ( #7186 )
2025-02-19 20:59:06 -05:00
Jamie Nicol
7e42040fa5
Add validation tests ensuring destroyed textures and buffers cause submission to fail ( #7181 )
2025-02-19 10:09:17 -05:00
Teodor Tanasoaia
b5e32cec58
add max_shader_model to Dx12Compiler ( #7167 )
2025-02-18 13:44:23 +01:00