Allow to interrupt shader precompilation by stopping emulation

This commit is contained in:
Silent
2022-06-10 17:11:32 +02:00
parent aad42de6c9
commit dcad3ec892
3 changed files with 17 additions and 16 deletions
+5 -2
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;