bevy/crates/bevy_render/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
..
camera register Camera{2,3}d components for reflection (#4269) 2022-03-20 21:54:11 +00:00
color Add conversions from Color to u32 (#4088) 2022-03-08 00:46:03 +00:00
mesh Mesh vertex buffer layouts (#3959) 2022-02-23 23:21:13 +00:00
primitives Faster view frustum culling (#4181) 2022-03-19 04:41:28 +00:00
render_graph bevy_render: Support removal of nodes, edges, subgraphs (#3048) 2022-03-21 23:58:37 +00:00
render_phase Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
render_resource Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
renderer Use more ergonomic span syntax (#4246) 2022-03-18 04:19:21 +00:00
texture KTX2/DDS/.basis compressed texture support (#3884) 2022-03-15 22:26:46 +00:00
view Faster view frustum culling (#4181) 2022-03-19 04:41:28 +00:00
lib.rs Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
render_asset.rs Obviate the need for RunSystem, and remove it (#3817) 2022-03-15 02:16:55 +00:00
render_component.rs Obviate the need for RunSystem, and remove it (#3817) 2022-03-15 02:16:55 +00:00
settings.rs bevy_render: Use RenderDevice to get limits/features and expose AdapterInfo (#3931) 2022-02-16 21:17:37 +00:00