Merge pull request #80368 from BastiaanOlij/fix_mobile_error_on_scale

Fix issue with four subpasses always been requested in mobile renderer
This commit is contained in:
Rémi Verschelde 2023-08-08 16:58:47 +02:00
commit 00de140d46
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -722,16 +722,9 @@ void RenderForwardMobile::_render_scene(RenderDataRD *p_render_data, const Color
using_subpass_post_process = false; using_subpass_post_process = false;
} }
// We do this last because our get_color_fbs creates and caches the framebuffer if we need it.
RID four_subpasses = rb_data->get_color_fbs(RenderBufferDataForwardMobile::FB_CONFIG_FOUR_SUBPASSES);
if (using_subpass_post_process && four_subpasses.is_null()) {
// can't do blit subpass because we don't have all subpasses
using_subpass_post_process = false;
}
if (using_subpass_post_process) { if (using_subpass_post_process) {
// all as subpasses // all as subpasses
framebuffer = four_subpasses; framebuffer = rb_data->get_color_fbs(RenderBufferDataForwardMobile::FB_CONFIG_FOUR_SUBPASSES);
} else if (using_subpass_transparent) { } else if (using_subpass_transparent) {
// our tonemap pass is separate // our tonemap pass is separate
framebuffer = rb_data->get_color_fbs(RenderBufferDataForwardMobile::FB_CONFIG_THREE_SUBPASSES); framebuffer = rb_data->get_color_fbs(RenderBufferDataForwardMobile::FB_CONFIG_THREE_SUBPASSES);