bevy/crates/bevy_render/src
Daniel Chia 517deda215 Make PipelineCache internally mutable. (#7205)
# Objective

- Allow rendering queue systems to use a `Res<PipelineCache>` even for queueing up new rendering pipelines. This is part of unblocking parallel execution queue systems.

## Solution

- Make `PipelineCache` internally mutable w.r.t to queueing new pipelines. Pipelines are no longer immediately updated into the cache state, but rather queued into a Vec. The Vec of pending new pipelines is then later processed at the same time we actually create the queued pipelines on the GPU device.

---

## Changelog

`PipelineCache` no longer requires mutable access in order to queue render / compute pipelines.

## Migration Guide

* Most usages of `resource_mut::<PipelineCache>` and `ResMut<PipelineCache>` can be changed to `resource::<PipelineCache>` and `Res<PipelineCache>` as long as they don't use any methods requiring mutability - the only public method requiring it is `process_queue`.
2023-01-16 15:41:14 +00:00
..
camera Fix various typos (#7096) 2023-01-06 00:43:30 +00:00
color Add "transparent" doc alias for Color::NONE (#7160) 2023-01-11 17:01:11 +00:00
mesh Update Box vertices comment (#7055) 2022-12-29 23:45:07 +00:00
primitives Very minor doc formatting changes (#5287) 2022-07-12 13:06:16 +00:00
render_graph Replace UUID based IDs with a atomic-counted ones (#6988) 2022-12-25 00:23:15 +00:00
render_phase Improve render phase documentation (#7016) 2023-01-12 15:11:58 +00:00
render_resource Make PipelineCache internally mutable. (#7205) 2023-01-16 15:41:14 +00:00
renderer Reduce branching in TrackedRenderPass (#7053) 2023-01-09 19:24:56 +00:00
texture Fix beta clippy lints (#7154) 2023-01-11 09:51:22 +00:00
view Improve render phase documentation (#7016) 2023-01-12 15:11:58 +00:00
extract_component.rs ExtractComponent output optional associated type (#6699) 2022-11-21 13:19:44 +00:00
extract_param.rs Implement ReadOnlySystemParam for Extract<> (#7182) 2023-01-13 22:35:43 +00:00
extract_resource.rs gate an import used only for a debug assert (#7165) 2023-01-11 20:52:04 +00:00
globals.rs bevy_reflect: Register missing reflected types for bevy_render (#6725) 2022-11-23 00:41:21 +00:00
lib.rs Make PipelineCache internally mutable. (#7205) 2023-01-16 15:41:14 +00:00
render_asset.rs Fix clippy::iter_with_drain (#6485) 2022-11-06 01:42:15 +00:00
settings.rs Replace WgpuAdapterInfo with RenderAdapterInfo in the documentation. (#7036) 2022-12-26 19:47:01 +00:00
spatial_bundle.rs enum Visibility component (#6320) 2022-12-25 00:39:29 +00:00