Nicolas Silva
f25e07b984
Fix soundness issue with Snatchable
...
The code was written with the incorrect assumption that if no lifetime is specified in a method definition, then all lifetimes are elided to the lifetime of self. In fact only lifetimes in the returned value are elided to the lifetime of self, and other parameters get their own lifetimes.
Kudos to @teoxoy for catching the issue!
2024-07-01 18:41:12 +02:00
Andreas Reich
0a76c0fa84
Renderpass take resource ownership ( #5884 )
...
* share timestamp write struct
* Make name of set_push_constants methods consistently plural
* remove lifetime bounds of resources passed into render pass
* first render pass resource ownership test
* introduce dynrenderpass & immediately create ArcCommands and take ownership of resources passed on pass creation
* Use of dynrenderpass in deno
* Separate active occlusion & pipeline statitics query
* resolve render/compute command is now behind `replay` feature
* add vertex & index buffer to ownership test
* test for pipeline statistics query
* add occlusion query set to pass resource test
* add tests for resource ownership of render pass query timestamps
* RenderPass can now be made 'static just like ComputePass. Add respective test
* Extend encoder_operations_fail_while_pass_alive test to also check encoder locking errors with render passes
* improve changelog entry on lifetime bounds
2024-07-01 18:36:24 +02:00
Christofer Nolander
c9a2d972ad
buffer size mismatch: more detail in error message ( #5858 )
...
* buffer size mismatch: more detail in error message
* wrong buffer size: change name of fields
2024-07-01 13:10:37 +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
teoxoy
92c8cf415c
remove bind group id from set bind group scope
...
and make sure that we use `ResourceErrorIdent` in all relevant inner errors
2024-06-27 10:20:11 +02:00
teoxoy
f54b354021
use .validate_dynamic_bindings()
in render bundle's set_bind_group
2024-06-27 10:20:11 +02:00
teoxoy
a2c60cea4f
remove render pipeline id from set render pipeline scope
...
and make sure that we use `ResourceErrorIdent` in all relevant inner errors
2024-06-27 10:20:11 +02:00
teoxoy
ab1fa7d96e
remove compute pipeline id from set compute pipeline scope
...
and make sure that we use `ResourceErrorIdent` in all relevant inner errors
2024-06-27 10:20:11 +02:00
teoxoy
400372ff57
remove buffer id from set index/vertex buffer scopes
...
all relevant inner errors already print the label of the buffers
2024-06-27 10:20:11 +02:00
teoxoy
287d8ee414
move pipeline
ident to appropriate errors
2024-06-27 10:20:11 +02:00
teoxoy
d0e63c5c05
move pipeline
ident to DispatchError::IncompatibleBindGroup
2024-06-27 10:20:11 +02:00
teoxoy
1e9844af29
extract execute_bundle
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
3c389b9057
resolve occlusion query set prior to render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
f7160e71ec
extract write_timestamp
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
02f91167d9
extract insert_debug_marker
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
10cf23b511
extract pop_debug_group
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
4edebc6444
extract push_debug_group
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
c42c02e801
extract multi_draw_indirect_count
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
df08509306
extract multi_draw_indirect
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
e92fac087b
extract draw_indexed
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
1226589f07
extract draw
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
a79ac34b15
extract set_scissor
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
b295a4578c
extract set_push_constant
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
63e55cea56
extract set_viewport
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
5c941bf1f0
extract set_stencil_reference
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
49800c30de
extract set_blend_constant
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
6cb18ed072
extract set_vertex_buffer
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
ae65b708fa
extract set_index_buffer
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
36e5381531
extract set_pipeline
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
bc683fae3a
extract set_bind_group
from render_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
cbe4b67367
put all state in State
2024-06-27 10:20:11 +02:00
teoxoy
f0f61d9bb6
move the raw encoder in State
2024-06-27 10:20:11 +02:00
teoxoy
8ee9df9eb3
move same device check and tracker insertion inside validate_and_begin_pipeline_statistics_query
2024-06-27 10:20:11 +02:00
teoxoy
e41cfbf1c2
extract write_timestamp
from compute_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
3ff680261d
extract insert_debug_marker
from compute_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
f609e82055
extract pop_debug_group
from compute_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
c72af7b57f
extract push_debug_group
from compute_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
868b9cd866
extract dispatch_indirect
from compute_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
fefb9c2453
extract dispatch
from compute_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
5fdb663f45
extract set_push_constant
from compute_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
3a199cf258
extract set_pipeline
from compute_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
bc2f8edf9b
extract set_bind_group
from compute_pass_end_impl
2024-06-27 10:20:11 +02:00
teoxoy
9b4bb8b594
remove CommandBuffer.limits
2024-06-27 10:20:11 +02:00
teoxoy
d3eed4920b
put all state in State
2024-06-27 10:20:11 +02:00
teoxoy
83a8699be7
remove multi_draw_indirect2
2024-06-27 10:20:11 +02:00
teoxoy
3dcd5ab422
move comment that was preventing fmt from running
2024-06-27 10:20:11 +02:00
teoxoy
ebb930e9fd
add more fields to State
and cleanup fn params
2024-06-27 10:20:11 +02:00
teoxoy
9791b6ccb9
extract render bundle command processing into their own functions
2024-06-27 10:20:11 +02:00
teoxoy
3eb387f413
simplify IndexState
2024-06-27 10:20:11 +02:00
teoxoy
6db9ceede1
inline pipeline.as_info().id()
2024-06-27 10:20:11 +02:00