From abd0e6990cec375c36b4f43a31c6bc29e0b2cda0 Mon Sep 17 00:00:00 2001 From: Stuart Carnie Date: Wed, 8 Jan 2025 09:43:35 -0700 Subject: [PATCH] Renderer: minor optimisation when running `gl_compatibility` mode --- servers/rendering/renderer_viewport.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/servers/rendering/renderer_viewport.cpp b/servers/rendering/renderer_viewport.cpp index 39ac915a41c..00d0365377a 100644 --- a/servers/rendering/renderer_viewport.cpp +++ b/servers/rendering/renderer_viewport.cpp @@ -876,17 +876,16 @@ void RendererViewport::draw_viewports(bool p_swap_buffers) { blit.dst_rect.size = vp->size; } - Vector *blits = blit_to_screen_list.getptr(vp->viewport_to_screen); - if (blits == nullptr) { - blits = &blit_to_screen_list.insert(vp->viewport_to_screen, Vector())->value; - } - if (OS::get_singleton()->get_current_rendering_driver_name().begins_with("opengl3")) { Vector blit_to_screen_vec; blit_to_screen_vec.push_back(blit); RSG::rasterizer->blit_render_targets_to_screen(vp->viewport_to_screen, blit_to_screen_vec.ptr(), 1); RSG::rasterizer->gl_end_frame(p_swap_buffers); } else { + Vector *blits = blit_to_screen_list.getptr(vp->viewport_to_screen); + if (blits == nullptr) { + blits = &blit_to_screen_list.insert(vp->viewport_to_screen, Vector())->value; + } blits->push_back(blit); } }