Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make render phases render world resources instead of components. #13277

Merged
merged 8 commits into from
May 21, 2024

Commits on May 7, 2024

  1. Make render phases render world resources instead of components.

    This commit makes us stop using the render world ECS for
    `BinnedRenderPhase` and `SortedRenderPhase` and instead use resources
    with `EntityHashMap`s inside. There are three reasons to do this:
    
    1. We can use `clear()` to clear out the render phase collections
       instead of recreating the components from scratch, allowing us to
       reuse allocations.
    
    2. This is a prerequisite for retained bins, because components can't be
       retained from frame to frame in the render world, but resources can.
    
    3. We want to move away from storing anything in components in the
       render world ECS, and this is a step in that direction.
    
    This patch results in a small performance benefit, due to point (1)
    above.
    pcwalton committed May 7, 2024
    Configuration menu
    Copy the full SHA
    abeb02b View commit details
    Browse the repository at this point in the history

Commits on May 16, 2024

  1. Configuration menu
    Copy the full SHA
    98b00ee View commit details
    Browse the repository at this point in the history
  2. Address review comments

    pcwalton committed May 16, 2024
    Configuration menu
    Copy the full SHA
    d5be1b1 View commit details
    Browse the repository at this point in the history
  3. Remove extra blank line

    pcwalton committed May 16, 2024
    Configuration menu
    Copy the full SHA
    0a1e958 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2024

  1. Configuration menu
    Copy the full SHA
    844f792 View commit details
    Browse the repository at this point in the history
  2. Address review comment

    pcwalton committed May 17, 2024
    Configuration menu
    Copy the full SHA
    018b442 View commit details
    Browse the repository at this point in the history
  3. Skip queuing prepass meshes if no prepass phase is scheduled.

    This fixes the problem that led to bevyengine#13402.
    
    I'm not sure if this had any negative consequences, but it didn't
    replicate the prior behavior with the `Or` query filter, so I changed it
    to match.
    pcwalton committed May 17, 2024
    Configuration menu
    Copy the full SHA
    5caff40 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    55f4d16 View commit details
    Browse the repository at this point in the history