Commit Graph

8208 Commits

Author SHA1 Message Date
teoxoy
c72bc7b84b remove unnecessary RwLock from Texture.clear_mode 2024-08-13 00:55:32 +02:00
teoxoy
1aaaec22f6 use ManuallyDrop for texture views of TextureClearMode 2024-08-13 00:55:32 +02:00
teoxoy
ce9c9b76f6 remove Option around A::SurfaceTexture
We can rely on the snatching mechanism to take the surface texture.
2024-08-13 00:55:32 +02:00
teoxoy
19843c9c5f use ManuallyDrop for Device.fence 2024-08-13 00:55:32 +02:00
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
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
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
dependabot[bot]
28e15dcce1
build(deps): bump the patch-updates group with 13 updates (#6102)
Bumps the patch-updates group with 13 updates:

| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde) | `1.0.204` | `1.0.206` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.122` | `1.0.124` |
| [syn](https://github.com/dtolnay/syn) | `2.0.72` | `2.0.74` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.1.7` | `1.1.10` |
| [clap](https://github.com/clap-rs/clap) | `4.5.13` | `4.5.15` |
| [clap_builder](https://github.com/clap-rs/clap) | `4.5.13` | `4.5.15` |
| [core-foundation-sys](https://github.com/servo/core-foundation-rs) | `0.8.6` | `0.8.7` |
| [object](https://github.com/gimli-rs/object) | `0.36.2` | `0.36.3` |
| [polling](https://github.com/smol-rs/polling) | `3.7.2` | `3.7.3` |
| [serde_derive](https://github.com/serde-rs/serde) | `1.0.204` | `1.0.206` |
| [ttf-parser](https://github.com/RazrFalcon/ttf-parser) | `0.24.0` | `0.24.1` |
| [xcursor](https://github.com/esposm03/xcursor-rs) | `0.3.6` | `0.3.7` |
| [xml-rs](https://github.com/kornelski/xml-rs) | `0.8.20` | `0.8.21` |


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

Updates `serde_json` from 1.0.122 to 1.0.124
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.122...v1.0.124)

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

Updates `cc` from 1.1.7 to 1.1.10
- [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.7...cc-v1.1.10)

Updates `clap` from 4.5.13 to 4.5.15
- [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.13...v4.5.15)

Updates `clap_builder` from 4.5.13 to 4.5.15
- [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.13...v4.5.15)

Updates `core-foundation-sys` from 0.8.6 to 0.8.7
- [Commits](https://github.com/servo/core-foundation-rs/compare/core-foundation-sys-v0.8.6...core-foundation-sys-v0.8.7)

Updates `object` from 0.36.2 to 0.36.3
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gimli-rs/object/compare/0.36.2...0.36.3)

Updates `polling` from 3.7.2 to 3.7.3
- [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.2...v3.7.3)

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

Updates `ttf-parser` from 0.24.0 to 0.24.1
- [Changelog](https://github.com/RazrFalcon/ttf-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/ttf-parser/commits)

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

Updates `xml-rs` from 0.8.20 to 0.8.21
- [Changelog](https://github.com/kornelski/xml-rs/blob/main/Changelog.md)
- [Commits](https://github.com/kornelski/xml-rs/compare/0.8.20...0.8.21)

---
updated-dependencies:
- 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: syn
  dependency-type: direct:production
  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: core-foundation-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-patch
  dependency-group: patch-updates
- dependency-name: polling
  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: ttf-parser
  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
- dependency-name: xml-rs
  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-08-12 09:18:09 +02:00
dependabot[bot]
28be38c73b
build(deps): bump crate-ci/typos from 1.23.5 to 1.23.6 (#6078)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.23.5 to 1.23.6.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.23.5...v1.23.6)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-11 14:21:29 +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
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
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
Samson
9619a43849 Add reorder/add limits in check_limit to match wgt::Limits 2024-08-05 10:06:07 +02:00
dependabot[bot]
e0bc30655a
build(deps): bump the patch-updates group with 12 updates (#6079)
Bumps the patch-updates group with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [bytemuck](https://github.com/Lokathor/bytemuck) | `1.16.1` | `1.16.3` |
| [indexmap](https://github.com/indexmap-rs/indexmap) | `2.2.6` | `2.3.0` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.121` | `1.0.122` |
| [bytes](https://github.com/tokio-rs/bytes) | `1.6.1` | `1.7.1` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.1.6` | `1.1.7` |
| [clap](https://github.com/clap-rs/clap) | `4.5.11` | `4.5.13` |
| [clap_builder](https://github.com/clap-rs/clap) | `4.5.11` | `4.5.13` |
| [clap_derive](https://github.com/clap-rs/clap) | `4.5.11` | `4.5.13` |
| [flate2](https://github.com/rust-lang/flate2-rs) | `1.0.30` | `1.0.31` |
| [regex](https://github.com/rust-lang/regex) | `1.10.5` | `1.10.6` |
| [toml_datetime](https://github.com/toml-rs/toml) | `0.6.7` | `0.6.8` |
| [winapi-util](https://github.com/BurntSushi/winapi-util) | `0.1.8` | `0.1.9` |


Updates `bytemuck` from 1.16.1 to 1.16.3
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.16.1...v1.16.3)

Updates `indexmap` from 2.2.6 to 2.3.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.2.6...2.3.0)

Updates `serde_json` from 1.0.121 to 1.0.122
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.121...v1.0.122)

Updates `bytes` from 1.6.1 to 1.7.1
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.6.1...v1.7.1)

Updates `cc` from 1.1.6 to 1.1.7
- [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.6...cc-v1.1.7)

Updates `clap` from 4.5.11 to 4.5.13
- [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.11...v4.5.13)

Updates `clap_builder` from 4.5.11 to 4.5.13
- [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.11...v4.5.13)

Updates `clap_derive` from 4.5.11 to 4.5.13
- [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.11...v4.5.13)

Updates `flate2` from 1.0.30 to 1.0.31
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/commits)

Updates `regex` from 1.10.5 to 1.10.6
- [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.5...1.10.6)

Updates `toml_datetime` from 0.6.7 to 0.6.8
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.6.7...toml_datetime-v0.6.8)

Updates `winapi-util` from 0.1.8 to 0.1.9
- [Commits](https://github.com/BurntSushi/winapi-util/compare/0.1.8...0.1.9)

---
updated-dependencies:
- dependency-name: bytemuck
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: indexmap
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: bytes
  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: flate2
  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: toml_datetime
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: winapi-util
  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-08-05 09:01:41 +02:00
dependabot[bot]
8a0d1e1cba
build(deps): bump EmbarkStudios/cargo-deny-action from 1 to 2 (#6077)
Bumps [EmbarkStudios/cargo-deny-action](https://github.com/embarkstudios/cargo-deny-action) from 1 to 2.
- [Release notes](https://github.com/embarkstudios/cargo-deny-action/releases)
- [Commits](https://github.com/embarkstudios/cargo-deny-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: EmbarkStudios/cargo-deny-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-05 09:00:10 +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 RwLocks 2024-08-03 11:58:14 +02:00
teoxoy
5cb1be63aa refactor the StatelessTracker to hold a Vec of Arcs
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 Mutexes 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
teoxoy
a4e7a293d7 [tests] remove Arc around device field of TestingContext 2024-08-03 11:23:59 +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
Jim Blandy
7ff80d65fc [naga] Use cfg aliases to enable naga:🔙:continue_forward.
Rather than `feature = "blah"`, use the new `cfg` identifiers
introduced by the `cfg_aliases` invocation in `naga/build.rs` to
decide whether to compile the `naga:🔙:continue_forward` module,
which is only used by the GLSL and HLSL backends.

The `hlsl_out` `cfg` identifer has a more complex condition than just
`feature = "hlsl-out"`, introduced by #5919.

Fixes #6063.
2024-07-31 06:08:07 -04: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