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
teoxoy
7910fd8059
[wgpu-hal] require a Surface
to be passed to Instance.enumerate_adapters()
on WebGL2
...
Also makes wgpu's `enumerate_adapters()` native only.
2024-07-04 10:17:07 +02:00
Imbris
3a6814770a
Allow unconsumed inputs in fragment shaders ( #5531 )
...
* Allow unconsumed inputs in fragment shaders by removing them from vertex
outputs when generating HLSL.
Fixes https://github.com/gfx-rs/wgpu/issues/3748
* Add naga:🔙 :hlsl::FragmentEntryPoint for providing information
about the fragment entry point when generating vertex entry points via
naga:🔙 :hlsl::Writer::write. Vertex outputs not consumed by the
fragment entry point are omitted in the final output struct.
* Add naga snapshot test for this new feature,
* Remove Features::SHADER_UNUSED_VERTEX_OUTPUT,
StageError::InputNotConsumed, and associated validation logic.
* Make wgpu dx12 backend pass fragment shader info when generating
vertex HLSL.
* Add wgpu regression test for allowing unconsumed inputs.
* Address review
* Add note that nesting structs for the inter-stage interface can't
happen.
* Remove new TODO notes (some addressed and some transferred to an issue
https://github.com/gfx-rs/wgpu/issues/5577 )
* Changed issue that regression test refers to 3748 -> 5553
* Add debug_assert that binding.is_some() in hlsl writer
* Fix typos caught in CI
Also, fix compiling snapshot test when hlsl-out feature is not enabled.
2024-07-04 09:08:46 +02:00
dependabot[bot]
9d12a0a122
build(deps): bump the patch-updates group across 1 directory with 27 updates ( #5895 )
...
Bumps the patch-updates group with 24 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [bit-vec](https://github.com/contain-rs/bit-vec ) | `0.6.3` | `0.7.0` |
| [bitflags](https://github.com/bitflags/bitflags ) | `2.5.0` | `2.6.0` |
| [bytemuck](https://github.com/Lokathor/bytemuck ) | `1.16.0` | `1.16.1` |
| [libloading](https://github.com/nagisa/rust_libloading ) | `0.8.3` | `0.8.4` |
| [log](https://github.com/rust-lang/log ) | `0.4.21` | `0.4.22` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.117` | `1.0.119` |
| [bit-set](https://github.com/contain-rs/bit-set ) | `0.5.3` | `0.6.0` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.66` | `2.0.68` |
| [ab_glyph](https://github.com/alexheretic/ab-glyph ) | `0.2.26` | `0.2.27` |
| [backtrace](https://github.com/rust-lang/backtrace-rs ) | `0.3.72` | `0.3.73` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.0.99` | `1.0.103` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.6` | `4.5.8` |
| [deno_unsync](https://github.com/denoland/deno_unsync ) | `0.3.4` | `0.3.5` |
| [derive_more](https://github.com/JelteF/derive_more ) | `0.99.17` | `0.99.18` |
| [either](https://github.com/rayon-rs/either ) | `1.12.0` | `1.13.0` |
| [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs ) | `1.4.0` | `1.5.0` |
| [memchr](https://github.com/BurntSushi/memchr ) | `2.7.2` | `2.7.4` |
| [miniz_oxide](https://github.com/Frommi/miniz_oxide ) | `0.7.3` | `0.7.4` |
| [num-bigint](https://github.com/rust-num/num-bigint ) | `0.4.5` | `0.4.6` |
| [polling](https://github.com/smol-rs/polling ) | `3.7.1` | `3.7.2` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.85` | `1.0.86` |
| [tinyvec](https://github.com/Lokathor/tinyvec ) | `1.6.0` | `1.6.1` |
| [url](https://github.com/servo/rust-url ) | `2.5.0` | `2.5.2` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.8.0` | `1.9.1` |
Updates `bit-vec` from 0.6.3 to 0.7.0
- [Commits](https://github.com/contain-rs/bit-vec/commits )
Updates `bitflags` from 2.5.0 to 2.6.0
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.5.0...2.6.0 )
Updates `bytemuck` from 1.16.0 to 1.16.1
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md )
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.16.0...v1.16.1 )
Updates `libloading` from 0.8.3 to 0.8.4
- [Commits](https://github.com/nagisa/rust_libloading/compare/0.8.3...0.8.4 )
Updates `log` from 0.4.21 to 0.4.22
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.21...0.4.22 )
Updates `serde_json` from 1.0.117 to 1.0.119
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.117...v1.0.119 )
Updates `bit-set` from 0.5.3 to 0.6.0
- [Release notes](https://github.com/contain-rs/bit-set/releases )
- [Commits](https://github.com/contain-rs/bit-set/commits )
Updates `syn` from 2.0.66 to 2.0.68
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.66...2.0.68 )
Updates `ab_glyph` from 0.2.26 to 0.2.27
- [Release notes](https://github.com/alexheretic/ab-glyph/releases )
- [Commits](https://github.com/alexheretic/ab-glyph/compare/ab-glyph-0.2.26...ab-glyph-0.2.27 )
Updates `backtrace` from 0.3.72 to 0.3.73
- [Release notes](https://github.com/rust-lang/backtrace-rs/releases )
- [Commits](https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 )
Updates `cc` from 1.0.99 to 1.0.103
- [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/1.0.99...cc-v1.0.103 )
Updates `clap` from 4.5.6 to 4.5.8
- [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.6...v4.5.8 )
Updates `clap_builder` from 4.5.6 to 4.5.8
- [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.6...v4.5.8 )
Updates `clap_derive` from 4.5.5 to 4.5.8
- [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.5...v4.5.8 )
Updates `deno_unsync` from 0.3.4 to 0.3.5
- [Commits](https://github.com/denoland/deno_unsync/commits )
Updates `derive_more` from 0.99.17 to 0.99.18
- [Release notes](https://github.com/JelteF/derive_more/releases )
- [Changelog](https://github.com/JelteF/derive_more/blob/v0.99.18/CHANGELOG.md )
- [Commits](https://github.com/JelteF/derive_more/compare/v0.99.17...v0.99.18 )
Updates `either` from 1.12.0 to 1.13.0
- [Commits](https://github.com/rayon-rs/either/compare/1.12.0...1.13.0 )
Updates `lazy_static` from 1.4.0 to 1.5.0
- [Release notes](https://github.com/rust-lang-nursery/lazy-static.rs/releases )
- [Commits](https://github.com/rust-lang-nursery/lazy-static.rs/compare/1.4.0...1.5.0 )
Updates `memchr` from 2.7.2 to 2.7.4
- [Commits](https://github.com/BurntSushi/memchr/compare/2.7.2...2.7.4 )
Updates `miniz_oxide` from 0.7.3 to 0.7.4
- [Changelog](https://github.com/Frommi/miniz_oxide/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Frommi/miniz_oxide/commits )
Updates `num-bigint` from 0.4.5 to 0.4.6
- [Changelog](https://github.com/rust-num/num-bigint/blob/master/RELEASES.md )
- [Commits](https://github.com/rust-num/num-bigint/compare/num-bigint-0.4.5...num-bigint-0.4.6 )
Updates `object` from 0.35.0 to 0.36.1
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/object/compare/0.35.0...0.36.1 )
Updates `polling` from 3.7.1 to 3.7.2
- [Release notes](https://github.com/smol-rs/polling/releases )
- [Changelog](https://github.com/smol-rs/polling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/polling/compare/v3.7.1...v3.7.2 )
Updates `proc-macro2` from 1.0.85 to 1.0.86
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.85...1.0.86 )
Updates `tinyvec` from 1.6.0 to 1.6.1
- [Changelog](https://github.com/Lokathor/tinyvec/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Lokathor/tinyvec/compare/v1.6.0...v1.6.1 )
Updates `url` from 2.5.0 to 2.5.2
- [Release notes](https://github.com/servo/rust-url/releases )
- [Commits](https://github.com/servo/rust-url/compare/v2.5.0...v2.5.2 )
Updates `uuid` from 1.8.0 to 1.9.1
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/1.8.0...1.9.1 )
---
updated-dependencies:
- dependency-name: bit-vec
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: bitflags
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: libloading
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: log
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: bit-set
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: backtrace
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: 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_derive
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: derive_more
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: either
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: lazy_static
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: memchr
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: miniz_oxide
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: num-bigint
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: object
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: polling
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: tinyvec
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: url
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: uuid
dependency-type: indirect
update-type: version-update:semver-minor
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-01 10:51:47 +02:00
Nicolas Silva
e92e543b7b
Allow clippy::pattern_type_mismatch in hal
...
For the same reasons we allow it in core.
2024-06-25 15:11:47 +02:00
teoxoy
333ed78529
[gl] reorder program_cache
& context
lock acquisition
...
We are using `program_cache.try_lock()` when creting pipelines which is covered by a guard gotten from `context.lock()`. For the `.try_lock()` to always succeed we need to make sure that the other lock acquisitions are also covered by a `context.lock()`.
The `wgpu_examples::hello_compute::tests::multithreaded_compute` test has been failing intermittently in CI due to this.
2024-06-24 16:57:06 +02:00
Nicolas Silva
1de04926b1
Add infrastructure for counting and reporting internal resources ( #5708 )
...
* Add an optional system for counting and reporting internal resources and events
* Count API objects in wgpu-hal
* Expose internal counters in wgpu-core and wgpu.
2024-06-24 11:20:10 +02:00
Jubilee Young
1ced6c6165
Make compile_fxc accept full_stage: &CStr
2024-06-18 10:34:20 +02:00
Erich Gubler
b9e787e667
refactor: satisfy clippy::never_loop
2024-06-17 05:26:03 -04:00
Jubilee
d309bba8fc
Do not feed &"" to D3DCompile ( #5812 )
...
A recent change by rustc, now in 1.79-stable, makes empty str constants
point to the same location: 0x01. This is an optimization of sorts, not
stable behavior. Code must not rely on constants having stable addresses
nor should it pass &"" to APIs expecting CStrs or NULL addresses.
D3DCompile will segfault if you give it such a pointer, or worse:
read random garbage addresses!
Pass the NULL pointer to D3DCompile if wgpu lacks a decent CString.
refs:
- https://learn.microsoft.com/en-us/windows/win32/api/d3dcompiler/nf-d3dcompiler-d3dcompile
Co-authored-by: Jan Hohenheim <jan@hohenheim.ch>
Co-authored-by: Brezak <bezak.adam@proton.me>
2024-06-14 14:34:58 +02:00
Jim Blandy
3b5051071a
[hal] Document buffer mapping and coherence.
2024-06-13 20:47:08 -07:00
dependabot[bot]
09acceebca
build(deps): bump the patch-updates group with 12 updates ( #5790 )
...
Bumps the patch-updates group with 12 updates:
| Package | From | To |
| --- | --- | --- |
| [glutin_wgl_sys](https://github.com/rust-windowing/glutin ) | `0.5.0` | `0.6.0` |
| [anstyle-query](https://github.com/rust-cli/anstyle ) | `1.0.3` | `1.1.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.0.98` | `1.0.99` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.4` | `4.5.6` |
| [clap_builder](https://github.com/clap-rs/clap ) | `4.5.2` | `4.5.6` |
| [clap_derive](https://github.com/clap-rs/clap ) | `4.5.4` | `4.5.5` |
| [clap_lex](https://github.com/clap-rs/clap ) | `0.7.0` | `0.7.1` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.4` | `1.10.5` |
| [unicode-width](https://github.com/unicode-rs/unicode-width ) | `0.1.12` | `0.1.13` |
| [utf8parse](https://github.com/alacritty/vte ) | `0.2.1` | `0.2.2` |
| [windows-result](https://github.com/microsoft/windows-rs ) | `0.1.1` | `0.1.2` |
| [xkeysym](https://github.com/notgull/xkeysym ) | `0.2.0` | `0.2.1` |
Updates `glutin_wgl_sys` from 0.5.0 to 0.6.0
- [Release notes](https://github.com/rust-windowing/glutin/releases )
- [Changelog](https://github.com/rust-windowing/glutin/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-windowing/glutin/commits )
Updates `anstyle-query` from 1.0.3 to 1.1.0
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-query-v1.0.3...anstyle-query-v1.1.0 )
Updates `cc` from 1.0.98 to 1.0.99
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.98...1.0.99 )
Updates `clap` from 4.5.4 to 4.5.6
- [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.4...v4.5.6 )
Updates `clap_builder` from 4.5.2 to 4.5.6
- [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.2...v4.5.6 )
Updates `clap_derive` from 4.5.4 to 4.5.5
- [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.4...v4.5.5 )
Updates `clap_lex` from 0.7.0 to 0.7.1
- [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.0...clap_lex-v0.7.1 )
Updates `regex` from 1.10.4 to 1.10.5
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.10.4...1.10.5 )
Updates `unicode-width` from 0.1.12 to 0.1.13
- [Commits](https://github.com/unicode-rs/unicode-width/compare/v0.1.12...v0.1.13 )
Updates `utf8parse` from 0.2.1 to 0.2.2
- [Release notes](https://github.com/alacritty/vte/releases )
- [Changelog](https://github.com/alacritty/vte/blob/master/CHANGELOG.md )
- [Commits](https://github.com/alacritty/vte/compare/utf8parse_v0.2.1...utf8parse_v0.2.2 )
Updates `windows-result` from 0.1.1 to 0.1.2
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `xkeysym` from 0.2.0 to 0.2.1
- [Release notes](https://github.com/notgull/xkeysym/releases )
- [Changelog](https://github.com/rust-windowing/xkeysym/blob/master/CHANGELOG.md )
- [Commits](https://github.com/notgull/xkeysym/compare/v0.2.0...v0.2.1 )
---
updated-dependencies:
- dependency-name: glutin_wgl_sys
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: anstyle-query
dependency-type: indirect
update-type: version-update:semver-minor
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_derive
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: regex
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: unicode-width
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: utf8parse
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: windows-result
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: xkeysym
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-06-10 09:51:27 +02:00
Atlas Dostal
abba12ae4e
Add support for 64 bit integer atomic operations in shaders.
...
Add the following flags to `wgpu_types::Features`:
- `SHADER_INT64_ATOMIC_ALL_OPS` enables all atomic operations on `atomic<i64>` and
`atomic<u64>` values.
- `SHADER_INT64_ATOMIC_MIN_MAX` is a subset of the above, enabling only
`AtomicFunction::Min` and `AtomicFunction::Max` operations on `atomic<i64>` and
`atomic<u64>` values in the `Storage` address space. These are the only 64-bit
atomic operations available on Metal as of 3.1.
Add corresponding flags to `naga::valid::Capabilities`. These are supported by the
WGSL front end, and all Naga backends.
Platform support:
- On Direct3d 12, in `D3D12_FEATURE_DATA_D3D12_OPTIONS9`, if
`AtomicInt64OnTypedResourceSupported` and `AtomicInt64OnGroupSharedSupported` are
both available, then both wgpu features described above are available.
- On Metal, `SHADER_INT64_ATOMIC_MIN_MAX` is available on Apple9 hardware, and on
hardware that advertises both Apple8 and Mac2 support. This also requires Metal
Shading Language 2.4 or later. Metal does not yet support the more general
`SHADER_INT64_ATOMIC_ALL_OPS`.
- On Vulkan, if the `VK_KHR_shader_atomic_int64` extension is available with both the
`shader_buffer_int64_atomics` and `shader_shared_int64_atomics` features, then both
wgpu features described above are available.
2024-06-08 18:36:26 -07:00
dependabot[bot]
dd86dcf8f8
build(deps): bump the patch-updates group with 19 updates ( #5770 )
...
Bumps the patch-updates group with 19 updates:
| Package | From | To |
| --- | --- | --- |
| [parking_lot](https://github.com/Amanieu/parking_lot ) | `0.12.2` | `0.12.3` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.202` | `1.0.203` |
| [tokio](https://github.com/tokio-rs/tokio ) | `1.37.0` | `1.38.0` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.65` | `2.0.66` |
| [backtrace](https://github.com/rust-lang/backtrace-rs ) | `0.3.71` | `0.3.72` |
| [bytemuck_derive](https://github.com/Lokathor/bytemuck ) | `1.6.0` | `1.7.0` |
| [crc32fast](https://github.com/srijs/rust-crc32fast ) | `1.4.0` | `1.4.2` |
| [deno_unsync](https://github.com/denoland/deno_unsync ) | `0.3.3` | `0.3.4` |
| [gimli](https://github.com/gimli-rs/gimli ) | `0.28.1` | `0.29.0` |
| [objc-sys](https://github.com/madsmtm/objc2 ) | `0.3.3` | `0.3.5` |
| [object](https://github.com/gimli-rs/object ) | `0.32.2` | `0.35.0` |
| [plotters](https://github.com/plotters-rs/plotters ) | `0.3.5` | `0.3.6` |
| [plotters-backend](https://github.com/plotters-rs/plotters ) | `0.3.5` | `0.3.6` |
| [plotters-svg](https://github.com/plotters-rs/plotters ) | `0.3.5` | `0.3.6` |
| [polling](https://github.com/smol-rs/polling ) | `3.7.0` | `3.7.1` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.83` | `1.0.85` |
| [serde_derive](https://github.com/serde-rs/serde ) | `1.0.202` | `1.0.203` |
| [tokio-macros](https://github.com/tokio-rs/tokio ) | `2.2.0` | `2.3.0` |
| [wayland-backend](https://github.com/smithay/wayland-rs ) | `0.3.3` | `0.3.4` |
Updates `parking_lot` from 0.12.2 to 0.12.3
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/0.12.2...0.12.3 )
Updates `serde` from 1.0.202 to 1.0.203
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.202...v1.0.203 )
Updates `tokio` from 1.37.0 to 1.38.0
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.37.0...tokio-1.38.0 )
Updates `syn` from 2.0.65 to 2.0.66
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.65...2.0.66 )
Updates `backtrace` from 0.3.71 to 0.3.72
- [Release notes](https://github.com/rust-lang/backtrace-rs/releases )
- [Commits](https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 )
Updates `bytemuck_derive` from 1.6.0 to 1.7.0
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md )
- [Commits](https://github.com/Lokathor/bytemuck/compare/bytemuck_derive-v1.6.0...bytemuck_derive-v1.7.0 )
Updates `crc32fast` from 1.4.0 to 1.4.2
- [Commits](https://github.com/srijs/rust-crc32fast/compare/v1.4.0...v1.4.2 )
Updates `deno_unsync` from 0.3.3 to 0.3.4
- [Commits](https://github.com/denoland/deno_unsync/commits )
Updates `gimli` from 0.28.1 to 0.29.0
- [Changelog](https://github.com/gimli-rs/gimli/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/gimli/compare/0.28.1...0.29.0 )
Updates `objc-sys` from 0.3.3 to 0.3.5
- [Commits](https://github.com/madsmtm/objc2/compare/objc-sys-0.3.3...objc-sys-0.3.5 )
Updates `object` from 0.32.2 to 0.35.0
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/object/compare/0.32.2...0.35.0 )
Updates `plotters` from 0.3.5 to 0.3.6
- [Changelog](https://github.com/plotters-rs/plotters/blob/master/CHANGELOG.md )
- [Commits](https://github.com/plotters-rs/plotters/compare/v0.3.5...v0.3.6 )
Updates `plotters-backend` from 0.3.5 to 0.3.6
- [Changelog](https://github.com/plotters-rs/plotters/blob/master/CHANGELOG.md )
- [Commits](https://github.com/plotters-rs/plotters/compare/v0.3.5...v0.3.6 )
Updates `plotters-svg` from 0.3.5 to 0.3.6
- [Changelog](https://github.com/plotters-rs/plotters/blob/master/CHANGELOG.md )
- [Commits](https://github.com/plotters-rs/plotters/compare/v0.3.5...v0.3.6 )
Updates `polling` from 3.7.0 to 3.7.1
- [Release notes](https://github.com/smol-rs/polling/releases )
- [Changelog](https://github.com/smol-rs/polling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/polling/compare/v3.7.0...v3.7.1 )
Updates `proc-macro2` from 1.0.83 to 1.0.85
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.83...1.0.85 )
Updates `serde_derive` from 1.0.202 to 1.0.203
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.202...v1.0.203 )
Updates `tokio-macros` from 2.2.0 to 2.3.0
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-macros-2.2.0...tokio-macros-2.3.0 )
Updates `wayland-backend` from 0.3.3 to 0.3.4
- [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 )
---
updated-dependencies:
- dependency-name: parking_lot
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: tokio
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: backtrace
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: bytemuck_derive
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: crc32fast
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: gimli
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: objc-sys
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: object
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: plotters
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: plotters-backend
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: plotters-svg
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: polling
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: serde_derive
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: tokio-macros
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
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 09:20:29 +02:00