Commit Graph

1964 Commits

Author SHA1 Message Date
Elie Michel
6a75a73300
[wgpu-core] Return submission index for map_async and on_submitted_work_done to track down completion of async callbacks (#6360) 2024-11-04 14:21:09 +00:00
Erich Gubler
08c9d8c397 chore: bump WGPU workspace crates to 23 2024-10-30 07:14:10 -07:00
teoxoy
f669024eeb [WeakVec] scan all weak references only before a reallocation would happen 2024-10-18 17:24:52 +02:00
teoxoy
8ba5c82831 minimize moves by introducing WeakVec 2024-10-18 17:24:52 +02:00
cybersoulK
a8214b67f6
Fix missing binding in wgpu-core/src/instance.rs when profiling has a backend enabled (#6422) 2024-10-18 00:15:25 +00:00
teoxoy
94e040bc8a avoid creating the bind group for indirect validation if buffer size is 0 2024-10-17 18:41:24 +02:00
teoxoy
bbee35b145 [d3d12] get num_workgroups builtin working for indirect dispatches 2024-10-14 15:22:18 +02:00
Teodor Tanasoaia
7f708edd1f
Ensure safety of indirect dispatch (#5714)
by injecting a compute shader that validates the content of the indirect buffer
2024-10-14 15:02:01 +02:00
teoxoy
c0e39721a2 remove Hub.clear() 2024-10-14 13:24:44 +02:00
teoxoy
3eb9c781cf impl Drop for Surface 2024-10-14 13:24:44 +02:00
teoxoy
b7d465a2b4 move surface methods on the Surface 2024-10-14 13:24:44 +02:00
teoxoy
26624c04e0 add SurfaceError::TextureDestroyed 2024-10-14 13:24:44 +02:00
teoxoy
39629d0de0 Improve the ownership story of textures returned by get_current_texture
`present` and `discard` will no longer automatically remove the texture from the registry.
2024-10-14 13:24:44 +02:00
teoxoy
e86330977b remove parent_id field of TextureInner::Surface
The `parent_id` will always match `surface_id` because we got the texture from the `acquired_texture` field.
2024-10-14 13:24:44 +02:00
teoxoy
c38ed8d9fa move surface creation methods on the Instance 2024-10-14 13:24:44 +02:00
teoxoy
de97e5449c move enumerate_adapters on the Instance 2024-10-14 13:24:44 +02:00
teoxoy
952ba3e12c move queue methods on the Queue type 2024-10-14 13:24:44 +02:00
teoxoy
c65c4626f1 make Fallible<T> public 2024-10-14 13:24:44 +02:00
teoxoy
4d55c6917e make remaining Adapter methods public 2024-10-14 13:24:44 +02:00
teoxoy
d1c95d2bfd add adapter getters 2024-10-14 13:24:44 +02:00
teoxoy
321bd64ba2 add Adapter::backend() 2024-10-14 13:24:44 +02:00
teoxoy
5627a0b6d9 move request_adapter on the Instance 2024-10-14 13:24:44 +02:00
teoxoy
40206ce4d7 add new Instance::as_hal fn 2024-10-14 13:24:44 +02:00
Erich Gubler
91447aefc9 refactor: s/once_cell::sync::OnceCell/std::sync::OnceLock
Weaken our dependence on the `once_cell` crate by using functionality
from `std` instead that was upstreamed from `once_cell`.

It's not yet possible to eliminate this dependency entirely, but do what
we can for now.
2024-10-11 15:52:21 -07:00
teoxoy
71b4f361e2 chore(core): more detail on TODO for push constants 2024-10-02 04:41:34 -04:00
teoxoy
38a13b94f0 refactor: make Snatchable::snatch take _guard by &mut _ 2024-10-02 04:41:34 -04:00
teoxoy
7ac533a312 add missing indirect buffer offset validation 2024-10-02 04:41:34 -04:00
Erich Gubler
0903ba6d47 refactor(core): delete unused CreateDeviceError 2024-10-02 04:41:34 -04:00
teoxoy
76af20348d remove old comment 2024-10-02 04:41:34 -04:00
teoxoy
025787bbad remove duplicate validation 2024-10-02 04:41:34 -04:00
Elie Michel
c9202ee54a
Remove redundant let binding (#6356) 2024-10-02 10:21:30 +02:00
Erich Gubler
fc2fd95a98
fix: handle Queue::submit non-fatally (#6318)
* Change the signature of `wgpu_core::Global::queue_submit` to return
  a `(SubmissionIndex, …)` in addition to its current error type.
* Change the control flow of errors in `Queue::submit` to break to the
  end of a block. This is similar to what we already do in many APIs in
  `wgpu_core`.
* Hoist the scope of the local `submit_index` binding so it can be used
  at the point where we need to convert current error paths to also
  return the submission index.

Later, we will likely want to avoid actually retrieving a new submission
index so we can minimize the critical section of code. We'll need to
figure out a strategy for returning a valid (but not necessarily unique)
index in the case of failures that prevent successful submission.
2024-09-25 02:52:25 +00:00
Erich Gubler
2f81ae156c
style: use concat!(…) in DOWNLEVEL_*_MESSAGE (#6305) 2024-09-22 00:27:32 +00:00
Erich Gubler
841e7c8857
fix: only log Device::maintain waits if they happen (#6303) 2024-09-21 18:47:35 +02:00
Erich Gubler
9977edc51f
chore!: remove #[no_mangle] … extern "C" … from fns in bundle_ffi (#6272) 2024-09-21 16:33:13 +00:00
Erich Gubler
0d339fc9f1
chore: suppress unused_qualifications for wgpu_core::id const. assertions (#6295) 2024-09-18 21:48:04 +02:00
Teodor Tanasoaia
c8beade187
remove backend from ID (#6263) 2024-09-13 17:30:38 +02:00
Adam Winiarczuk
f3cbd6ce54
fix: Set mip_level_count in TextureInitTracker for externally created textures (#6249)
Co-authored-by: Adam Winiarczuk <tsu@liv.tv>
2024-09-10 22:28:36 +00:00
teoxoy
c4110afc7f [wgpu-core] inline Storage.insert_impl() 2024-09-10 11:58:54 +02:00
teoxoy
2addb267fc [wgpu-core] remove FutureId.into_id() 2024-09-10 11:58:54 +02:00
teoxoy
c182d3f24f [wgpu-core] rename .strict_unregister() & .strict_remove() to .remove() 2024-09-10 11:58:54 +02:00
teoxoy
ac74f36590 [wgpu-core] rename .strict_get() to .get() 2024-09-10 11:58:54 +02:00
teoxoy
31edbfd0dc [wgpu-core] use .strict_get() & .strict_unregister() for command buffers
We now only rely on the presence of the inner `CommandBufferMutable` to determine if command buffers are invalid.
2024-09-10 11:58:54 +02:00
teoxoy
c0c594eff2 [wgpu-core] use Fallible for RenderBundle 2024-09-10 11:58:54 +02:00
teoxoy
ee3b63a9af [wgpu-core] use Fallible for PipelineCache 2024-09-10 11:58:54 +02:00
teoxoy
5bcdd4266e [wgpu-core] use Fallible for ShaderModule 2024-09-10 11:58:54 +02:00
teoxoy
1c5793afb3 [wgpu-core] use Fallible for PipelineLayout 2024-09-10 11:58:54 +02:00
teoxoy
e444e78d94 [wgpu-core] use Fallible for BindGroupLayout 2024-09-10 11:58:54 +02:00
teoxoy
45206e553d [wgpu-core] use Fallible for RenderPipeline 2024-09-10 11:58:54 +02:00
teoxoy
82ce2ea747 [wgpu-core] use Fallible for ComputePipeline 2024-09-10 11:58:54 +02:00