bevy/crates/bevy_pbr/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
..
render Make PipelineCache internally mutable. (#7205) 2023-01-16 15:41:14 +00:00
alpha.rs add ReflectAsset and ReflectHandle (#5923) 2022-10-28 20:42:33 +00:00
bundle.rs Visibilty Inheritance, universal ComputedVisibility and RenderLayers support (#5310) 2022-07-15 23:24:42 +00:00
lib.rs bevy_render: Run calculate_bounds in the end-of-update exclusive systems (#7127) 2023-01-09 13:41:59 +00:00
light.rs Fix various typos (#7096) 2023-01-06 00:43:30 +00:00
material.rs Make PipelineCache internally mutable. (#7205) 2023-01-16 15:41:14 +00:00
pbr_material.rs Shader defs can now have a value (#5900) 2022-11-21 22:38:29 +00:00
wireframe.rs Make PipelineCache internally mutable. (#7205) 2023-01-16 15:41:14 +00:00