bevy/crates/bevy_core_pipeline/src
Kurt Kühnert 9e450f2827 Compute Pipeline Specialization (#3979)
# Objective

- Fixes #3970
- To support Bevy's shader abstraction(shader defs, shader imports and hot shader reloading) for compute shaders, I have followed carts advice and change the `PipelinenCache` to accommodate both compute and render pipelines.

## Solution

- renamed `RenderPipelineCache` to `PipelineCache`
- Cached Pipelines are now represented by an enum (render, compute)
- split the `SpecializedPipelines` into `SpecializedRenderPipelines` and `SpecializedComputePipelines`
- updated the game of life example

## Open Questions

- should `SpecializedRenderPipelines` and `SpecializedComputePipelines` be merged and how would we do that?
- should the `get_render_pipeline` and `get_compute_pipeline` methods be merged?
- is pipeline specialization for different entry points a good pattern




Co-authored-by: Kurt Kühnert <51823519+Ku95@users.noreply.github.com>
Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2022-03-23 00:27:26 +00:00
..
clear_pass_driver.rs Replace old renderer with new renderer (#3312) 2021-12-14 03:58:23 +00:00
clear_pass.rs Make get_resource (and friends) infallible (#4047) 2022-02-27 22:37:18 +00:00
lib.rs Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
main_pass_2d.rs Make get_resource (and friends) infallible (#4047) 2022-02-27 22:37:18 +00:00
main_pass_3d.rs Tracy spans around main 3D passes (#4182) 2022-03-19 12:57:47 +00:00
main_pass_driver.rs use marker components for cameras instead of name strings (#3635) 2022-03-12 00:41:06 +00:00