teoxoy
728b288fda
use ManuallyDrop
for Device.zero_buffer
2024-08-13 00:55:32 +02:00
teoxoy
c1bc0864c5
use ManuallyDrop
for remaining resources
2024-08-13 00:55:32 +02:00
teoxoy
b0cc0d2ebc
use QuerySet.raw()
instead of QuerySet.raw.as_ref().unwrap()
2024-08-13 00:55:32 +02:00
teoxoy
cf5706c24b
use Device.raw()
instead of Device.raw.as_ref().unwrap()
2024-08-13 00:55:32 +02:00
teoxoy
a6bc2f6f53
fix check for flush_mapped_ranges
in map_buffer
...
`flush_mapped_ranges` needs to be called when mappings are not coherent.
We can also omit flushing for write-mapped buffers since we always flush them on unmap.
2024-08-12 14:20:56 +01:00
teoxoy
f0875e8fda
remove Buffer.sync_mapped_writes
...
`zero_init_needs_flush_now` was always equal to `mapping.is_coherent`
which is not correct but is fixed by the next commit.
2024-08-12 14:20:56 +01:00
teoxoy
5617f0fd17
call flush_mapped_ranges
when unmapping write-mapped buffers
...
I'm not sure how things worked without this.
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
teoxoy
f6a3eef77e
change Device.create_shader_module
to return an Arc<ShaderModule<A>
2024-08-08 18:49:52 +02:00
teoxoy
d8b1c5788a
change Device.create_command_encoder
to return an Arc<CommandBuffer<A>
2024-08-08 18:49:52 +02:00
teoxoy
9ce1772f8e
change Device.create_pipeline_cache
to return an Arc<PipelineCache<A>
2024-08-08 18:49:52 +02:00
teoxoy
47465ddb1c
change Device.create_pipeline_layout
to return an Arc<PipelineLayout<A>
2024-08-08 18:49:52 +02:00
teoxoy
36c998a558
change Device.create_bind_group_layout
to return an Arc<BindGroupLayout<A>
2024-08-08 18:49:52 +02:00
teoxoy
781b54a8b9
remove TrackingData
from resources that are not tracked
2024-08-08 14:42:13 +02:00
teoxoy
09cc4d211b
remove Labeled
supertrait of Trackable
...
This is no longer needed since 9c6ae1beae
removed the usages.
2024-08-08 14:42:13 +02:00
teoxoy
8c7c5c4974
decouple device and queue IDs
...
Devices and queues can have different lifetimes, we shouldn't assume that their IDs match.
2024-08-05 15:46:12 +02:00
Samson
de960ccbba
Handle TooManyAttachments in wgpu-core ( #6076 )
2024-08-05 15:45:02 +02:00
teoxoy
7b4cbc2619
add comments in BindGroupStates.optimize
2024-08-03 11:58:14 +02:00
teoxoy
4e777bd0e7
merge the texture and texture view trackers of BindGroupStates
2024-08-03 11:58:14 +02:00
teoxoy
62af9d78b5
rename {Buffer,Texture}BindGroupState
's add_single
to insert_single
...
Also change it's definition to take an owned `Arc`. This makes these functions consistent with the other trackers.
2024-08-03 11:58:14 +02:00
teoxoy
826e3716e5
remove all internal RenderBundleScope
RwLock
s
2024-08-03 11:58:14 +02:00
teoxoy
5cb1be63aa
refactor the StatelessTracker
to hold a Vec
of Arc
s
...
Also removes the `StatelessBindGroupState` since it does the same thing.
2024-08-03 11:58:14 +02:00
teoxoy
a3142ade91
don't optimize BindGroupStates.{views,samplers}
...
The resources inside `StatelessBindGroupState` are never merged with any other tracker.
2024-08-03 11:58:14 +02:00
teoxoy
3a5ad193db
remove all internal BindGroupState
Mutex
es
2024-08-03 11:58:14 +02:00
teoxoy
14170fd963
remove unused RenderBundleScope.query_sets
2024-08-03 11:58:14 +02:00
teoxoy
f19217479d
remove Tracker.add_from_render_bundle
...
The render bundle resources are already kept alive by the render bundle itself, there is no need to add them.
2024-08-03 11:58:14 +02: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
AthosOfAthos
bfad205cf5
Reduced verbosity for 'Device::maintain: waiting for submission index… ( #6044 )
2024-07-30 10:58:38 +02:00
teoxoy
6351a75b0c
remove implemented TODO
2024-07-29 17:31:24 +02:00
teoxoy
76f9b2f87a
use ManuallyDrop
for Destroyed{Buffer,Texture}
2024-07-29 17:31:24 +02:00
teoxoy
650054bbcd
[player] simplify sync buffer writing
2024-07-29 17:31:24 +02:00
teoxoy
7502e65213
remove unused Global.device_get_buffer_sub_data
2024-07-29 17:31:24 +02:00
teoxoy
2ea081fabf
remove waiting functionality from Global.{buffer,texture,texture_view}_drop()
...
Those resources won't be destroyed if used by a submission anyway.
2024-07-29 17:31:24 +02:00
teoxoy
d1da4456a6
remove Global.clear_backend()
...
The method was only used by the player's tests which
was refactored to create a new `Global` instead.
Removing it cleans up the internals of `Hub.clear()`,
we should avoid having test only items.
2024-07-29 17:31:24 +02:00
teoxoy
f3e8e594ed
remove Hub.surface_unconfigure()
since the Hub
reference was unused.
2024-07-29 17:31:24 +02: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
Samson
7462754bde
Remove 'de: 'static"
serde bound and replace &'static str
with Cow
in some errors ( #6048 )
...
* Remove `serde(bound(deserialize = "'de: 'static"))` and replace `&'static str` with `Cow` in deser errors
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Allow `clippy::result_large_err`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-07-29 09:07:26 +02:00
Bruce Mitchener
3166d37754
Use workspace dependencies more. ( #6020 )
2024-07-26 18:48:01 +02:00
Andreas Reich
d3c38a4fd0
Fix AnyDevice drop implementation dropping the wrong thing ( #6052 )
2024-07-26 10:31:36 +02:00
teoxoy
03f6d24ea6
deduplicate derived BGLs
2024-07-25 18:15:29 +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
Samson
2897fb58db
Error instead of panic in check bind ( #6012 )
...
Removed zipping of binding entries introduced in 4a19ac279c
(to make sure binding numbers actually match) and add unknown error for fallback.
2024-07-24 17:50:18 +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
Jim Blandy
ebb011fc6b
[core] Use ManuallyDrop
for wgpu_core::device::Queue::raw
.
...
Change the field `wgpu_core::device::Queue::raw` from an
`Option<A::Queue>` to a `std::mem::ManuallyDrop<A::Queue>`. Replace
various `.as_ref().unwrap()` chains with calls to a new accessor
function `Queue::raw`.
An `Option` is misleading, as this field is always populated during
the lifetime of a `Queue`. Instead, we simply have a field whose value
needs to be moved in `<Queue as Drop>::drop`; `ManuallyDrop` is the
Rust idiom for this situation.
2024-07-23 14:02:16 -07:00
teoxoy
205f1e3ab6
[wgpu-core] fix length of copy in queue_write_texture
#2
...
Follow-up to 6f16ea460a
& 7e112ca4c0
.
2024-07-22 12:25:07 +02: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
Vladas Zakrevskis
5a0e2187f0
Print requested and supported usages on UnsupportedUsage error ( #6007 )
...
* Print requested and supported usages on UnsupportedUsage error
* fmt
* changelog
2024-07-21 21:12:28 -04:00