bevy/crates
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
..
bevy_app Prevent event from getting registered twice (#4258) 2022-03-20 21:54:10 +00:00
bevy_asset Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_audio Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_core Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_core_pipeline Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
bevy_crevice Add a helper for storage buffers similar to UniformVec (#4079) 2022-03-22 21:23:50 +00:00
bevy_derive Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_diagnostic Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_dylib Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_dynamic_plugin Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_ecs yeet unsound lifetime annotations on Query methods (#4243) 2022-03-22 02:49:41 +00:00
bevy_ecs_compile_fail_tests yeet unsound lifetime annotations on Query methods (#4243) 2022-03-22 02:49:41 +00:00
bevy_gilrs Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_gltf Gltf animations (#3751) 2022-03-22 02:26:34 +00:00
bevy_hierarchy Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_input Check an Input's pressed set before adding to just_released. (#4209) 2022-03-20 21:54:09 +00:00
bevy_internal Tracy spans around main 3D passes (#4182) 2022-03-19 12:57:47 +00:00
bevy_log Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_macro_utils Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_math Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_pbr Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
bevy_reflect Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_render Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
bevy_scene Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_sprite Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
bevy_tasks Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_text Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_transform Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_ui Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
bevy_utils Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_window Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_winit Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00