Merge pull request #78508 from Wuqiqi123/free_depth_texture_when_frame_buffer_check_failed

Free depth texture after check framebuffer complete failed
This commit is contained in:
Rémi Verschelde 2023-06-22 10:30:07 +02:00
commit 3e09b0bfa7
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -1744,7 +1744,12 @@ void TextureStorage::_update_render_target(RenderTarget *rt) {
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
if (status != GL_FRAMEBUFFER_COMPLETE) {
glDeleteFramebuffers(1, &rt->fbo);
GLES3::Utilities::get_singleton()->texture_free_data(rt->color);
if (rt->overridden.color.is_null()) {
GLES3::Utilities::get_singleton()->texture_free_data(rt->color);
}
if (rt->overridden.depth.is_null()) {
GLES3::Utilities::get_singleton()->texture_free_data(rt->depth);
}
rt->fbo = 0;
rt->size.x = 0;
rt->size.y = 0;