mirror of
https://git.suyu.dev/suyu/suyu
synced 2025-08-31 00:16:32 -05:00
gpu: Add shut down method to synchronize threads before destruction
This commit is contained in:
@@ -312,6 +312,12 @@ struct GPU::Impl {
|
||||
cpu_context->MakeCurrent();
|
||||
}
|
||||
|
||||
void NotifyShutdown() {
|
||||
std::unique_lock lk{sync_mutex};
|
||||
shutting_down.store(true, std::memory_order::relaxed);
|
||||
sync_cv.notify_all();
|
||||
}
|
||||
|
||||
/// Obtain the CPU Context
|
||||
void ObtainContext() {
|
||||
cpu_context->MakeCurrent();
|
||||
@@ -859,6 +865,10 @@ void GPU::Start() {
|
||||
impl->Start();
|
||||
}
|
||||
|
||||
void GPU::NotifyShutdown() {
|
||||
impl->NotifyShutdown();
|
||||
}
|
||||
|
||||
void GPU::ObtainContext() {
|
||||
impl->ObtainContext();
|
||||
}
|
||||
|
@@ -232,6 +232,9 @@ public:
|
||||
/// core timing events.
|
||||
void Start();
|
||||
|
||||
/// Performs any additional necessary steps to shutdown GPU emulation.
|
||||
void NotifyShutdown();
|
||||
|
||||
/// Obtain the CPU Context
|
||||
void ObtainContext();
|
||||
|
||||
|
Reference in New Issue
Block a user