diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-11-22 21:56:23 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-11-22 21:56:23 +0100 |
commit | bd74d92ef79031379a2010a0110b48e71c8f7ebc (patch) | |
tree | 828e2b5207899427d04cb5b1bfc0f183d0cff2a7 /servers/rendering/renderer_rd/renderer_scene_render_rd.cpp | |
parent | 923ef2b46a04e8f54c0a60bae8a0a6269fa52ed2 (diff) | |
parent | 47983e30c503ffa4dc05c53fac15752f90c9b339 (diff) | |
download | redot-engine-bd74d92ef79031379a2010a0110b48e71c8f7ebc.tar.gz |
Merge pull request #84957 from BastiaanOlij/fix_msaa2d_when_no_2d
Ensure 2D MSAA resolve is performed when 3D content but no 2D content in scene
Diffstat (limited to 'servers/rendering/renderer_rd/renderer_scene_render_rd.cpp')
-rw-r--r-- | servers/rendering/renderer_rd/renderer_scene_render_rd.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp b/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp index 1a33f1d6e0..d4ed640247 100644 --- a/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp @@ -586,6 +586,7 @@ void RendererSceneRenderRD::_render_buffers_post_process_and_tonemap(const Rende if (dest_is_msaa_2d) { dest_fb = FramebufferCacheRD::get_singleton()->get_cache(texture_storage->render_target_get_rd_texture_msaa(render_target)); + texture_storage->render_target_set_msaa_needs_resolve(render_target, true); // Make sure this gets resolved. } else { dest_fb = texture_storage->render_target_get_rd_framebuffer(render_target); } @@ -611,6 +612,8 @@ void RendererSceneRenderRD::_render_buffers_post_process_and_tonemap(const Rende RID source_texture = texture_storage->render_target_get_rd_texture(render_target); RID dest_fb = FramebufferCacheRD::get_singleton()->get_cache(texture_storage->render_target_get_rd_texture_msaa(render_target)); copy_effects->copy_to_fb_rect(source_texture, dest_fb, Rect2i(Point2i(), rb->get_target_size())); + + texture_storage->render_target_set_msaa_needs_resolve(render_target, true); // Make sure this gets resolved. } RD::get_singleton()->draw_command_end_label(); |