Loading libs/rs/rsContext.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -535,6 +535,7 @@ void Context::destroyWorkerThreadResources() { mStateFragment.deinit(this); mStateFragmentStore.deinit(this); mStateFont.deinit(this); mShaderCache.cleanupAll(); } ObjectBase::zeroAllUserRef(this); LOGV("destroyWorkerThreadResources 2"); Loading libs/rs/rsShaderCache.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -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, Loading Loading @@ -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(); } Loading
libs/rs/rsContext.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -535,6 +535,7 @@ void Context::destroyWorkerThreadResources() { mStateFragment.deinit(this); mStateFragmentStore.deinit(this); mStateFont.deinit(this); mShaderCache.cleanupAll(); } ObjectBase::zeroAllUserRef(this); LOGV("destroyWorkerThreadResources 2"); Loading
libs/rs/rsShaderCache.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -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, Loading Loading @@ -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(); }