teoxoy
7f3e1bba14
move code after calls to FutureId.assign
inside Device
fns
2024-07-03 15:01:41 +02:00
teoxoy
40022c1584
remove duplicate check, it's already present in Device.create_texture_view
2024-07-03 15:01:41 +02:00
teoxoy
dc55cb436c
add Texture::new
fn
2024-07-03 15:01:41 +02:00
teoxoy
53c79bdf7a
move buffer creation logic in a new Device
method
2024-07-03 15:01:41 +02:00
teoxoy
029168f14a
remove no-op, calling schedule_resource_destruction
with last_submit_index: !0
does nothing
2024-07-03 15:01:41 +02:00
teoxoy
a971e7f7d4
remove duplicate check, it's already present in Device.create_buffer
2024-07-03 15:01:41 +02:00
teoxoy
7b387007a8
make Device.create_buffer
return an Arc<Buffer>
2024-07-03 15:01:41 +02:00
teoxoy
b8c5b2275e
don't clone resources for ResourceMetadataProvider::Direct
2024-07-03 15:01:41 +02:00
teoxoy
69b44c6a32
gate fns behind either serde
or replay
since Firefox needs those
2024-07-02 18:06:19 +02:00
teoxoy
b61be30e53
move out ID to resource mapping code from Device.create_bind_group
2024-07-02 18:06:19 +02:00
teoxoy
1be51946e3
move out ID to resource mapping code from pipeline creation methods
2024-07-02 18:06:19 +02:00
teoxoy
d8b0b5975d
assign resources/errors in the Global
's pipeline creation functions
2024-07-02 18:06:19 +02:00
teoxoy
79b15b8de8
move out ID to BGL mapping from Device.create_pipeline_layout()
2024-07-02 18:06:19 +02:00
teoxoy
1f6ac35e83
change Storage.force_replace
to take an Arc<T>
2024-07-02 18:06:19 +02:00
teoxoy
896418c740
Panic on non-existent entry in Storage.get
, this is consistent with Element::Vacant
2024-07-02 18:06:19 +02:00
teoxoy
16c7d84d63
remove Registry.try_get()
2024-07-02 18:06:19 +02:00
teoxoy
b904e2c759
use Registry.get()
for device_set_device_lost_closure
2024-07-02 18:06:19 +02:00
teoxoy
c4d71d9af5
use Registry.get()
instead of Registry.read().get_owned()
2024-07-02 18:06:19 +02:00
teoxoy
3547138716
remove PrettyError
2024-07-02 18:06:19 +02:00
teoxoy
08b8e96c40
move ContextError
's fmt logic in its Display impl
2024-07-02 18:06:19 +02:00
teoxoy
df7a6defa8
don't print the scope twice
...
The scope is already printed by the Display impl of those errors.
2024-07-02 18:06:19 +02:00
teoxoy
ed1e8ecf4b
remove label getters from Global
...
Also removes label from `Element::Error` and slightly refactors ContextError.
2024-07-02 18:06:19 +02:00
teoxoy
9d3d4ee297
implement exclusive pipeline validation
...
This gets the bind_group_layout_dedup test passing again.
2024-07-02 18:06:19 +02:00
teoxoy
4a19ac279c
introduce MultiError
and use it for BGL incompatibility errors
2024-07-02 18:06:19 +02:00
teoxoy
42e16c7e7d
simplify logic of Entry.is_valid
2024-07-02 18:06:19 +02:00
teoxoy
0d539874ed
simplify the BGL compatibility check
2024-07-02 18:06:19 +02:00
teoxoy
9ec0f45efd
move the BGL compatibility check in the binder
2024-07-02 18:06:19 +02:00
teoxoy
ca0027d12b
use ResourceErrorIdent
in a few buffer error variants
2024-07-02 18:06:19 +02:00
teoxoy
2fe761f7e3
remove MissingCopySrcUsageFlag
error variant
2024-07-02 18:06:19 +02:00
teoxoy
1841857fea
use .check_usage()
for QUERY_RESOLVE
2024-07-02 18:06:19 +02:00
teoxoy
4df5474c9c
remove MissingCopyDstUsageFlag
error variants
2024-07-02 18:06:19 +02:00
teoxoy
a4bb5dff2b
rename error variants that contain IDs
2024-07-02 18:06:19 +02:00
teoxoy
6fe041d544
make Queue.device
non-optional
2024-07-02 18:06:19 +02:00
teoxoy
f34f7eb658
impl ParentDevice
via macro
2024-07-02 18:06:19 +02:00
teoxoy
c3ebfde302
remove Resource
trait
2024-07-02 18:06:19 +02:00
teoxoy
c63f0a02f2
introduce Trackable
trait
2024-07-02 18:06:19 +02:00
teoxoy
ae7da8f669
introduce Labeled
trait
2024-07-02 18:06:19 +02:00
teoxoy
985968fd38
remove unused Resource
bound
2024-07-02 18:06:19 +02:00
teoxoy
727956fcde
introduce StorageItem
trait
2024-07-02 18:06:19 +02:00
teoxoy
90f7377cc9
introduce ResourceType
trait
2024-07-02 18:06:19 +02:00
teoxoy
a422d1cba2
remove ResourceInfo.id
2024-07-02 18:06:19 +02:00
teoxoy
66777cc80d
remove PassErrorScope::PassEncoder
and id arg of PassErrorScope::Pass
2024-07-02 18:06:19 +02:00
teoxoy
d26aef554e
use .error_ident()
for log::trace!
in render_pass_end
2024-07-02 18:06:19 +02:00
teoxoy
fc6fe76fce
trace only render_pass_end_with_unresolved_commands
2024-07-02 18:06:19 +02:00
teoxoy
981db9be33
trace only compute_pass_end_with_unresolved_commands
2024-07-02 18:06:19 +02:00
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
teoxoy
fb60aa86c3
use .error_ident()
for api_log!
s in render_pass_end_impl
2024-06-27 10:20:11 +02:00
XiaoPeng
82210e1cdc
remove stale weak refs before insert view/bind_groups
2024-06-26 10:18:07 +02:00
XiaoPeng
3d5d7dec02
clear refs to died texture views
2024-06-26 10:18:07 +02:00
teoxoy
bfcb5457c6
remove unnecessary unsafe block
2024-06-25 11:14:41 +02:00
teoxoy
ad2d797f81
move InvalidQueueId
error variant to top level error types
2024-06-25 11:14:41 +02:00
teoxoy
3005b46a29
inline ComputePass.parent_id()
2024-06-25 11:14:41 +02:00
teoxoy
f55fa6e217
make ResourceInfo.label
private
2024-06-25 11:14:41 +02:00
teoxoy
a56698cbe6
use .error_ident()
in a few more places
2024-06-25 11:14:41 +02:00
teoxoy
8106028f23
remove ResourceInfo.label()
2024-06-25 11:14:41 +02:00
teoxoy
c4e067b394
use .error_ident()
for resource_log!
in Drop impls
2024-06-25 11:14:41 +02:00
teoxoy
5f78485f30
pass Label
to ResourceInfo::new
2024-06-25 11:14:41 +02:00
teoxoy
beaa6e95e4
remove duplicate label fields
2024-06-25 11:14:41 +02:00
teoxoy
bbf824767d
remove IDs from Destroyed{Buffer,Texture}
2024-06-25 11:14:41 +02:00
teoxoy
d5d806a474
pass through pipeline_id
instead of getting it via .as_info().id()
2024-06-25 11:14:41 +02:00
teoxoy
1b40c8c745
replace check_valid_to_use
with ParentDevice.same_device
checks
2024-06-25 11:14:41 +02:00
teoxoy
06da3e88d0
remove IDs from QueryResetMap
2024-06-25 11:14:41 +02:00
teoxoy
d30c02ffa3
use .error_ident()
for resource logging
2024-06-25 11:14:41 +02:00
teoxoy
eeb57e1cee
pass BufferId
to unmap
for tracing
2024-06-25 11:14:41 +02:00
teoxoy
1a4f6aca6f
trace as soon as possible
2024-06-25 11:14:41 +02:00
teoxoy
fd52ec8997
remove tracing from deferred texture view and bind group destruction
...
we already trace texture view and bind group drop in the corresponding `Global` methods so we might end up with double drop actions
2024-06-25 11:14:41 +02:00
teoxoy
812a562331
remove tracing from Destroyed{Buffer,Texture}
drop impl
...
we already trace buffer drop and destroy in the corresponding `Global` methods so we might end up with double drop/destroy actions
2024-06-25 11:14:41 +02:00
teoxoy
f2ea30772c
move destroy/drop tracing actions in Global
's methods
2024-06-25 11:14:41 +02:00
teoxoy
e2c4348959
replace .then_some(()).ok_or_else(e)
with if
s
2024-06-25 11:14:41 +02:00
Andreas Reich
b4c7987aa7
Separate renderpass arc resolve & renderpass consume on end ( #5794 )
2024-06-25 09:37:29 +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
Elabajaba
35477dff9a
automatically check for subgroup support when creating a naga Validator
2024-06-21 10:20:25 +02:00
teoxoy
1e784c9c0a
use TrackerIndex
instead of IDs in PendingWrites
's fields
2024-06-20 16:34:17 +02:00
teoxoy
2e1e1cd26e
inline id getters
2024-06-20 16:34:17 +02:00
teoxoy
ef2da1a6d7
rename UsageConflict
to ResourceUsageCompatibilityError
2024-06-20 16:34:17 +02:00
teoxoy
5f6848eddf
remove IDs from UsageConflict
variants
2024-06-20 16:34:17 +02:00
teoxoy
123a59ae7b
change return type of ResourceMetadataProvider.get
to &Arc<T>
2024-06-20 16:34:17 +02:00
teoxoy
26eceabe86
move body of BufferUsageScope.insert_merge_single
in BufferUsageScope.merge_single
2024-06-20 16:34:17 +02:00
teoxoy
aaec1c37b9
take resource lookup out of BufferUsageScope.merge_single
2024-06-20 16:34:17 +02:00
teoxoy
f5072261c7
remove ID from QueueSubmitError::BufferStillMapped
2024-06-20 16:34:17 +02:00
teoxoy
b0d2517bf4
change BindGroup.raw
to BindGroup.try_raw
2024-06-20 16:34:17 +02:00
teoxoy
08f5eb82cd
introduce TextureView.try_raw
2024-06-20 16:34:17 +02:00
teoxoy
7bd9195aa2
take resource lookup out of StatelessTracker.add_single
2024-06-20 16:34:17 +02:00
teoxoy
2ec7254772
remove old comment
2024-06-20 16:34:17 +02:00
teoxoy
a024afe182
consolidate destroyed texture/buffer errors and separate them from invalid ID errors
2024-06-20 16:34:17 +02:00
teoxoy
97a038a768
make return type of TextureTracker.set_single
non-optional
2024-06-20 16:34:17 +02:00
teoxoy
d2218398ff
take buffer lookup out of BufferBindGroupState.add_single
2024-06-20 16:34:17 +02:00
teoxoy
6a181fa634
remove IDs from StatelessBindGroupState
2024-06-20 16:34:17 +02:00
teoxoy
a979d2ed46
simplify BufferTracker.set_single
's return type
2024-06-20 16:34:17 +02:00
teoxoy
862f19524f
make check_texture_usage
a texture method
2024-06-20 16:34:17 +02:00
teoxoy
87382d7133
make check_buffer_usage
a buffer method
2024-06-20 16:34:17 +02:00
teoxoy
068da49a4c
use error_ident
for log instead of ID
2024-06-20 16:34:17 +02:00
teoxoy
836f016dcd
use the tracker index as key in hashmap instead of ID
2024-06-20 16:34:17 +02:00
teoxoy
0c4b449644
use Arc::ptr_eq
for resource equality
2024-06-20 16:34:17 +02:00
teoxoy
a21bbdccf0
remove usage of Buffer IDs in clear code
2024-06-20 16:34:17 +02:00
teoxoy
8465a64104
remove usage of Texture IDs in clear code
2024-06-20 16:34:17 +02:00
teoxoy
2a7f09aebc
make clear_texture_via_render_passes
infallible (in practice it was already)
2024-06-20 16:34:17 +02:00
teoxoy
8d805c99d3
remove TextureBindGroupState.add_single
's return type
2024-06-20 16:34:17 +02:00
teoxoy
43177d78d6
replace uses of Id.backend()
with A::VARIANT
2024-06-20 16:34:17 +02:00
Jim Blandy
584f9e189c
[core] Improve resource and api logging.
...
- Improve logging in `StatelessTracker::remove_abandoned` to show the
outcome of the call.
- Add similar logging to `BufferTracker` and `TextureTracker`.
- Let `device_create_buffer`'s log only the new buffer's label, id,
and whether it's mapped at creation. It used to show the whole
descriptor, which is too much detail.
- Have `queue_submit` log the submission id, and have `device_poll`
log what it was waiting for, and what actually got done.
- Have `Device::drop` log the destruction of the raw device when it
actually happens, so it's properly ordered with respect to logging
from other parts of the device, like `Device::command_allocator`.
2024-06-19 21:13:38 -07:00
teoxoy
284c807abc
reorder map_async
validation steps
2024-06-19 14:05:18 +02:00