bevy/crates
Robin KAY 152ee42a72 Fix MSAA writeback when 3 or more cameras have the same target. (#11968)
# Objective

If multiple cameras render to the same target with MSAA enabled, only
the first and the last camera output will appear in the final output*.
This is because each camera maintains a separate flag to track the
active main texture. The first camera renders to texture A and all
subsequent cameras first write-back from A and then render into texture
B. Hence, camera 3 onwards will overwrite the work of the previous
camera.

\* This would manifest slightly differently if there were other calls to
post_process_write() in a more complex setup.

The is a functional regression from Bevy 0.12.

## Solution

The flag which tracks the active main texture should be shared between
cameras with the same `NormalizedRenderTarget`. Add the
`Arc<AtomicUsize>` to the existing per-target cache.
2024-02-27 17:11:42 +01:00
..
bevy_a11y Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_animation Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_app Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_asset Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_audio Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_core Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_core_pipeline Fix dds feature dependencies in bevy_core_pipeline (#11962) 2024-02-27 17:11:42 +01:00
bevy_derive Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_diagnostic Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_dylib Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_dynamic_plugin Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_ecs Stepping disabled performance fix (#11959) 2024-02-27 17:11:42 +01:00
bevy_ecs_compile_fail_tests Deprecated Various Component Methods from Query and QueryState (#9920) 2024-02-04 01:01:59 +00:00
bevy_encase_derive Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_gilrs Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_gizmos Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_gltf Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_hierarchy Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_input Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_internal Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_log Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_macro_utils Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_macros_compile_fail_tests Standardize toml format with taplo (#10594) 2023-11-21 01:04:14 +00:00
bevy_math Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_mikktspace Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_pbr Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_ptr Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_reflect Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_reflect_compile_fail_tests bevy_reflect_derive: Clean up attribute logic (#11777) 2024-02-12 15:16:27 +00:00
bevy_render Fix MSAA writeback when 3 or more cameras have the same target. (#11968) 2024-02-27 17:11:42 +01:00
bevy_scene Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_sprite Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_tasks Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_text Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_time Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_transform Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_ui Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_utils Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_window Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00
bevy_winit Release 0.13.0 (#11920) 2024-02-17 09:24:25 +00:00