From 699695e5ffbe9c87b65082ed60e5f66119419ca7 Mon Sep 17 00:00:00 2001 From: clayjohn Date: Thu, 10 Apr 2025 23:44:39 -0700 Subject: [PATCH] Preallocate more resources when screen textures are detected in the Mobile renderer This further reduces stutter when the screen texture suddenly becomes visible --- .../renderer_rd/forward_mobile/render_forward_mobile.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.cpp b/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.cpp index 0b1fb9e3083..8529244a9f2 100644 --- a/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.cpp +++ b/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.cpp @@ -910,6 +910,14 @@ void RenderForwardMobile::_render_scene(RenderDataRD *p_render_data, const Color global_pipeline_data_required.use_lightmaps = true; } + if (global_surface_data.screen_texture_used || global_surface_data.depth_texture_used) { + if (rb_data.is_valid()) { + // Just called to create the framebuffer since we know we will need it later. + rb_data->get_color_fbs(RenderBufferDataForwardMobile::FB_CONFIG_RENDER_PASS); + } + global_pipeline_data_required.use_separate_post_pass = true; + } + _update_dirty_geometry_pipelines(); p_render_data->scene_data->emissive_exposure_normalization = -1.0;