You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Merge pull request #101298 from stuartcarnie/rendering_server
Renderer: Minor optimisation when running `gl_compatibility` mode
This commit is contained in:
@@ -876,17 +876,16 @@ void RendererViewport::draw_viewports(bool p_swap_buffers) {
|
|||||||
blit.dst_rect.size = vp->size;
|
blit.dst_rect.size = vp->size;
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector<BlitToScreen> *blits = blit_to_screen_list.getptr(vp->viewport_to_screen);
|
|
||||||
if (blits == nullptr) {
|
|
||||||
blits = &blit_to_screen_list.insert(vp->viewport_to_screen, Vector<BlitToScreen>())->value;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (OS::get_singleton()->get_current_rendering_driver_name().begins_with("opengl3")) {
|
if (OS::get_singleton()->get_current_rendering_driver_name().begins_with("opengl3")) {
|
||||||
Vector<BlitToScreen> blit_to_screen_vec;
|
Vector<BlitToScreen> blit_to_screen_vec;
|
||||||
blit_to_screen_vec.push_back(blit);
|
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->blit_render_targets_to_screen(vp->viewport_to_screen, blit_to_screen_vec.ptr(), 1);
|
||||||
RSG::rasterizer->gl_end_frame(p_swap_buffers);
|
RSG::rasterizer->gl_end_frame(p_swap_buffers);
|
||||||
} else {
|
} else {
|
||||||
|
Vector<BlitToScreen> *blits = blit_to_screen_list.getptr(vp->viewport_to_screen);
|
||||||
|
if (blits == nullptr) {
|
||||||
|
blits = &blit_to_screen_list.insert(vp->viewport_to_screen, Vector<BlitToScreen>())->value;
|
||||||
|
}
|
||||||
blits->push_back(blit);
|
blits->push_back(blit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user