[Bf-blender-cvs] [0d68f55789a] master: DrawManager: Fixed memory leak in test cases
Jeroen Bakker
noreply at git.blender.org
Tue Sep 8 13:23:28 CEST 2020
Commit: 0d68f55789aff106bdf9e038812d358ca55c060f
Author: Jeroen Bakker
Date: Tue Sep 8 10:40:30 2020 +0200
Branches: master
https://developer.blender.org/rB0d68f55789aff106bdf9e038812d358ca55c060f
DrawManager: Fixed memory leak in test cases
Memory leak is introduced as test cases reinitializes the GPU stack.
Added a call to GPU_backend_exit to fix this.
In GPU_backend_exit the GPU backend was destroyed but the pointer wasn't
reset for reuse. This patch also clears the pointer to be reused.
===================================================================
M source/blender/draw/tests/shaders_test.cc
M source/blender/gpu/intern/gpu_context.cc
===================================================================
diff --git a/source/blender/draw/tests/shaders_test.cc b/source/blender/draw/tests/shaders_test.cc
index eb7a37711e6..95474dad8b8 100644
--- a/source/blender/draw/tests/shaders_test.cc
+++ b/source/blender/draw/tests/shaders_test.cc
@@ -37,6 +37,7 @@ class DrawTest : public ::testing::Test {
void TearDown() override
{
GPU_exit();
+ GPU_backend_exit();
GPU_context_discard(context);
GHOST_DisposeOpenGLContext(ghost_system, ghost_context);
GHOST_DisposeSystem(ghost_system);
diff --git a/source/blender/gpu/intern/gpu_context.cc b/source/blender/gpu/intern/gpu_context.cc
index 188225b3eed..119c1ef9c55 100644
--- a/source/blender/gpu/intern/gpu_context.cc
+++ b/source/blender/gpu/intern/gpu_context.cc
@@ -185,6 +185,7 @@ void GPU_backend_exit(void)
/* TODO assert no resource left. Currently UI textures are still not freed in their context
* correctly. */
delete g_backend;
+ g_backend = NULL;
}
GPUBackend *GPUBackend::get(void)
More information about the Bf-blender-cvs
mailing list