Connor Fitzgerald
8d1f4bb5f2
Require token for experimental features ( #8163 )
2025-08-29 15:43:27 -04:00
Kevin Reid
ea8315e28e
Change uncaptured error handler pointer type from Box to Arc.
...
This will be necessary for the next change.
2025-08-13 16:26:46 +01:00
SupaMaggie70Incorporated
074c0e7191
Add mesh shading api to wgpu & wgpu-core ( #7345 )
2025-07-24 20:58:56 -04:00
Jamie Nicol
acfa8c5776
[wgpu-core] Add ExternalTexture type to wgpu-core
...
`ExternalTexture` will form the basis of wgpu's implementation of
WebGPU's `GPUExternalTexture`. [1]
The application will be responsible for creating `Texture`(s) and
`TextureView`(s) from the external texture source and managing their
lifecycle. It may have a single RGBA texture, or it may have multiple
textures for separate Y and Cb/Cr planes. It can then create an external
texture by calling `create_external_texture()`, providing the texture
views and a descriptor. The descriptor provides the following required
information:
* Whether the texture data is RGBA, or multiplanar or interleaved
YCbCr.
* The purpoted size of the external texture, which may not match the
actual size of the underlying textures.
* A matrix for converting from YCbCr to RGBA, if required.
* A transform to apply to texture sample coordinates, allowing for
rotation and crop rects.
The external texture stores a reference to the provided texture views,
and additionally owns a `Buffer`. This buffer holds data of the type
`ExternalTextureParams`, and will be provided as a uniform buffer to
shaders containing external textures. This contains information that
will be required by the shaders to handle external textures correctly.
Note that attempting to create an external texture will fail unless the
`Feature::EXTERNAL_TEXTURE` feature is enabled, which as of yet is not
supported by any HAL backends.
Additionally add the relevant API to wgpu, implemented for the
wgpu-core backend. The web and custom backends are unimplemented.
[1] https://www.w3.org/TR/webgpu/#gpuexternaltexture
2025-07-22 15:38:15 -07:00
Connor Fitzgerald
ff0de91ad7
Bump REPO_MSRV to 1.88 ( #7960 )
2025-07-17 13:00:40 -04:00
Connor Fitzgerald
03f1b535ca
Bump version to v26
2025-07-09 20:38:11 -04:00
Vecvec
73eb83ded1
[wgpu] Blas compaction ( #7285 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-06-11 21:40:10 -04:00
Raphael Hetzel
0d569d5550
Optional web-specific deps for wasm32 ( #7565 )
2025-05-29 22:26:01 +00:00
Connor Fitzgerald
267f14632f
Reduce versions to minimum required
2025-04-27 18:34:52 +02:00
Kevin Reid
9727e75ad7
Update Cargo.toml to direct-minimal-versions consistency.
2025-04-25 14:40:12 -04:00
teoxoy
5ecc48d494
add RenderPassColorAttachment::depth_slice
2025-04-25 12:39:45 +02:00
sagudev
6666d528b2
Allow obtaining custom implementation from wgpu api types ( #7541 )
2025-04-18 16:58:49 -04:00
sagudev
bbff2c4e0b
use wgt::PollType<u64> in device interface instead of wgt::PollType<SubmissionIndex> ( #7562 )
2025-04-17 18:29:11 -04:00
Connor Fitzgerald
8c2c2ce203
Release v25 ( #7505 )
2025-04-10 16:13:02 +00:00
Sylvain Benner
14690470bb
[metal] Metal compute shader passthrough ( #7326 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-04-09 14:25:41 +00:00
dependabot[bot]
cd81063aef
chore(deps): bump the patch-updates group with 11 updates ( #7485 )
...
Bumps the patch-updates group with 11 updates:
| Package | From | To |
| --- | --- | --- |
| [env_logger](https://github.com/rust-cli/env_logger ) | `0.11.7` | `0.11.8` |
| [smallvec](https://github.com/servo/rust-smallvec ) | `1.14.0` | `1.15.0` |
| [tokio](https://github.com/tokio-rs/tokio ) | `1.44.1` | `1.44.2` |
| [petgraph](https://github.com/petgraph/petgraph ) | `0.7.1` | `0.8.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.17` | `1.2.18` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.34` | `4.5.35` |
| [clap_builder](https://github.com/clap-rs/clap ) | `4.5.34` | `4.5.35` |
| [errno](https://github.com/lambda-fairy/rust-errno ) | `0.3.10` | `0.3.11` |
| [foldhash](https://github.com/orlp/foldhash ) | `0.1.4` | `0.1.5` |
| [prettyplease](https://github.com/dtolnay/prettyplease ) | `0.2.31` | `0.2.32` |
| [quick-xml](https://github.com/tafia/quick-xml ) | `0.37.3` | `0.37.4` |
Updates `env_logger` from 0.11.7 to 0.11.8
- [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.7...v0.11.8 )
Updates `smallvec` from 1.14.0 to 1.15.0
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.14.0...v1.15.0 )
Updates `tokio` from 1.44.1 to 1.44.2
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2 )
Updates `petgraph` from 0.7.1 to 0.8.0
- [Release notes](https://github.com/petgraph/petgraph/releases )
- [Changelog](https://github.com/petgraph/petgraph/blob/master/CHANGELOG.md )
- [Commits](https://github.com/petgraph/petgraph/compare/petgraph@v0.7.1...petgraph@v0.8.0 )
Updates `cc` from 1.2.17 to 1.2.18
- [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.17...cc-v1.2.18 )
Updates `clap` from 4.5.34 to 4.5.35
- [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.34...clap_complete-v4.5.35 )
Updates `clap_builder` from 4.5.34 to 4.5.35
- [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.34...v4.5.35 )
Updates `errno` from 0.3.10 to 0.3.11
- [Release notes](https://github.com/lambda-fairy/rust-errno/releases )
- [Changelog](https://github.com/lambda-fairy/rust-errno/blob/main/CHANGELOG.md )
- [Commits](https://github.com/lambda-fairy/rust-errno/compare/v0.3.10...v0.3.11 )
Updates `foldhash` from 0.1.4 to 0.1.5
- [Commits](https://github.com/orlp/foldhash/compare/v0.1.4...v0.1.5 )
Updates `prettyplease` from 0.2.31 to 0.2.32
- [Release notes](https://github.com/dtolnay/prettyplease/releases )
- [Commits](https://github.com/dtolnay/prettyplease/compare/0.2.31...0.2.32 )
Updates `quick-xml` from 0.37.3 to 0.37.4
- [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.37.3...v0.37.4 )
---
updated-dependencies:
- dependency-name: env_logger
dependency-version: 0.11.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: smallvec
dependency-version: 1.15.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: tokio
dependency-version: 1.44.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: petgraph
dependency-version: 0.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: cc
dependency-version: 1.2.18
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: clap
dependency-version: 4.5.35
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: clap_builder
dependency-version: 4.5.35
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: errno
dependency-version: 0.3.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: foldhash
dependency-version: 0.1.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: prettyplease
dependency-version: 0.2.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: quick-xml
dependency-version: 0.37.4
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-04-07 13:11:14 -04:00
Connor Fitzgerald
c860a2cf8c
Rename and unsafe start_capture -> start_graphics_debugger_capture ( #7470 )
...
* Improve `start_capture` docs
* Docs
2025-04-03 13:07:22 -04:00
Christian Legnitto
1ef9940114
Reduce repo MSRV from 1.85 to 1.84 ( #7425 )
...
* Reduce repo MSRV from 1.85 to 1.84
Fixes https://github.com/gfx-rs/wgpu/issues/7409
* Replace usage of task::Waker::noop()
* Gate waker code to `noop` feature
* Remove unused copied waker function
* Remove doctest from copied code
2025-03-27 14:25:19 -04:00
Connor Fitzgerald
1c69416c32
Rename package of custom_backend example
2025-03-19 09:45:53 -04:00
Connor Fitzgerald
516459efcd
Fix custom_backend compilation error when compiled alone
2025-03-19 09:45:53 -04:00
Connor Fitzgerald
c223d3544b
Decouple custom_backend example from the workspace
2025-03-19 09:45:53 -04:00
Connor Fitzgerald
f109a6966a
Rename custom_backend example
2025-03-19 09:45:53 -04:00
Kevin Reid
fbe005f11a
Make request_adapter() report which backends were tried.
...
This will help users determine whether the problem is:
* a backend is not statically enabled
* a backend is not dynamically enabled
* no drivers or physical adapters are present for that backend
(further distinction would be useful here)
* no adapters met the required criteria
There are deficiencies in the reporting of WebGPU vs. WebGL support.
Those would best be fixed by also fixing the mutual exclusion of those
backends.
2025-03-14 11:45:49 +01:00
Kevin Reid
326ad03ce1
Move trace_dir/trace_path to a custom enum inside DeviceDescriptor.
...
This allows `wgpu` to not unconditionally depend on `std::path::Path`.
It’s also, in my opinion, more user-friendly, because the feature which
most users will not use (and is not currently functional) is now a
defaultable struct field instead of a required parameter.
The disadvantage is that `wgpu-types` now has to know about tracing.
2025-03-10 22:17:06 -04:00
Samson
7e66495049
Support extern context impl ( #6658 )
...
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-03-04 16:07:03 -05:00
Connor Fitzgerald
8fb09a5ad6
Move REPO_MSRV to 1.85 ( #7218 )
2025-02-24 23:39:34 -05:00
Connor Fitzgerald
7e119968ce
Properly Deal with Timeouts ( #7030 )
2025-02-14 23:19:51 +00:00
Kamil Jarosz
43eb6c99b0
examples: Call pre_present_notify before presenting ( #7074 )
...
According to winit docs, pre_present_notify() should be called right
before calling present().
This actually prevents some issues on Wayland, like freezing the whole
application when the window is not visible (ask me how I know).
2025-02-10 08:19:54 +00:00
AMS21
b32cbd4ea6
Fix typo folloed -> followed ( #7067 )
2025-02-06 14:02:17 +00:00
Kevin Reid
98e080410f
Fix compatibility issues in hello_window example. ( #7009 )
2025-01-27 12:14:20 -05:00
Dennis Lonoshchuk
0e7d93ed92
Adds hello window example ( #6992 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-01-27 02:08:52 +00:00
Connor Fitzgerald
b233d204f7
Fix Hello Compute Shader ( #6985 )
2025-01-24 18:26:49 +00:00
Connor Fitzgerald
7fccb6bdb9
Standalone Compute
...
Fix Generate
Fix?
17th Time's The Charm
Fix Build
See Eye
Docs
Victory Tabular
Formatting
Formating3
2025-01-20 18:07:22 -05:00