Fix black screen on multiple libretro content loads.

Moves ThreadPool teardown to retro_unload_game. Gives ThreadPool threads some breathing room to terminate before game load starts spamming it with tasks.
This commit is contained in:
Stuart Kenny
2021-07-08 08:34:48 +01:00
parent 752fdc9d4d
commit 02a24cdb7d
3 changed files with 3 additions and 6 deletions
+1 -2
View File
@@ -46,6 +46,7 @@ public:
void Init(int numCores, int numLogicalCoresPerCpu);
void EnqueueTask(Task *task, TaskType taskType);
void EnqueueTaskOnThread(int threadNum, Task *task, TaskType taskType);
void Teardown();
// Currently does nothing. It will always be best-effort - maybe it cancels,
// maybe it doesn't. Note that the id is the id() returned by the task. You need to make that
@@ -57,8 +58,6 @@ public:
int GetNumLooperThreads() const;
private:
void Teardown();
GlobalThreadContext *global_ = nullptr;
int numThreads_ = 0;