summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2021-09-26 16:40:13 -0400
committerGitHub <noreply@github.com>2021-09-26 16:40:13 -0400
commit5114819b6bb4f5d6d239bcd8261c86a6f5b4c5c7 (patch)
tree01c0db585182966b575c2273e2804246df377f52
parent4f9d58621c3a19b6d2c60c67ba3425e92a934139 (diff)
parentab63a193d7e47fc093896d051f9ebf727d3b86d8 (diff)
Merge pull request #7078 from ameerj/vc-jthread-fixes
video_core: Fix jthread related hangs when stopping emulation
-rw-r--r--src/core/core.cpp2
-rw-r--r--src/video_core/renderer_vulkan/vk_scheduler.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 54ebed2c1..50d5dab4b 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -305,7 +305,6 @@ struct System::Impl {
is_powered_on = false;
exit_lock = false;
- gpu_core.reset();
services.reset();
service_manager.reset();
cheat_engine.reset();
@@ -315,6 +314,7 @@ struct System::Impl {
core_timing.Shutdown();
app_loader.reset();
perf_stats.reset();
+ gpu_core.reset();
kernel.Shutdown();
memory.Reset();
applet_manager.ClearAll();
diff --git a/src/video_core/renderer_vulkan/vk_scheduler.h b/src/video_core/renderer_vulkan/vk_scheduler.h
index bd22e4e83..85fc1712f 100644
--- a/src/video_core/renderer_vulkan/vk_scheduler.h
+++ b/src/video_core/renderer_vulkan/vk_scheduler.h
@@ -212,7 +212,6 @@ private:
vk::CommandBuffer current_cmdbuf;
std::unique_ptr<CommandChunk> chunk;
- std::jthread worker_thread;
State state;
@@ -226,6 +225,7 @@ private:
std::mutex work_mutex;
std::condition_variable_any work_cv;
std::condition_variable wait_cv;
+ std::jthread worker_thread;
};
} // namespace Vulkan