diff options
Diffstat (limited to 'src/mbgl/gl')
-rw-r--r-- | src/mbgl/gl/context.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/gl/context.hpp | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/mbgl/gl/context.cpp b/src/mbgl/gl/context.cpp index 3e88624d4f..4d9c2055de 100644 --- a/src/mbgl/gl/context.cpp +++ b/src/mbgl/gl/context.cpp @@ -682,7 +682,13 @@ void Context::performCleanup() { abandonedRenderbuffers.data())); abandonedRenderbuffers.clear(); } +} + +void Context::reduceMemoryUsage() { + performCleanup(); + // Ensure that all pending actions are executed to ensure that they happen before the app goes + // to the background. MBGL_CHECK_ERROR(glFinish()); } diff --git a/src/mbgl/gl/context.hpp b/src/mbgl/gl/context.hpp index 80278718d1..70f12e5a8d 100644 --- a/src/mbgl/gl/context.hpp +++ b/src/mbgl/gl/context.hpp @@ -96,6 +96,8 @@ public: // Only call this while the OpenGL context is exclusive to this thread. void performCleanup() override; + void reduceMemoryUsage() override; + // Drain pools and remove abandoned objects, in preparation for destroying the store. // Only call this while the OpenGL context is exclusive to this thread. void reset(); |