diff options
| author | Shawn Hoffman <godisgovernment@gmail.com> | 2011-12-26 10:27:18 -0500 |
|---|---|---|
| committer | Shawn Hoffman <godisgovernment@gmail.com> | 2011-12-26 10:27:18 -0500 |
| commit | c8d0c8e2172900ee36c6cb25553bb07d982aaad7 (patch) | |
| tree | c271ca62af18e2a9cd5e6bb5ead2b0e3e9a2facb /Source | |
| parent | 6f729f8cbfc704d562a737c85d2270bd1225ee2c (diff) | |
oops, forgot to make sure the gl program is actually free'd.
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp | 3 | ||||
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp index 387996a957..eeb9614070 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp @@ -219,7 +219,10 @@ void ProgramShaderCache::Shutdown(void) { PCache::iterator iter = pshaders.begin(); for (; iter != pshaders.end(); ++iter) + { g_program_disk_cache.Append(iter->second.uid, iter->second.GetProgram(), iter->second.Size()); + iter->second.FreeProgram(); + } g_program_disk_cache.Sync(); g_program_disk_cache.Close(); diff --git a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.h b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.h index d0743326dd..6089f205e7 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.h +++ b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.h @@ -100,6 +100,7 @@ public: void FreeProgram() { delete [] binary; + binary = NULL; } GLint Size() |
