Преглед на файлове

OpenGL: Honor separate management of RT's backbuffer FBO and texture upon clear

Pedro J. Estébanez преди 1 година
родител
ревизия
755c7494c2
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  1. 3 1
      drivers/gles3/storage/texture_storage.cpp

+ 3 - 1
drivers/gles3/storage/texture_storage.cpp

@@ -2312,9 +2312,11 @@ void TextureStorage::_clear_render_target(RenderTarget *rt) {
 
 
 	if (rt->backbuffer_fbo != 0) {
 	if (rt->backbuffer_fbo != 0) {
 		glDeleteFramebuffers(1, &rt->backbuffer_fbo);
 		glDeleteFramebuffers(1, &rt->backbuffer_fbo);
+		rt->backbuffer_fbo = 0;
+	}
+	if (rt->backbuffer != 0) {
 		GLES3::Utilities::get_singleton()->texture_free_data(rt->backbuffer);
 		GLES3::Utilities::get_singleton()->texture_free_data(rt->backbuffer);
 		rt->backbuffer = 0;
 		rt->backbuffer = 0;
-		rt->backbuffer_fbo = 0;
 	}
 	}
 	if (rt->backbuffer_depth != 0) {
 	if (rt->backbuffer_depth != 0) {
 		GLES3::Utilities::get_singleton()->texture_free_data(rt->backbuffer_depth);
 		GLES3::Utilities::get_singleton()->texture_free_data(rt->backbuffer_depth);