diff options
Diffstat (limited to 'libs/rs/rsShaderCache.cpp')
| -rw-r--r-- | libs/rs/rsShaderCache.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/rs/rsShaderCache.cpp b/libs/rs/rsShaderCache.cpp index 45384c98f247..b958021b37a8 100644 --- a/libs/rs/rsShaderCache.cpp +++ b/libs/rs/rsShaderCache.cpp @@ -32,10 +32,7 @@ ShaderCache::ShaderCache() { } ShaderCache::~ShaderCache() { - for (uint32_t ct=0; ct < mEntries.size(); ct++) { - glDeleteProgram(mEntries[ct]->program); - free(mEntries[ct]); - } + cleanupAll(); } void ShaderCache::updateUniformArrayData(Context *rsc, Program *prog, uint32_t linkedID, @@ -251,5 +248,10 @@ void ShaderCache::cleanupFragment(uint32_t id) { } void ShaderCache::cleanupAll() { + for (uint32_t ct=0; ct < mEntries.size(); ct++) { + glDeleteProgram(mEntries[ct]->program); + free(mEntries[ct]); + } + mEntries.clear(); } |