Only check for enabled JIT in Setup() to avoid race conditions

This commit is contained in:
Jannik Vogel 2016-03-30 13:14:02 +02:00
parent 2796552790
commit 9db801c3db

View File

@ -107,6 +107,8 @@ void ShaderSetup::Setup() {
jit_shader = shader;
shader_map[cache_key] = std::move(shader);
}
} else {
jit_shader.reset();
}
#endif // ARCHITECTURE_x86_64
}
@ -130,8 +132,8 @@ void ShaderSetup::Run(UnitState<false>& state, const InputVertex& input, int num
state.conditional_code[1] = false;
#ifdef ARCHITECTURE_x86_64
if (VideoCore::g_shader_jit_enabled)
jit_shader.lock().get()->Run(*this, state, config.main_offset);
if (auto shader = jit_shader.lock())
shader.get()->Run(*this, state, config.main_offset);
else
RunInterpreter(*this, state, config.main_offset);
#else