Commit Graph

8546 Commits

Author SHA1 Message Date
Samson
8f82992b9f Inline PassChannel into ColorAttachment (#6704)
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-12-12 15:57:05 +01: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
Arjo Chakravarty
ef996e6139 Ensure we pick the right gpu card in the example backend (#6557) 2024-12-12 10:50:45 +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
atlv
55d5d26835 Renumber bitflags sort (#6709) 2024-12-12 00:32:55 +00:00
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