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 Surface
s
...
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
Andreas Reich
e1913b1209
Introduce msl-out-if-target-apple
feature to Naga
2024-07-09 09:53:39 +02:00
Nicolas Silva
4c6318c0d2
Expose gpu allocation configuration options ( #5875 )
...
* Expose gpu allocation configuration options
This commit adds hints to control memory allocations strategies to the configuration options. These hints allow for automatic profiles such as optimizing for performance (the default, makes sense for a game), optimizing for memory usage (typically more useful for a web browser or UI library) and specifying settings manually.
The details of gpu allocation are still in flux. The goal is to switch vulkan and metal to gpu_allocator which is currently used with d3d12. gpu_allocator will also likely receive more configuration options, in particular the ability to start with smaller memory block sizes and progressively grow the block size. So the manual settings already provision for this upcoming option. Another approach could be to wait and add the manual option after the dust settles.
The reason for providing presets and defining values in the backends is that I am convinced that optimal fonigurations should take hardware capabilities into consideration. It's a deep rabbithole, though, so that will be an exercise for later.
* changelog
* Update CHANGELOG.md
Co-authored-by: Andreas Reich <r_andreas2@web.de>
* Add a comment about not entirely knowing what we are doing
---------
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-07-08 14:49:44 +02:00
teoxoy
9f34acd567
[wgpu-hal] return None
in Adapter.surface_capabilities()
if the Surface
and the Adapter
don't share the same WebGL2 context
2024-07-04 10:17:07 +02:00