Index: gpu/command_buffer/service/shader_translator.cc |
diff --git a/gpu/command_buffer/service/shader_translator.cc b/gpu/command_buffer/service/shader_translator.cc |
index 1c44ef7f63f7c279e346d11c4073aa3a78251bc1..02155e5b15a9ebfb0171adbc3850290279ee2b21 100644 |
--- a/gpu/command_buffer/service/shader_translator.cc |
+++ b/gpu/command_buffer/service/shader_translator.cc |
@@ -15,17 +15,20 @@ namespace { |
using gpu::gles2::ShaderTranslator; |
+static bool g_shader_initalized = false; |
+ |
void FinalizeShaderTranslator(void* /* dummy */) { |
ShFinalize(); |
+ DCHECK(g_shader_initalized); |
+ g_shader_initalized = false; |
} |
bool InitializeShaderTranslator() { |
- static bool initialized = false; |
- if (!initialized && ShInitialize()) { |
+ if (!g_shader_initalized && ShInitialize()) { |
base::AtExitManager::RegisterCallback(&FinalizeShaderTranslator, NULL); |
- initialized = true; |
+ g_shader_initalized = true; |
} |
- return initialized; |
+ return g_shader_initalized; |
} |
#if !defined(ANGLE_SH_VERSION) || ANGLE_SH_VERSION < 108 |