summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Morph2021-09-26 16:40:13 -0400
committerGravatar GitHub2021-09-26 16:40:13 -0400
commit5114819b6bb4f5d6d239bcd8261c86a6f5b4c5c7 (patch)
tree01c0db585182966b575c2273e2804246df377f52 /src
parentMerge pull request #7085 from Morph1984/bsd-read-stub (diff)
parentvideo_core: Fix jthread related hangs when stopping emulation (diff)
downloadyuzu-5114819b6bb4f5d6d239bcd8261c86a6f5b4c5c7.tar.gz
yuzu-5114819b6bb4f5d6d239bcd8261c86a6f5b4c5c7.tar.xz
yuzu-5114819b6bb4f5d6d239bcd8261c86a6f5b4c5c7.zip
Merge pull request #7078 from ameerj/vc-jthread-fixes
video_core: Fix jthread related hangs when stopping emulation
Diffstat (limited to 'src')
-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 {
305 is_powered_on = false; 305 is_powered_on = false;
306 exit_lock = false; 306 exit_lock = false;
307 307
308 gpu_core.reset();
309 services.reset(); 308 services.reset();
310 service_manager.reset(); 309 service_manager.reset();
311 cheat_engine.reset(); 310 cheat_engine.reset();
@@ -315,6 +314,7 @@ struct System::Impl {
315 core_timing.Shutdown(); 314 core_timing.Shutdown();
316 app_loader.reset(); 315 app_loader.reset();
317 perf_stats.reset(); 316 perf_stats.reset();
317 gpu_core.reset();
318 kernel.Shutdown(); 318 kernel.Shutdown();
319 memory.Reset(); 319 memory.Reset();
320 applet_manager.ClearAll(); 320 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:
212 vk::CommandBuffer current_cmdbuf; 212 vk::CommandBuffer current_cmdbuf;
213 213
214 std::unique_ptr<CommandChunk> chunk; 214 std::unique_ptr<CommandChunk> chunk;
215 std::jthread worker_thread;
216 215
217 State state; 216 State state;
218 217
@@ -226,6 +225,7 @@ private:
226 std::mutex work_mutex; 225 std::mutex work_mutex;
227 std::condition_variable_any work_cv; 226 std::condition_variable_any work_cv;
228 std::condition_variable wait_cv; 227 std::condition_variable wait_cv;
228 std::jthread worker_thread;
229}; 229};
230 230
231} // namespace Vulkan 231} // namespace Vulkan