summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/shader_translator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gpu/command_buffer/service/shader_translator.cc')
-rw-r--r--gpu/command_buffer/service/shader_translator.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/gpu/command_buffer/service/shader_translator.cc b/gpu/command_buffer/service/shader_translator.cc
index 3bd2a97..b70821e 100644
--- a/gpu/command_buffer/service/shader_translator.cc
+++ b/gpu/command_buffer/service/shader_translator.cc
@@ -16,20 +16,23 @@ namespace {
using gpu::gles2::ShaderTranslator;
+static bool g_shader_initalized = false;
+
void FinalizeShaderTranslator(void* /* dummy */) {
TRACE_EVENT0("gpu", "ShFinalize");
ShFinalize();
+ DCHECK(g_shader_initalized);
+ g_shader_initalized = false;
}
bool InitializeShaderTranslator() {
- static bool initialized = false;
- if (!initialized) {
+ if (!g_shader_initalized) {
TRACE_EVENT0("gpu", "ShInitialize");
CHECK(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