Allow to interrupt shader precompilation by stopping emulation

This commit is contained in:
Silent
2019-11-10 21:52:52 +01:00
parent aad42de6c9
commit dcad3ec892
3 changed files with 17 additions and 16 deletions

View File

@ -157,9 +157,12 @@ const AbstractPipeline* ShaderCache::GetUberPipelineForUid(const GXUberPipelineU
void ShaderCache::WaitForAsyncCompiler()
{
while (m_async_shader_compiler->HasPendingWork() || m_async_shader_compiler->HasCompletedWork())
bool running = true;
while (running &&
(m_async_shader_compiler->HasPendingWork() || m_async_shader_compiler->HasCompletedWork()))
{
m_async_shader_compiler->WaitUntilCompletion([](size_t completed, size_t total) {
running = m_async_shader_compiler->WaitUntilCompletion([](size_t completed, size_t total) {
g_renderer->BeginUIFrame();
const float center_x = ImGui::GetIO().DisplaySize.x * 0.5f;