bevy/examples/shader
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
..
animate_shader.rs add globals to mesh view bind group (#5409) 2022-09-28 04:20:27 +00:00
array_texture.rs Spawn now takes a Bundle (#6054) 2022-09-23 19:55:54 +00:00
compute_shader_game_of_life.rs Make PipelineCache internally mutable. (#7205) 2023-01-16 15:41:14 +00:00
custom_vertex_attribute.rs Spawn now takes a Bundle (#6054) 2022-09-23 19:55:54 +00:00
post_processing.rs Rename camera "priority" to "order" (#6908) 2022-12-25 00:39:30 +00:00
shader_defs.rs Shader defs can now have a value (#5900) 2022-11-21 22:38:29 +00:00
shader_instancing.rs Make PipelineCache internally mutable. (#7205) 2023-01-16 15:41:14 +00:00
shader_material.rs Spawn now takes a Bundle (#6054) 2022-09-23 19:55:54 +00:00
shader_material_glsl.rs Fix various typos (#7096) 2023-01-06 00:43:30 +00:00
shader_material_screenspace_texture.rs Spawn now takes a Bundle (#6054) 2022-09-23 19:55:54 +00:00