bevy/crates/bevy_utils/src
JMS55 9f7e61b819
Async pipeline compilation (#10812)
# Objective

- Pipeline compilation is slow and blocks the frame
- Closes https://github.com/bevyengine/bevy/issues/8224

## Solution

- Compile pipelines in a Task on the AsyncComputeTaskPool

---

## Changelog

- Render/compute pipeline compilation is now done asynchronously over
multiple frames when the multi-threaded feature is enabled and on
non-wasm and non-macOS platforms
- Added `CachedPipelineState::Creating` 
- Added `PipelineCache::block_on_render_pipeline()`
- Added `bevy_utils::futures::check_ready`
- Added `bevy_render/multi-threaded` cargo feature

## Migration Guide

- Match on the new `Creating` variant for exhaustive matches of
`CachedPipelineState`
2024-02-05 13:50:50 +00:00
..
cow_arc.rs impl Borrow and AsRef for CowArc (#11616) 2024-01-30 14:27:53 +00:00
default.rs Remove unnecessary path prefixes (#10749) 2023-11-28 23:43:40 +00:00
float_ord.rs Document That FloatOrd Implements Hash and Eq Too (#5228) 2022-07-11 14:11:27 +00:00
futures.rs Async pipeline compilation (#10812) 2024-02-05 13:50:50 +00:00
intern.rs Remove unnecessary path prefixes (#10749) 2023-11-28 23:43:40 +00:00
label.rs Remove unnecessary path prefixes (#10749) 2023-11-28 23:43:40 +00:00
lib.rs Use TypeIdMap whenever possible (#11684) 2024-02-03 23:47:04 +00:00
once.rs move once from bevy_log to bevy_utils, to allow for it's use in bevy_ecs (#11419) 2024-01-19 06:07:41 +00:00
short_names.rs change 'collapse_type_name' to retain enum types (#9587) 2023-08-26 14:50:12 +00:00
synccell.rs Fix some typos (#7763) 2023-02-20 22:56:57 +00:00
syncunsafecell.rs Fix typos throughout the project (#9090) 2023-07-10 00:11:51 +00:00
uuid.rs Remove unnecessary path prefixes (#10749) 2023-11-28 23:43:40 +00:00