Commit Graph

8539 Commits

Author SHA1 Message Date
Connor Fitzgerald
fe07d6d9ba
Add CoC and Reference to wgpu Meetings (#6705) 2024-12-11 18:47:17 -05:00
atlv
5543961a71
Replace Range<T> with StateTransition<T> (#6703)
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2024-12-11 16:11:39 +01:00
atlv
22c8f8c503
Clean up guaranteed_format_features (#6702) 2024-12-11 08:48:37 -05:00
Teodor Tanasoaia
dc5bd9dbac
Remove BufferUses::STORAGE_WRITE_ONLY (#6691) 2024-12-11 02:15:11 -05:00
Teodor Tanasoaia
a1fc2ba76d
fix being able to use storage textures without TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES (#6690)
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2024-12-10 15:34:38 -05: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
dependabot[bot]
41b42b2d72
chore(deps): bump JamesIves/github-pages-deploy-action (#6684)
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.7.1 to 4.7.2.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.7.1...v4.7.2)

---
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-12-09 12:01:45 +01:00
dependabot[bot]
f7393627d0
chore(deps): bump the patch-updates group with 9 updates (#6686)
Bumps the patch-updates group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [png](https://github.com/image-rs/image-png) | `0.17.14` | `0.17.15` |
| [tracy-client](https://github.com/nagisa/rust_tracy_client) | `0.17.4` | `0.17.5` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.2.2` | `1.2.3` |
| [clap](https://github.com/clap-rs/clap) | `4.5.22` | `4.5.23` |
| [clap_builder](https://github.com/clap-rs/clap) | `4.5.22` | `4.5.23` |
| [clap_lex](https://github.com/clap-rs/clap) | `0.7.3` | `0.7.4` |
| [fastrand](https://github.com/smol-rs/fastrand) | `2.2.0` | `2.3.0` |
| [fdeflate](https://github.com/image-rs/fdeflate) | `0.3.6` | `0.3.7` |
| [rustix](https://github.com/bytecodealliance/rustix) | `0.38.41` | `0.38.42` |


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

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

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

Updates `clap` from 4.5.22 to 4.5.23
- [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.22...clap_complete-v4.5.23)

Updates `clap_builder` from 4.5.22 to 4.5.23
- [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.22...v4.5.23)

Updates `clap_lex` from 0.7.3 to 0.7.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/clap_lex-v0.7.3...clap_lex-v0.7.4)

Updates `fastrand` from 2.2.0 to 2.3.0
- [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.2.0...v2.3.0)

Updates `fdeflate` from 0.3.6 to 0.3.7
- [Changelog](https://github.com/image-rs/fdeflate/blob/main/CHANGES.md)
- [Commits](https://github.com/image-rs/fdeflate/compare/v0.3.6...v0.3.7)

Updates `rustix` from 0.38.41 to 0.38.42
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.41...v0.38.42)

---
updated-dependencies:
- 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: 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: clap_lex
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: fastrand
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: fdeflate
  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
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 12:01:22 +01:00
dependabot[bot]
2d91ab081f
chore(deps): bump crate-ci/typos from 1.28.1 to 1.28.2 (#6685)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-08 23:20:16 -05:00
Andreas Reich
ed694eda89
Improve logging around surface creation (#6511)
* additional debug logging for request_adapter, demote some messages to debug

* unrelated log messages that annoyed me in Vulkan: debug utils disabled is now `debug`, it being enabled is `info`

* document compatible_surface requirement for WebGL directly on wgt::RequestAdapterOptions

* make adapterenumarge_adapters & request_adapters results info log again when api_log is enabled
2024-12-08 14:44:55 +01:00
Nathan Adams
11b51693d3
Fix dropping Device if not using indirect validation (#6681) 2024-12-07 22:17:12 +01:00
Aloke Desai
ebdd958d4b
Make Surface#configure and Surface#get_current_texture non-fatal (#6253)
* Make Surface#configure non-fatal
* Make Surface#get_current_texture non-fatal

---------

Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-12-07 17:13:09 +00:00
Erich Gubler
f8b67a752a
docs: remove last paragraph from CommandBuffer::data (#6680) 2024-12-07 01:30:09 -05:00
Marijn Suijten
76f307c92f
Remove stale references to d3d12 bindings wrapper crate (#6675)
While looking through some recent activity for the D3D12 crate, in
particular a spelling fix for the crates.io link to `d3d12`, I realized
that I completely forgot to remove these references to the now unused
and removed `d3d12` crate in #5956.
2024-12-06 11:57:05 +01:00
Kent Slaney
b56960b8e8
Add Pipeline Overrides for workgroup_size (#6635) 2024-12-06 11:44:05 +01:00
Jim Blandy
e15e1a1c82
CONTRIBUTING.md: Clarify meaning of assigned field on PRs. (#6669) 2024-12-05 17:37:01 +00:00
Andreas Reich
3808661e07
fix doc string for SurfaceConfiguration::usage (#6668) 2024-12-05 10:55:00 -06:00
Connor Fitzgerald
c933487697
Improve Snapshot Test Configuration Deserialization (#6661) 2024-12-05 10:32:23 -06:00
dependabot[bot]
b876b8c281
chore(deps): bump generator from 0.8.3 to 0.8.4 in the patch-updates group across 1 directory (#6664)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 00:27:43 -05:00
Connor Fitzgerald
503e34b0a5
Update Deps (#6663) 2024-12-04 23:45:48 -05:00
Connor Fitzgerald
4e139ed199
Rework wgpu-rs Context (#6619) 2024-12-04 12:00:14 -05:00
Jim Blandy
41ad18f107
meta: add CONTRIBUTING.md (#6657)
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2024-12-04 16:47:48 +00:00
Connor Fitzgerald
791d95e78f
Changelog 2024-12-04 01:26:05 -05:00
atlv
0b6571a68d
Align Storage Access enums to spec (#6642) 2024-12-03 17:37:23 +01:00
Vecvec
ed2940d869
Add minor ray tracing tests (#6651) 2024-12-03 11:25:35 +01:00
atlv
eb89f13928
Move TextureDataOrder to wgpu-types (#6648) 2024-12-03 11:09:05 +01:00
atlv
b9937cb56b
Move SamplerDescriptor to wgpu-types (#6649) 2024-12-03 11:08:04 +01:00
atlv
1e17fa4973
Move TextureViewDescriptor to wgpu-types (#6650) 2024-12-03 11:07:13 +01:00
dependabot[bot]
1fbf53fbd1
chore(deps): bump crate-ci/typos from 1.27.3 to 1.28.1 (#6637)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-12-03 10:25:06 +01:00
teoxoy
02b28e28f0 use EncoderGuard for the other command encoder operations
The spec requires us to invalidate the encoder if there was any error during the body of these operations.
2024-12-02 15:59:14 -08:00
teoxoy
5e1fbd7176 move CommandEncoderStatus on the CommandBuffer and change its variants to hold CommandBufferMutable
This makes the code more straightforward, we were previously holding invalidity state in 2 places: `CommandBuffer::data` could hold `None` and in `CommandEncoderStatus::Error`.

This commit also implements `Drop` for `CommandEncoder` which makes the destruction/reclamation code automatic. We were previously not reclaiming all command encoders (`CommandBufferMutable::destroy` didn't call `release_encoder`) even though all encoders are coming from a pool.
2024-12-02 15:59:14 -08:00
teoxoy
68d336ef79 use CommandEncoder for BakedCommands & EncoderInFlight 2024-12-02 15:59:14 -08:00
teoxoy
ba416c1dad remove hal::Device::destroy_command_encoder, use Drop implementations instead
Co-Authored-By: Erich Gubler <erichdongubler@gmail.com>
2024-12-02 15:59:14 -08: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
atlv
cf793f7c0f
clean up bitflag serde (#6644) 2024-12-02 16:03:37 -05:00
Christofer Nolander
00625a711a
chore: update webgpu_sys to draft 2024-11-22 (#6641) 2024-12-02 14:15:56 -05:00
Jim Blandy
246ed3ee8e
[naga wgsl-in] Remove support for -> void return type syntax. (#6633) 2024-12-02 12:58:59 -05:00
teoxoy
66d51b6059 add changelog entry 2024-12-02 16:45:13 +01:00
teoxoy
5b9c526c55 [d3d12] don't expose adapter if it doesn't support DXIL when the DXC container is present 2024-12-02 16:45:13 +01:00
teoxoy
201d9ea79f [d3d12] remove complex DXC loading rules 2024-12-02 16:45:13 +01:00
teoxoy
2aac44bb73 [d3d12] don't fallback on FXC if DXC failed to load 2024-12-02 16:45:13 +01: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
atlv
d5253be7fd
rename TFFF::STORAGE_READ_WRITE to STORAGE_WRITE (#6622) 2024-12-01 23:26:47 -05:00
dependabot[bot]
131d08e6e1
chore(deps): bump JamesIves/github-pages-deploy-action from 4.6.9 to 4.7.1 (#6638)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 23:24:14 -05:00
Douglas Dwyer
be02606118
Static linking for DXC via mach-dxcompiler (#6574) 2024-12-01 23:14:10 -05:00