Commit Graph

1112 Commits

Author SHA1 Message Date
Jerzy Wilczek
a9047c2af5
Change the DropGuard public API to a callback-based one. (#6164)
This patch also unifies the behavior of the the `DropGuard`-ish
constructs in the Vulkan-based implementation.
2024-08-27 16:44:34 +00:00
Imbris
fccd2981d0
Ensure glow::Context is current when dropped (#6114)
Cleanup code in glow needs the context to be current (mainly for debug
message callbacks).

See https://docs.rs/glow/0.14.0/glow/trait.HasContext.html#safety
2024-08-27 12:15:41 -04:00
Daniel McNab
685c2133f2
hal: cargo feature to allow using VK_GOOGLE_display_timing unsafely (#6149)
* Expose the raw swapchain from a vulkan `Surface`

* Allow setting the present timing information on hal Vulkan

* Fix clippy without the feature enabled

* CHANGELOG

* Revert inadvertently formatted Cargo.toml

* Move display timing to a feature

* Update the changelog

* Whitespace and doc wording tweaks

* Apply suggestions from code review

Co-authored-by: Marijn Suijten <marijns95@gmail.com>

* Revert inadvertent formatting changes again

* Remove unused qualification

Co-authored-by: Marijn Suijten <marijns95@gmail.com>

* Address review feedback

* Fix flow of sentence and follow intra-doc-link

* Add more docs to `set_next_present_time`, and rename

* Also rename `next_present_times`

* Apply suggestions from code review

Co-authored-by: Marijn Suijten <marijns95@gmail.com>

---------

Co-authored-by: Marijn Suijten <marijns95@gmail.com>
2024-08-27 11:25:04 -04:00
Erich Gubler
fac49ee97c chore: work around unused_qualifications from new prelude items in Rust 1.80
`std::mem::{size,align}_of{,_val}` was added to `std::prelude` in Rust
1.80; see
[`rust`#123168](https://github.com/rust-lang/rust/pull/123168/).
However, we don't have an MSRV at 1.80 or higher yet. So, let's work
around it by importing these items fully. Since neither `clippy` nor
`rustc` lint against shadowed `prelude` items yet (see also a [proposed
`clippy` lint] for such), that lets us remove the explicit `std::mem::*`
imports later at our leisure.

[proposed `clippy` lint]: https://github.com/rust-lang/rust-clippy/issues/8439
2024-08-23 16:20:34 -04:00
Valaphee The Meerkat
b4db97f97b
Add HTMLImageElement/ImageData as external source for copying images (#5668)
* Add `HTMLImageElement` as external source for copying images

* Typo
2024-08-20 12:54:24 -04:00
Marijn Suijten
a157c3cf4b
[wgpu-hal] Migrate d3d12 backend over to windows-rs (#5956)
* windows-rs 0.58

* Clean up suspicious committed allocation workaround

* dx12: Flatten suballocation module
2024-08-20 11:48:37 -04:00
Kornel
222f1ea733 Reduce code size of error handling 2024-08-19 14:38:20 +01:00
Erich Gubler
abc56417bb
refactor(web): satisfy unused_qualifications (#6121) 2024-08-15 16:56:12 +00:00
Erich Gubler
23e7846400 refactor(hal): satisfy trivial_casts 2024-08-15 14:14:13 +01:00
Erich Gubler
89a64e911d refactor(hal): remove unneeded trivial_casts suppr. 2024-08-15 14:14:13 +01:00
teoxoy
2c31414517 add an Unexpected variant to DeviceError 2024-08-15 13:56:05 +01:00
teoxoy
24134e049f handle all vulkan error variants for each function explicitly 2024-08-15 13:56:05 +01:00
teoxoy
e4c5b4760b introduce a new function that handles unexpected vulkan errors that can't be mapped to DeviceError::Lost 2024-08-15 13:56:05 +01:00
teoxoy
8b6450a9ce handle all variants of gpu_descriptor::AllocationError explicitly 2024-08-15 13:56:05 +01:00
teoxoy
7103520bd3 introduce a new function for hal usage errors 2024-08-15 13:56:05 +01:00
teoxoy
a0c107f7c8 remove handling of error that is not documented to be returned by vkAllocateMemory 2024-08-15 13:56:05 +01:00
Fionn Langhans
273c2c4b1a Fixed spelling mistake in URL of d3d12 2024-08-14 23:16:58 +02:00
Andreas Reich
3181251577 Core adapter no longer uses any generics 2024-08-14 17:34:11 +02:00
Andreas Reich
04cadfb369 Core's Surface, Instance and Adapter use now dynamic hal types 2024-08-14 17:34:11 +02:00
Andreas Reich
5b9198fd43 introduce DynInstance 2024-08-14 17:34:11 +02:00
Andreas Reich
6f01cbff06 introduce DynAdapter 2024-08-14 17:34:11 +02:00
Andreas Reich
99ffc129eb remove unnecessary debug constraints from Api (handled by Dyn traits) 2024-08-14 17:34:11 +02:00
Andreas Reich
27944debb1 DynCommandEncoder acceleration structure building 2024-08-14 17:34:11 +02:00
Andreas Reich
d87aa3635e DynCommandencoder end_encoding, reset_all 2024-08-14 17:34:11 +02:00
Andreas Reich
1a9170e57b DynDevice exit, counters, report 2024-08-14 17:34:11 +02:00
Andreas Reich
9e1f1487b4 DynDevice acceleration structure handling 2024-08-14 17:34:11 +02:00
Andreas Reich
522b98c582 DynDevice wait/capture/pipeline_cache_get_data 2024-08-14 17:34:11 +02:00
Andreas Reich
dbf9aea0ba DynDevice fence 2024-08-14 17:34:11 +02:00
Andreas Reich
84c4811f81 DynDevice create/destroy query set 2024-08-14 17:34:11 +02:00
Andreas Reich
4d355bf30e DynDevice pipeline cache 2024-08-14 17:34:11 +02:00
Andreas Reich
3932f8b854 DynDevice create/destroy compute/render pipeline 2024-08-14 17:34:11 +02:00
Andreas Reich
ad5c7fe50e DynDevice create/destroy ShaderModule 2024-08-14 17:34:11 +02:00
Andreas Reich
276753f963 DynDevice create/destroy bind group
bindgroup fixup
2024-08-14 17:34:11 +02:00
Andreas Reich
33f57e2305 DynDevice create/destroy pipeline layout 2024-08-14 17:34:11 +02:00
Andreas Reich
1da319f804 DynDevice create/destroy bind group layout 2024-08-14 17:34:11 +02:00
Andreas Reich
05a09338cd DynDevice create/destroy command encoder 2024-08-14 17:34:11 +02:00
Andreas Reich
ea0df25d5e DynDevice create/destroy for texture/textureview/sampler 2024-08-14 17:34:11 +02:00
Andreas Reich
b599d97243 DynDevice buffer operations 2024-08-14 17:34:11 +02:00
Andreas Reich
72f30a34f5 introduce DynQueue 2024-08-14 17:34:11 +02:00
Andreas Reich
4e5721350f introduce DynSurface 2024-08-14 17:34:11 +02:00
Andreas Reich
70f7641193 impl DynSurfaceTexture for all surface textures 2024-08-14 17:34:11 +02:00
Andreas Reich
1d19a205a5 impl DynFence for all fences 2024-08-14 17:34:11 +02:00
Andreas Reich
3faed2bf52 Device now has to implement DynResource 2024-08-14 17:34:11 +02:00
Andreas Reich
df5cc12935 impl DynCommandBuffer 2024-08-14 17:34:11 +02:00
Andreas Reich
a9cb7fc855 impl DynShaderModule for all backends 2024-08-14 17:34:11 +02:00
Andreas Reich
b4c6741970 add most remaining dyn type traits 2024-08-14 17:34:11 +02:00
Andreas Reich
add54f19d8 Introduce DynDevice 2024-08-14 17:34:11 +02:00
Andreas Reich
b7e11c76df texture & buffer transitioning always uses DynCommandEncoder now
collateral: ComputePass uses DynCommandEncoder during recording
2024-08-14 17:34:11 +02:00
Andreas Reich
c02ee6270b buffer / texture copy operations for DynCommandEncoder 2024-08-14 17:34:11 +02:00
Andreas Reich
39b408218f implement transition_textures for DynCommandEncoder 2024-08-14 17:34:11 +02:00
Andreas Reich
eeaf27749c implement begin/end render/computepass for dyncommandencoder 2024-08-14 17:34:11 +02:00
Andreas Reich
a47a0cb3d9 render/compute pass descriptors work now with dyn types 2024-08-14 17:34:11 +02:00
Andreas Reich
bdf6710d58 introduce DynTexture & DynTextureView 2024-08-14 17:34:11 +02:00
Andreas Reich
bea9a10f90 fold ComputePassTimestampWrites & RenderPassTimestampWrites and make PassTimestampWrites usable with DynQuerySet 2024-08-14 17:34:11 +02:00
Andreas Reich
fc764b4b17 Introduce DynComputePipeline & DynRenderPipeline 2024-08-14 17:34:11 +02:00
Andreas Reich
50a1811229 Introduce DynPipelineLayout & DynBindGroup 2024-08-14 17:34:11 +02:00
Andreas Reich
f8871e6ed1 introduce DynQuerySet, associated DynCommandEncoder methods 2024-08-14 17:34:11 +02:00
Andreas Reich
9b20fd8507 DynCommandEncoder implement begin/end encoding, debug markers, various buffer operations 2024-08-14 17:34:11 +02:00
Andreas Reich
256ec6e447 Introduce DynCommandEncoder, implement index & vertex buffer ops on it 2024-08-14 17:34:11 +02:00
Andreas Reich
a4d9d38d03 BufferBarrier no longer depend on hal api struct, but directly on buffer type 2024-08-14 17:34:11 +02:00
Andreas Reich
cda9d9af65 Buffer bindings no longer depend on hal api struct, but directly on buffer type 2024-08-14 17:34:11 +02:00
Andreas Reich
d2508d9ad6 introduce DynResource & DynBuffer as first user 2024-08-14 17:34:11 +02:00
Samson
c6a3d92734
Rg11b10Float -> Rg11b10UFloat and deduplicate entries in TEXTURE_FORMAT_LIST (#6108)
* Resync `TEXTURE_FORMAT_LIST` to match `TextureFormat`

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* `Rg11b10Float` -> `Rg11b10UFloat`

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* Add changelog entry

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-08-13 08:28:55 +00:00
Erich Gubler
5533c37786 chore: satisfy clippy::collapsible_match 2024-08-13 08:42:41 +01:00
teoxoy
7c917abf52 [gl] gate usage of glFlushMappedBufferRange
This is done in the same way as in `map_buffer` & `unmap_buffer`.
2024-08-12 14:20:56 +01:00
teoxoy
b594497f4a [gl] fix usage of glFlushMappedBufferRange
`offset` is relative to the start of the mapping not the start of the buffer.
2024-08-12 14:20:56 +01:00
Teodor Tanasoaia
94f54b3dc8
Add a separate pipeline constants error (#6094) 2024-08-12 09:20:36 +02:00
Mehmet Oguz Derin
34b0df277c
Support texture-compression-bc-sliced-3d in wgpu (#5751) 2024-08-10 12:02:29 +02:00
James Pruitt
594476c991
Check Opengl version is 3.3+ before creating a GL context over a GL ES context (#5996)
* Retry with GLES if creating a GL context fails

* Cleaner GL context creation retry
2024-08-06 08:19:23 +00:00
Nicolas Silva
9c6ae1beae
Log spring cleaning (#6065)
Remove unused logs in wgpu-core and wgpu-hal
2024-07-31 16:24:23 +00:00
teoxoy
1cb7ebab99 [wgpu-hal] replace Instance.destroy_surface() with Drop impls on Surfaces
Only the metal and vulkan backends require
destruction code and it can go in a `Drop` impl since
the `Instance` is unused in those implementations.
2024-07-29 17:31:24 +02:00
teoxoy
ccd6d2ca48 remove BoundsCheckPolicies.image_store 2024-07-26 10:44:22 -07:00
Bruce Mitchener
3166d37754
Use workspace dependencies more. (#6020) 2024-07-26 18:48:01 +02:00
Marijn Suijten
2611d18b15 gles/wgl: Migrate from ancient/unmaintained winapi to windows-rs 2024-07-25 11:15:26 +02:00
Erich Gubler
65b6e15f0f chore: satisfy clippy::unused_qualifications 2024-07-24 12:09:15 -04:00
Erich Gubler
723995d9a9 refactor: warn on and satisfy clippy::{ptr_as_ptr,ref_as_ptr} in wgpu-{core,hal,types}
…using `cargo +1.79.0 clippy --workspace --all-features --all-targets
--fix`, plus some manual changes to (1) catch some missed cases (not run
on all platforms?) and (2) `--fix` doesn't make things compile again. 😀
2024-07-24 12:09:15 -04:00
Bruce Mitchener
06649a39f3
Fix a clippy::doc_lazy_continuation lint (#6036) 2024-07-24 18:08:21 +02:00
Bruce Mitchener
4f02057359 Convert some module doc comments
Some module doc comments were using `/*! ... */` syntax and had
leading ` *` prefixes on each line. This interferes with the
tracking of `clippy::doc_lazy_continuation`, so switch those over
to `//!` style comment blocks.

This leaves `/*! ... */` blocks alone which didn't prefix each
line.
2024-07-24 11:17:00 -04:00
Erich Gubler
7b2e08fb94
refactor: satisfy clippy::missing_transmute_annotations (#6024)
* refactor(metal): satisfy `clippy::missing_transmute_annotations`

* refactor(gles): satisfy `clippy::missing_transmute_annotations`

* refactor(metal): `metal::Surface::view`: use `ptr::cast` instead of `as`
2024-07-24 08:56:45 +02:00
Bruce Mitchener
0aca442d15
typos: More precise config, remove refs to "implace" (#6018)
The config can be made more precise so as to not accidentally
ignore some issues due to case (in-)sensitivity and searching for
substrings with `extend-words`.

Additionally, we can check the configuration directories as
well like `.github`.

The usage of `implace_it` went away some time ago, but not all
references were removed.
2024-07-24 08:55:10 +02:00
Erich Gubler
667096491d style: remove trailing colons in Safety section names 2024-07-23 14:02:16 -07:00
Erich Gubler
b350ca432b style: use uppercase for SAFETY comments 2024-07-23 14:02:16 -07:00
dependabot[bot]
101c996703
build(deps): bump the patch-updates group with 15 updates (#6008)
Bumps the patch-updates group with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [bit-vec](https://github.com/contain-rs/bit-vec) | `0.7.0` | `0.8.0` |
| [libloading](https://github.com/nagisa/rust_libloading) | `0.8.4` | `0.8.5` |
| [tracy-client](https://github.com/nagisa/rust_tracy_client) | `0.17.0` | `0.17.1` |
| [thiserror](https://github.com/dtolnay/thiserror) | `1.0.62` | `1.0.63` |
| [bit-set](https://github.com/contain-rs/bit-set) | `0.6.0` | `0.8.0` |
| [glow](https://github.com/grovesNL/glow) | `0.13.1` | `0.14.0` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.38.0` | `1.38.1` |
| [syn](https://github.com/dtolnay/syn) | `2.0.71` | `2.0.72` |
| [arrayref](https://github.com/droundy/arrayref) | `0.3.7` | `0.3.8` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.1.5` | `1.1.6` |
| [thiserror-impl](https://github.com/dtolnay/thiserror) | `1.0.62` | `1.0.63` |
| [thread-id](https://github.com/ruuda/thread-id) | `4.2.1` | `4.2.2` |
| [tracy-client-sys](https://github.com/nagisa/rust_tracy_client) | `0.22.2` | `0.23.0` |
| [wayland-backend](https://github.com/smithay/wayland-rs) | `0.3.5` | `0.3.6` |
| [xcursor](https://github.com/esposm03/xcursor-rs) | `0.3.5` | `0.3.6` |


Updates `bit-vec` from 0.7.0 to 0.8.0
- [Changelog](https://github.com/contain-rs/bit-vec/blob/master/RELEASES.md)
- [Commits](https://github.com/contain-rs/bit-vec/commits)

Updates `libloading` from 0.8.4 to 0.8.5
- [Commits](https://github.com/nagisa/rust_libloading/compare/0.8.4...0.8.5)

Updates `tracy-client` from 0.17.0 to 0.17.1
- [Commits](https://github.com/nagisa/rust_tracy_client/compare/tracy-client-v0.17.0...tracy-client-v0.17.1)

Updates `thiserror` from 1.0.62 to 1.0.63
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.62...1.0.63)

Updates `bit-set` from 0.6.0 to 0.8.0
- [Release notes](https://github.com/contain-rs/bit-set/releases)
- [Changelog](https://github.com/contain-rs/bit-set/blob/master/RELEASES.md)
- [Commits](https://github.com/contain-rs/bit-set/commits)

Updates `glow` from 0.13.1 to 0.14.0
- [Commits](https://github.com/grovesNL/glow/commits)

Updates `tokio` from 1.38.0 to 1.38.1
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.38.0...tokio-1.38.1)

Updates `syn` from 2.0.71 to 2.0.72
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.71...2.0.72)

Updates `arrayref` from 0.3.7 to 0.3.8
- [Commits](https://github.com/droundy/arrayref/commits)

Updates `cc` from 1.1.5 to 1.1.6
- [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.1.5...cc-v1.1.6)

Updates `thiserror-impl` from 1.0.62 to 1.0.63
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.62...1.0.63)

Updates `thread-id` from 4.2.1 to 4.2.2
- [Changelog](https://github.com/ruuda/thread-id/blob/master/changelog.md)
- [Commits](https://github.com/ruuda/thread-id/compare/v4.2.1...v4.2.2)

Updates `tracy-client-sys` from 0.22.2 to 0.23.0
- [Commits](https://github.com/nagisa/rust_tracy_client/compare/tracy-client-sys-v0.22.2...tracy-client-sys-v0.23.0)

Updates `wayland-backend` from 0.3.5 to 0.3.6
- [Release notes](https://github.com/smithay/wayland-rs/releases)
- [Changelog](https://github.com/Smithay/wayland-rs/blob/master/historical_changelog.md)
- [Commits](https://github.com/smithay/wayland-rs/commits)

Updates `xcursor` from 0.3.5 to 0.3.6
- [Commits](https://github.com/esposm03/xcursor-rs/commits)

---
updated-dependencies:
- dependency-name: bit-vec
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: libloading
  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: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: bit-set
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: glow
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: arrayref
  dependency-type: indirect
  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: thiserror-impl
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: thread-id
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: tracy-client-sys
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: wayland-backend
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: xcursor
  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-07-22 00:20:29 -04:00
Andreas Reich
c0e7c1ef94 Bump core MSRV to 1.76 2024-07-20 15:55:28 -04:00
Bruce Mitchener
cf5798291f
Remove allow(unknown_lints) and clippy::if_then_panic (#6000) 2024-07-20 03:35:19 +00:00
Brad Werth
6cd387412f Remove vertex_pulling_transfrom from PipelineCompilationOptions.
This option was only evaluated for Metal backends, and now it's required
there so the option is going away. It is still configurable for tests
via the PipelineOptions struct, deserialized from .ron files.

This also fixes some type problems with the unpack functions in
writer.rs. Metal << operator extends operand to int-sized, which then
has to be cast back down to the real size before as_type bit conversion.
The math for the snorm values is corrected, in some cases using the
metal unpack_snorm2x16_to_float function because we can't directly
cast a bit-shifted ushort value to half.
2024-07-19 17:13:45 +02:00
Nicolas Silva
bc7622f641 Expose GPU allocation reports in wgpu, wgpu-core and wgpu-hal 2024-07-19 10:16:29 +02:00
Nicolas Silva
8aed6ed220
Update gpu-allocator dependency to 0.27 (#5982) 2024-07-18 19:18:32 -04:00
Erich Gubler
6a1432c132 chore: release 22.0.0 2024-07-18 11:54:46 -04:00
Jim Blandy
2bc328c46f [hal, core] Introduce wgpu_hal::AtomicFenceValue, and use it.
Introduce the new type alias `wgpu_hal::AtomicFenceValue`, which is
the atomic version of `wgpu_hal::FenceValue`. Use this type alias in
`wgpu_core`. Remove `as` conversions made unnecessary since we're not
conflating `usize` with `u64` any more.
2024-07-17 16:11:04 -07:00
Jim Blandy
a47ed5dc1e [hal doc] Note wgpu_hal::Queue::submit's expectations for Fence. 2024-07-17 16:11:04 -07:00
teoxoy
241b52f7ea [example] add instructions to halmark 2024-07-17 14:03:11 +02:00
dependabot[bot]
12e07eb1bf
build(deps): bump the patch-updates group across 1 directory with 23 updates (#5944)
* build(deps): bump the patch-updates group across 1 directory with 23 updates

Bumps the patch-updates group with 18 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [document-features](https://github.com/slint-ui/document-features) | `0.2.8` | `0.2.9` |
| [glam](https://github.com/bitshifter/glam-rs) | `0.27.0` | `0.28.0` |
| [serde](https://github.com/serde-rs/serde) | `1.0.203` | `1.0.204` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.119` | `1.0.120` |
| [metal](https://github.com/gfx-rs/metal-rs) | `0.28.0` | `0.29.0` |
| [syn](https://github.com/dtolnay/syn) | `2.0.68` | `2.0.70` |
| [ab_glyph](https://github.com/alexheretic/ab-glyph) | `0.2.27` | `0.2.28` |
| [async-trait](https://github.com/dtolnay/async-trait) | `0.1.80` | `0.1.81` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.0.103` | `1.1.0` |
| [clap](https://github.com/clap-rs/clap) | `4.5.8` | `4.5.9` |
| [deno_unsync](https://github.com/denoland/deno_unsync) | `0.3.5` | `0.3.10` |
| oorandom | `11.1.3` | `11.1.4` |
| [tinyvec](https://github.com/Lokathor/tinyvec) | `1.6.1` | `1.8.0` |
| [unicode-id-start](https://github.com/Boshen/unicode-id-start) | `1.1.2` | `1.2.0` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.9.1` | `1.10.0` |
| [wayland-backend](https://github.com/smithay/wayland-rs) | `0.3.4` | `0.3.5` |
| [windows_i686_gnullvm](https://github.com/microsoft/windows-rs) | `0.52.5` | `0.52.6` |
| [zerocopy](https://github.com/google/zerocopy) | `0.7.34` | `0.7.35` |



Updates `document-features` from 0.2.8 to 0.2.9
- [Release notes](https://github.com/slint-ui/document-features/releases)
- [Changelog](https://github.com/slint-ui/document-features/blob/master/CHANGELOG.md)
- [Commits](https://github.com/slint-ui/document-features/compare/v0.2.8...v0.2.9)

Updates `glam` from 0.27.0 to 0.28.0
- [Changelog](https://github.com/bitshifter/glam-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitshifter/glam-rs/compare/0.27.0...0.28.0)

Updates `serde` from 1.0.203 to 1.0.204
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.203...v1.0.204)

Updates `serde_json` from 1.0.119 to 1.0.120
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.119...v1.0.120)

Updates `metal` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/gfx-rs/metal-rs/releases)
- [Commits](https://github.com/gfx-rs/metal-rs/commits)

Updates `syn` from 2.0.68 to 2.0.70
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.68...2.0.70)

Updates `ab_glyph` from 0.2.27 to 0.2.28
- [Release notes](https://github.com/alexheretic/ab-glyph/releases)
- [Commits](https://github.com/alexheretic/ab-glyph/compare/ab-glyph-0.2.27...ab-glyph-0.2.28)

Updates `async-trait` from 0.1.80 to 0.1.81
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.80...0.1.81)

Updates `cc` from 1.0.103 to 1.1.0
- [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.0.103...cc-v1.1.0)

Updates `clap` from 4.5.8 to 4.5.9
- [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.8...v4.5.9)

Updates `clap_builder` from 4.5.8 to 4.5.9
- [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.8...v4.5.9)

Updates `deno_unsync` from 0.3.5 to 0.3.10
- [Commits](https://github.com/denoland/deno_unsync/commits)

Updates `oorandom` from 11.1.3 to 11.1.4

Updates `owned_ttf_parser` from 0.21.0 to 0.24.0
- [Release notes](https://github.com/alexheretic/owned-ttf-parser/releases)
- [Changelog](https://github.com/alexheretic/owned-ttf-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/alexheretic/owned-ttf-parser/compare/0.21.0...0.24.0)

Updates `serde_derive` from 1.0.203 to 1.0.204
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.203...v1.0.204)

Updates `tinyvec` from 1.6.1 to 1.8.0
- [Changelog](https://github.com/Lokathor/tinyvec/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Lokathor/tinyvec/compare/v1.6.1...v1.8.0)

Updates `ttf-parser` from 0.21.1 to 0.24.0
- [Changelog](https://github.com/RazrFalcon/ttf-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/ttf-parser/compare/v0.21.1...v0.24.0)

Updates `unicode-id-start` from 1.1.2 to 1.2.0
- [Commits](https://github.com/Boshen/unicode-id-start/commits)

Updates `uuid` from 1.9.1 to 1.10.0
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.9.1...1.10.0)

Updates `wayland-backend` from 0.3.4 to 0.3.5
- [Release notes](https://github.com/smithay/wayland-rs/releases)
- [Changelog](https://github.com/Smithay/wayland-rs/blob/master/historical_changelog.md)
- [Commits](https://github.com/smithay/wayland-rs/commits)

Updates `windows_i686_gnullvm` from 0.52.5 to 0.52.6
- [Release notes](https://github.com/microsoft/windows-rs/releases)
- [Commits](https://github.com/microsoft/windows-rs/commits)

Updates `zerocopy` from 0.7.34 to 0.7.35
- [Release notes](https://github.com/google/zerocopy/releases)
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/zerocopy/commits)

Updates `zerocopy-derive` from 0.7.34 to 0.7.35
- [Release notes](https://github.com/google/zerocopy/releases)
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/zerocopy/commits)

---
updated-dependencies:
- dependency-name: document-features
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: glam
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: serde
  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: metal
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: ab_glyph
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: async-trait
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: cc
  dependency-type: indirect
  update-type: version-update:semver-minor
  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: deno_unsync
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: oorandom
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: owned_ttf_parser
  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: tinyvec
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: ttf-parser
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: unicode-id-start
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: uuid
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: wayland-backend
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: windows_i686_gnullvm
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: zerocopy
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: zerocopy-derive
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update encase to resolve glam dependency issue

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-07-14 22:14:40 +02:00
JMS55
17fcb19425
[naga, hal] miscellaneous fixes for Atomic64 support (#5952)
In `naga:🔙hlsl`:

- Generate calls to `Interlocked{op}64` when necessary. not
  `Interlocked{op}`.

- Make atomic operations that do not produce a value emit their
  operands properly.
  
In the Naga snapshot tests:

- Adapt `atomicOps-int64-min-max.wgsl` to include cases that
  cover non-trivial atomic operation operand emitting.

In `wgpu_hal::vulkan::adapter`:

- When retrieving physical device features, be sure to include
  the `PhysicalDeviceShaderAtomicInt64Features` extending struct
  in the chain whenever the `VK_KHR_shader_atomic_int64` extension
  is available.

- Request both `shader_{buffer,shared}_int64_atomics` in the
  `PhysicalDeviceShaderAtomicInt64Features` extending struct when either of
  `wgpu_types::Features::SHADER_INT64_ATOMIC_{ALL_OPS,MIN_MAX}` is requested.

---------

Co-authored-by: Jim Blandy <jimb@red-bean.com>
2024-07-13 19:17:59 -07:00
teoxoy
6f16ea460a make the StagingBuffer implementation more robust 2024-07-12 16:33:57 +02:00
teoxoy
26f65ddffd [wgpu-hal] remove return type from Device.unmap_buffer()
It's already documented that to unmap a buffer it has to have been mapped.
Vulkan was the only backend that was returning an OOM on missing `Buffer.block` but `Buffer.map_buffer` already returns an error in this case.
2024-07-12 16:33:57 +02:00
Xiaopeng Li
349f182966
[d3d12] Drop resource before free suballocation (#5943) 2024-07-11 13:07:30 +02:00
Bruce Mitchener
ee16de1c63
clippy: Fix doc_lazy_continuation lints (#5935)
These are in nightly builds.
2024-07-11 08:44:43 +02:00
Xiaopeng Li
4349e20b8d
Expose adapter driver version for DX12 backend (#5927) 2024-07-10 16:20:23 +02:00
Andreas Reich
7c51bb4a13 Introduce hlsl-out-if-target-windows feature to Naga 2024-07-09 09:53:39 +02:00