multisn8
badb3c88ea
feat: const feature defaults ( #5343 )
...
* feat: make downlevel feature defaults const
* docs: add 5343 to changelog
2024-03-05 15:01:38 +01:00
dependabot[bot]
744454b9e2
Bump Many Dependencies and MSRV ( #5241 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-02-27 14:43:05 -05:00
Nicolas Silva
a016a3aaec
Make Features fit in 64 bits again ( #5268 )
2024-02-19 15:12:41 -05:00
Nicolas Silva
e4ef3b401a
Add an advanced_debugging preset including wgpu base validation ( #5248 )
...
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2024-02-13 16:42:02 +00:00
Andreas Reich
f350f28c35
Separate native-only feature for wgpu::CommandEncoder::write_timestamp
( #5188 )
...
* split out TIMESTAMP_QUERY_INSIDE_ENCODERS from TIMESTAMP_QUERY
* changelog entry
* update changelog change number
* fix web warnings
* single line changelog
* note on followup issue
2024-02-13 16:03:33 +00:00
Erich Gubler
95c026b2df
docs: note that GPU_BASED_VALIDATION
implies VALIDATION
2024-02-12 10:23:07 -05:00
Erich Gubler
31ac63ce3e
feat(vulkan): enable GPU-based validation for Vulkan backend
...
If [`VK_LAYER_KHRONOS_validation`] is present, and it supports
[`VK_EXT_validation_features`], we can configure it with another instance
creation info. element of type [`VkValidationFeaturesEXT`] to enable
GPU-based validation. Wire `InstanceFlags::GPU_BASED_VALIDATION` to do
this in the Vulkan backend. It's even already finding issues in our
`examples` and other tests! But…we'd like to handle those later, since
this is so important for users. So, I've broken that out to separate
issues. The instances we're aware of:
* `water` is running into sync. validation issues: see
<https://github.com/gfx-rs/wgpu/issues/5231 >
* `wgpu_test::shader::struct_layout::uniform_input` is failing to
instrument shaders now; see
<https://github.com/gfx-rs/wgpu/issues/5245 >
It is apparent from this and the [DX12 implementation of GPU-based
validation] that we will need to communicate clearly to users that
`InstanceFlags::GPU_BASED_VALIDATION` implies
`InstanceFlags::VALIDATION`. Not all backends enforce this yet; I have
[split out this work][follow-up for flag implication].
Note that `VK_EXT_validation_features` has been deprecated in favor of
the more general layer configuration mechanism offered by
[`VK_EXT_layer_settings`].
[DX12 implementation of GPU-based validation]: https://github.com/gfx-rs/wgpu/pull/5146
[`VK_EXT_layer_settings`]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_layer_settings.html
[`VK_EXT_validation_features`]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_validation_features.html
[`VK_LAYER_KHRONOS_validation`]:https://vulkan.lunarg.com/doc/sdk/1.3.275.0/linux/khronos_validation_layer.html
[`VkValidationFeaturesEXT`]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkValidationFeaturesEXT.html
[follow-up for flag implication]: https://github.com/gfx-rs/wgpu/pull/5232
2024-02-12 10:23:07 -05:00
Nicolas Silva
990324fc33
Add max_color_attachments and max_color_attachment_bytes_per_sample ( #5218 )
2024-02-09 09:39:29 +01:00
Connor Fitzgerald
faed98b45c
Add typos
to Repository CI ( #5191 )
...
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-02-05 12:30:29 -05:00
Bruce Mitchener
b7b7f7daed
Backends
: Add some links in the doc comments.
2024-02-05 16:27:45 +01:00
Bruce Mitchener
39d94dd322
Backends::DX12
: Note that this is available on Windows 10 *and* later.
2024-02-05 16:27:45 +01:00
Andreas Reich
87b6513df3
Update docs for Backend
and implement std::fmt::Display
( #5170 )
...
* Update docs for `Backend` and implement `std::fmt::Display`
* Update wgpu-types/src/lib.rs
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
---------
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-02-01 00:24:12 +00:00
Brad Werth
0888a630a0
Call device lost callback when it is replaced, or when the global is dropped. ( #5168 )
...
This fixes two cases where a DeviceLostClosureC might not be consumed
before it is dropped, which is a requirement:
1) When the closure is replaced, this ensures the to-be-dropped closure
is invoked.
2) When the global is dropped, this ensures that the closure is invoked
before it is dropped.
The first of these two cases is tested in a new test,
DEVICE_LOST_REPLACED_CALLBACK. The second case has a stub,
always-skipped test, DROPPED_GLOBAL_THEN_DEVICE_LOST. The test is
always-skipped because there does not appear to be a way to drop the
global from within a test. Nor is there any other way to reach
Device.prepare_to_die without having first dropping the device.
2024-01-31 08:15:45 +01:00
Connor Fitzgerald
d239361c1f
Update wgpu-types/src/lib.rs
2024-01-30 21:57:01 -05:00
Erich Gubler
01f77667a0
docs: note that InstanceFlags::debugging
enables _all_ recommended flags
2024-01-30 21:57:01 -05:00
Erich Gubler
c28466cc21
feat: make GPU-based validation opt-in with new InstanceFlags::GPU_BASED_VALIDATION
2024-01-30 21:57:01 -05:00
Bude
4face1c2ba
Feature/serde feature ( #5149 )
...
* Add serde, serialize, deserialize features to wgpu and wgpu-core
Remove trace, replay features from wgpu-types
* Do not use trace, replay in wgpu-types anymore
* Make use of deserialize, serialize features in wgpu-core
* Make use of serialize, deserialize features in wgpu
* Run cargo fmt
* Use serde(default) for deserialize only
* Fix serial-pass feature
* Add a comment for new features
* Add CHANGELOG entry
* Run cargo fmt
* serial-pass also needs serde features for Id<T>
* Add feature documentation to lib.rs docs
* wgpu-types implicit serde feature
* wgpu-core explicit serde feature
* wgpu explicit serde feature
* Update CHANGELOG.md
* Fix compilation with default features
* Address review comments
2024-01-28 20:13:04 +00:00
Nicolas Silva
b0e4734a7e
Differentiate between device loss caused by an error and caused by dropping the device
2024-01-24 13:41:23 +01:00
Connor Fitzgerald
8b2098bd4e
Release 0.19 ( #5082 )
2024-01-17 14:42:11 -05:00
Andreas Reich
b8f27c7284
Expose maximum_frame_latency ( #4899 )
...
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2024-01-17 12:46:34 -05:00
dependabot[bot]
c5a0b0b7b4
Bump the patch-updates group with 12 updates ( #5061 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 23:48:30 -05:00
Andreas Reich
7774f31021
Allow WebGPU & WebGL in same wasm and detect WebGPU availability ( #5044 )
...
* Rename backends: web -> webgpu, direct -> wgpu_core
* rename context objects for web & core
* allow webgpu & webgl features side-by-side
* make sure webgl ci doesn't use webgpu
* update any_backend_feature_enabled
* add panicing generate_report method for compatibility
* RequestDeviceErrorKind::Web rename, fixup various cfg attributes
* automatic webgpu support detection
* changelog entry
* fix emscripten
* fix weird cfg, fix comment typo
* remove try_generate_report again
* Make get_mapped_range_as_array_buffer WebGPU only again
2024-01-14 09:45:52 +00:00
Connor Fitzgerald
ad625f433f
Convert Tests to Use Async Poll ( #5053 )
...
* Convert Tests to Use Async Poll
* Update examples/src/repeated_compute/mod.rs
Co-authored-by: Andreas Reich <r_andreas2@web.de>
---------
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-01-13 17:34:51 +00:00
Jim Blandy
8af6975d5e
Prefer Arc::into_inner
over Arc::try_unwrap
. ( #5018 )
2024-01-08 19:24:33 -05:00
dependabot[bot]
07290c53b3
Bump serde_json from 1.0.110 to 1.0.111 ( #4993 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-04 22:11:51 -05:00
dependabot[bot]
4431114ddf
Bump serde_json from 1.0.108 to 1.0.110 ( #4981 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.108 to 1.0.110.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.108...v1.0.110 )
---
updated-dependencies:
- dependency-name: serde_json
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-01-04 02:07:51 -05:00
Divy Srivastava
92d494e4b1
Align wgpu_types::CompositeAlphaMode
serde serializations to spec ( #4940 )
...
* Align wgpu_types::CompositeAlphaMode serde serializations to spec
* add changelog
2023-12-28 05:10:16 -05:00
Nicolas Silva
af701fb26d
Format extent and origin types as tuples. ( #4853 )
...
* Format extent and origin types as tuples.
* Update wgpu-types/src/lib.rs
Co-authored-by: Andreas Reich <r_andreas2@web.de>
---------
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2023-12-09 22:43:53 +00:00
Teodor Tanasoaia
0cbabcf229
Update multi-planar texture API ( #4837 )
2023-12-07 14:06:56 -05:00
Daniel Keitel
0f4df52b5a
[wgpu-hal] Inline RayQuery Support ( #3507 )
...
Co-authored-by: JMS55 <47158642+JMS55@users.noreply.github.com>
Co-authored-by: Ashley Ruglys <ashley.ruglys@gmail.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-12-06 21:12:41 +00:00
Valaphee The Meerkat
a1fafe394f
Remove DX11 backend ( #4828 )
2023-12-06 15:12:46 -05:00
xiaopengli89
2882735cb9
check multi-planar format
2023-12-06 10:36:50 +01:00
Almar Klein
32c5a22293
Add feature float32-filterable ( #4759 )
2023-12-04 14:23:13 +01:00
teoxoy
6ff5f8e4ad
improve features/limits docs
2023-11-29 19:55:18 +01:00
teoxoy
da73522720
rename DeviceDescriptor.limits
to DeviceDescriptor.required_limits
2023-11-29 19:55:18 +01:00
teoxoy
9be6c8890f
rename DeviceDescriptor.features
to DeviceDescriptor.required_features
2023-11-29 19:55:18 +01:00
dependabot[bot]
723b8baf2a
Bump web-sys from 0.3.65 to 0.3.66 ( #4800 )
...
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen ) from 0.3.65 to 0.3.66.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
---
updated-dependencies:
- dependency-name: web-sys
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>
2023-11-29 02:03:18 -05:00
dependabot[bot]
e5d5a492b6
Bump js-sys from 0.3.65 to 0.3.66
...
Bumps [js-sys](https://github.com/rustwasm/wasm-bindgen ) from 0.3.65 to 0.3.66.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
---
updated-dependencies:
- dependency-name: js-sys
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-11-28 12:01:11 -05:00
Xiaopeng Li
a6503e59c9
Support nv12 texture format ( #4573 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-11-28 16:11:26 +00:00
TÖRÖK Attila
2964eed6f9
Bump web-sys to 0.3.65 ( #4777 )
2023-11-26 17:54:29 -05:00
Teodor Tanasoaia
f4c6faf773
Rename ALLOW_NONCOMPLIANT_ADAPTER
to ALLOW_UNDERLYING_NONCOMPLIANT_ADAPTER
( #4760 )
...
* rename `ALLOW_NONCOMPLIANT_ADAPTER` to `ALLOW_UNDERLYING_NONCOMPLIANT_ADAPTER`
* clarify comment
2023-11-24 14:29:54 -05:00
i509VCB
1a7db86917
wgpu-hal(vk): Add WGPU_ALLOW_NONCOMPLIANT_ADAPTER ( #4754 )
2023-11-22 23:13:29 -05:00
Connor Fitzgerald
1df98d9888
Test And Normalize Vertex Behavior on All Backends ( #4723 )
...
Co-authored-by: teoxoy <28601907+teoxoy@users.noreply.github.com>
2023-11-21 22:11:24 +00:00
daxpedda
bec6560e10
Add WasmNotSendSync
( #4702 )
2023-11-16 19:47:10 -05:00
Andreas Reich
f7420511d0
rename/deprecate block_size -> block_copy_size, improve docs ( #4647 )
...
Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
2023-11-13 19:04:35 +00:00
Brad Werth
4e65eca1e8
More complete implementation of "lose the device". ( #4645 )
...
* More complete implementation of "lose the device".
This provides a way for wgpu-core to specify a callback on "lose the
device". It ensures this callback is called at the appropriate times:
either after device.destroy has empty queues, or on demand from
device.lose.
A test has been added to device.rs.
* Updated CHANGELOG.md.
* Fix conversion to *const c_char.
* Use an allow lint to permit trivial_casts.
* rustfmt changes.
2023-11-08 22:22:18 +01:00
dependabot[bot]
e78e9dd400
Bump js-sys from 0.3.64 to 0.3.65 ( #4622 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 23:41:23 -04:00
dependabot[bot]
862aff9447
Bump serde_json from 1.0.107 to 1.0.108 ( #4615 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.107 to 1.0.108.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.107...v1.0.108 )
---
updated-dependencies:
- dependency-name: serde_json
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>
2023-10-31 01:51:08 -04:00
Kevin Reid
e0341c52cf
Document nonzero surface size requirement. ( #4609 )
2023-10-29 23:22:38 -04:00
Connor Fitzgerald
2a9fdf9aa1
Misc Repo Cleanup Tasks ( #4579 )
...
* Misc Repo Cleanup Tasks
* Dependency Trimming
* Dep cleanup
* Restrict libfuzzer
* Flip cfg
* mod fuzz
2023-10-27 00:15:51 -04:00