bevy/crates
Sarthak Singh f4bd56d26d Fixed memory leak in bindless material (#19041)
# Objective

Fixed #19035. Fixed #18882. It consisted of two different bugs:
- The allocations where being incremented even when a Data binding was
created.
- The ref counting on the binding was broken.

## Solution

- Stopped incrementing the allocations when a data binding was created.
- Rewrote the ref counting code to more reliably track the ref count.

## Testing

Tested my fix for 10 minutes with the `examples/3d/animated_material.rs`
example. I changed the example to spawn 51x51 meshes instead of 3x3
meshes to heighten the effects of the bug.

My branch: (After 10 minutes of running the modified example)
GPU: 172 MB
CPU: ~700 MB

Main branch: (After 2 minutes of running the modified example, my
computer started to stutter so I had to end it early)
GPU: 376 MB
CPU: ~1300 MB
2025-05-30 23:53:51 +02:00
..
bevy_a11y Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_animation Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_app Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_asset Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_audio Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_color Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_core_pipeline Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_derive Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_dev_tools Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_diagnostic Diagnostic reset sum ema (#19337) 2025-05-30 22:59:10 +02:00
bevy_dylib Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_ecs Fix EntityCloner replacing required components. (#19326) 2025-05-30 23:53:51 +02:00
bevy_encase_derive Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_gilrs Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_gizmos Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_gltf Make sure that serde_json::Map::into_values exists (#19229) 2025-05-30 22:59:10 +02:00
bevy_image Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_input Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_input_focus Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_internal Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_log Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_macro_utils Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_math Fix rotate_by implementation for Aabb2d (#19015) 2025-05-30 22:59:09 +02:00
bevy_mesh Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_mikktspace Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_pbr Fixed memory leak in bindless material (#19041) 2025-05-30 23:53:51 +02:00
bevy_picking Removed conversion from pointer physical coordinates to viewport local coordinates in bevy_picking make_ray function (#18870) 2025-05-30 22:59:09 +02:00
bevy_platform Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_ptr Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_reflect Make sure that serde_json::Map::into_values exists (#19229) 2025-05-30 22:59:10 +02:00
bevy_remote Make sure that serde_json::Map::into_values exists (#19229) 2025-05-30 22:59:10 +02:00
bevy_render doc(render): fix incorrectly transposed view matrix docs (#19317) 2025-05-30 23:53:51 +02:00
bevy_scene Fix #19219 by moving observer triggers out of resource_scope (#19221) 2025-05-30 23:53:51 +02:00
bevy_sprite Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_state Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_tasks Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_text Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_time Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_transform Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_ui Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_utils Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_window Release 0.16.0 2025-04-21 23:14:00 +02:00
bevy_winit Add WakeUp event to App (#19212) 2025-05-30 22:59:10 +02:00