wgpu/wgpu-core/src
Connor Fitzgerald c7458638d1
[hal/vk] Rework Submission and Surface Synchronization (#5681)
Fix two major synchronization issues in `wgpu_val::vulkan`:

- Properly order queue command buffer submissions. Due to Mesa bugs, two semaphores are required even though the Vulkan spec says that only one should be necessary.

- Properly manage surface texture acquisition and presentation:

    - Acquiring a surface texture can return while the presentation engine is still displaying the texture. Applications must wait for a semaphore to be signaled before using the acquired texture.

    - Presenting a surface texture requires a semaphore to ensure that drawing is complete before presentation occurs.

Co-authored-by: Jim Blandy <jimb@red-bean.com>
2024-05-30 13:53:34 -07:00
..
command Remove lifetime dependency of ComputePass to its parent command encoder (#5620) 2024-05-29 22:43:24 +00:00
device [hal/vk] Rework Submission and Surface Synchronization (#5681) 2024-05-30 13:53:34 -07:00
init_tracker chore: Fix legacy_numeric_constants lints (#5747) 2024-05-26 08:36:19 +02:00
lock [core] Implement downgrade for the lock module's RwLocks. 2024-05-03 13:06:00 -04:00
track Pipeline cache API and implementation for Vulkan (#5319) 2024-05-16 13:52:56 +00:00
binding_model.rs Reduce string allocations related to labels and logging. (#5690) 2024-05-14 04:39:28 -04:00
conv.rs Arcanization of wgpu core resources (#3626) 2023-11-20 08:41:52 +01:00
error.rs Remove G parameter in Global<G> and generic IdentityHandlerFactory (#5159) 2024-01-29 15:37:57 +01:00
global.rs [core] Make Hub members and related types pub(crate), not pub. (#5502) 2024-04-10 19:52:16 -04:00
hal_api.rs Fix surfaces only compatible with first enabled backend (#5535) 2024-04-17 15:32:04 -04:00
hash_utils.rs BGL Weak Pointer Deduplication Pool (#4927) 2024-01-02 09:27:22 -05:00
hub.rs Pipeline cache API and implementation for Vulkan (#5319) 2024-05-16 13:52:56 +00:00
id.rs Pipeline cache API and implementation for Vulkan (#5319) 2024-05-16 13:52:56 +00:00
identity.rs [core] Enforce a deadlock-free locking order for Mutexes. 2024-04-22 18:49:03 -07:00
instance.rs Reduce string allocations related to labels and logging. (#5690) 2024-05-14 04:39:28 -04:00
lib.rs Pipeline cache API and implementation for Vulkan (#5319) 2024-05-16 13:52:56 +00:00
pipeline_cache.rs Pipeline cache API and implementation for Vulkan (#5319) 2024-05-16 13:52:56 +00:00
pipeline.rs Add an experimental vertex pulling flag to Metal pipelines. 2024-05-30 13:08:59 +02:00
pool.rs [core] Enforce a deadlock-free locking order for Mutexes. 2024-04-22 18:49:03 -07:00
present.rs [hal/vk] Rework Submission and Surface Synchronization (#5681) 2024-05-30 13:53:34 -07:00
registry.rs Remove lifetime dependency of ComputePass to its parent command encoder (#5620) 2024-05-29 22:43:24 +00:00
resource.rs Buffer as hal (#5724) 2024-05-26 08:58:30 +02:00
snatch.rs [core] Include SnatchLock in lock rankings. 2024-04-25 01:28:21 -04:00
storage.rs [core] Make Hub members and related types pub(crate), not pub. (#5502) 2024-04-10 19:52:16 -04:00
validation.rs remove redundant code in module interface validation 2024-05-28 14:09:56 -04:00