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); } }