bevy/crates
IceSentry af9fd4e939 Move non-generic parts of the PrepassPipeline to internal field (#18322)
# Objective

- The prepass pipeline has a generic bound on the specialize function
but 95% of it doesn't need it

## Solution

- Move most of the fields to an internal struct and use a separate
specialize function for those fields

## Testing

- Ran the 3d_scene and it worked like before

---

## Migration Guide

If you were using a field of the `PrepassPipeline`, most of them have
now been move to `PrepassPipeline::internal`.

## Notes

Here's the cargo bloat size comparison (from this tool
https://github.com/bevyengine/bevy/discussions/14864):

```
before:
    (
        "<bevy_pbr::prepass::PrepassPipeline<M> as bevy_render::render_resource::pipeline_specializer::SpecializedMeshPipeline>::specialize",
        25416,
        0.05582993,
    ),

after:
    (
        "<bevy_pbr::prepass::PrepassPipeline<M> as bevy_render::render_resource::pipeline_specializer::SpecializedMeshPipeline>::specialize",
        2496,
        0.005490916,
    ),
    (
        "bevy_pbr::prepass::PrepassPipelineInternal::specialize",
        11444,
        0.025175499,
    ),
```

The size for the specialize function that is generic is now much
smaller, so users won't need to recompile it for every material.
2025-03-25 22:59:04 +01:00
..
bevy_a11y Update accesskit and accesskit_winit requirements (#18285) 2025-03-25 22:44:01 +01:00
bevy_animation Reduce dependencies on bevy_render by preferring bevy_mesh imports (#18437) 2025-03-25 22:45:39 +01:00
bevy_app Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_asset Don't panic on temporary files in file watcher (#18462) 2025-03-25 22:45:41 +01:00
bevy_audio Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_color Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_core_pipeline Record bloom render commands in parallel (#18330) 2025-03-25 22:44:01 +01:00
bevy_derive Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_dev_tools Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_diagnostic Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_dylib Switch from OnceCell to LazyLock in bevy_tasks (#18506) 2025-03-25 22:41:01 +01:00
bevy_ecs Define system param validation on a per-system parameter basis (#18504) 2025-03-25 22:59:04 +01:00
bevy_encase_derive Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_gilrs Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_gizmos Define system param validation on a per-system parameter basis (#18504) 2025-03-25 22:59:04 +01:00
bevy_gltf Reduce dependencies on bevy_render by preferring bevy_mesh imports (#18437) 2025-03-25 22:45:39 +01:00
bevy_image Ensure dds enables bevy_core_pipeline/dds in bevy_anti_aliasing (#18484) 2025-03-24 00:11:37 +01:00
bevy_input Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_input_focus Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_internal Fix bevy_math/transform/input Improper Inclusion (#18526) 2025-03-25 22:59:04 +01:00
bevy_log Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_macro_utils Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_math Add no_std compatible ceil method (#18498) 2025-03-25 22:59:04 +01:00
bevy_mesh Reduce dependencies on bevy_render by preferring bevy_mesh imports (#18437) 2025-03-25 22:45:39 +01:00
bevy_mikktspace Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_pbr Move non-generic parts of the PrepassPipeline to internal field (#18322) 2025-03-25 22:59:04 +01:00
bevy_picking Fix mesh_picking not working due to mixing vertex and triangle indices. (#18533) 2025-03-25 22:59:04 +01:00
bevy_platform_support Address lints in bevy_platform_support (#18477) 2025-03-24 00:09:30 +01:00
bevy_ptr Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_reflect Update bincode to 2.0 (#18396) 2025-03-25 22:44:01 +01:00
bevy_remote fix error and lints when building for wasm32 (#18500) 2025-03-24 00:14:22 +01:00
bevy_render Define system param validation on a per-system parameter basis (#18504) 2025-03-25 22:59:04 +01:00
bevy_scene Update bincode to 2.0 (#18396) 2025-03-25 22:44:01 +01:00
bevy_sprite don't flip sprites twice (#18535) 2025-03-25 22:59:04 +01:00
bevy_state Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_tasks Switch from OnceCell to LazyLock in bevy_tasks (#18506) 2025-03-25 22:41:01 +01:00
bevy_text ExtractedSprites slice buffer (#17041) 2025-03-25 22:43:58 +01:00
bevy_time Fix clippy::unnecessary-literal-unwrap in bevy_time (#18485) 2025-03-24 00:14:22 +01:00
bevy_transform Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_ui Update accesskit and accesskit_winit requirements (#18285) 2025-03-25 22:44:01 +01:00
bevy_utils Release 0.16.0-rc.1 2025-03-18 21:48:22 +01:00
bevy_window Replace VisitEntities with MapEntities (#18432) 2025-03-24 00:09:29 +01:00
bevy_winit Update accesskit and accesskit_winit requirements (#18285) 2025-03-25 22:44:01 +01:00