diff --git a/CMakeLists.txt b/CMakeLists.txt
index c323f8885..568dbb1f5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -433,6 +433,14 @@ add_library(Common STATIC
Common/Crypto/sha1.h
Common/Crypto/sha256.cpp
Common/Crypto/sha256.h
+ Common/Thread/Executor.cpp
+ Common/Thread/Executor.h
+ Common/Thread/PrioritizedWorkQueue.cpp
+ Common/Thread/PrioritizedWorkQueue.h
+ Common/Thread/ThreadUtil.cpp
+ Common/Thread/ThreadUtil.h
+ Common/Thread/ThreadPool.cpp
+ Common/Thread/ThreadPool.h
Common/BitScan.h
Common/BitSet.h
Common/Buffer.h
@@ -1045,14 +1053,6 @@ add_library(native STATIC
ext/native/thin3d/thin3d.h
ext/native/thin3d/thin3d_create.h
${THIN3D_PLATFORMS}
- ext/native/thread/executor.cpp
- ext/native/thread/executor.h
- ext/native/thread/prioritizedworkqueue.cpp
- ext/native/thread/prioritizedworkqueue.h
- ext/native/thread/threadutil.cpp
- ext/native/thread/threadutil.h
- ext/native/thread/threadpool.cpp
- ext/native/thread/threadpool.h
ext/native/ui/root.cpp
ext/native/ui/root.h
ext/native/ui/screen.cpp
diff --git a/Common/Common.vcxproj b/Common/Common.vcxproj
index aceea2b7f..d631d484a 100644
--- a/Common/Common.vcxproj
+++ b/Common/Common.vcxproj
@@ -420,6 +420,10 @@
+
+
+
+
@@ -659,6 +663,10 @@
+
+
+
+
@@ -681,4 +689,4 @@
-
+
\ No newline at end of file
diff --git a/Common/Common.vcxproj.filters b/Common/Common.vcxproj.filters
index 1322c5858..a021e84b0 100644
--- a/Common/Common.vcxproj.filters
+++ b/Common/Common.vcxproj.filters
@@ -116,6 +116,18 @@
ext\libpng17
+
+ Thread
+
+
+ Thread
+
+
+ Thread
+
+
+ Thread
+
@@ -231,6 +243,18 @@
ext\libpng17
+
+ Thread
+
+
+ Thread
+
+
+ Thread
+
+
+ Thread
+
@@ -254,10 +278,13 @@
{1d04f87f-73a2-4027-a6ff-e998e92e7d3c}
+
+ {41bcd391-8641-432c-ae4a-ab03812df762}
+
ext\libpng17
-
+
\ No newline at end of file
diff --git a/Common/ConsoleListener.cpp b/Common/ConsoleListener.cpp
index da4407379..ce3cc1f1b 100644
--- a/Common/ConsoleListener.cpp
+++ b/Common/ConsoleListener.cpp
@@ -32,7 +32,7 @@
#endif
#include "ppsspp_config.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "util/text/utf8.h"
#include "Common/Common.h"
#include "Common/ConsoleListener.h"
diff --git a/Common/ExceptionHandlerSetup.cpp b/Common/ExceptionHandlerSetup.cpp
index 0b8f8ac7f..8232b4ba9 100644
--- a/Common/ExceptionHandlerSetup.cpp
+++ b/Common/ExceptionHandlerSetup.cpp
@@ -6,7 +6,6 @@
#include "ppsspp_config.h"
-#include "Common/ExceptionHandlerSetup.h"
#include
#include
#include
@@ -16,9 +15,9 @@
#include "Common/CommonFuncs.h"
#include "Common/CommonTypes.h"
#include "Common/Log.h"
-#include "ext/native/thread/threadutil.h"
-
+#include "Common/Thread/ThreadUtil.h"
#include "Common/MachineContext.h"
+#include "Common/ExceptionHandlerSetup.h"
static BadAccessHandler g_badAccessHandler;
static void *altStack = nullptr;
diff --git a/ext/native/thread/executor.cpp b/Common/Thread/Executor.cpp
similarity index 91%
rename from ext/native/thread/executor.cpp
rename to Common/Thread/Executor.cpp
index 0ae2b41b6..6f9c68910 100644
--- a/ext/native/thread/executor.cpp
+++ b/Common/Thread/Executor.cpp
@@ -1,4 +1,4 @@
-#include "thread/executor.h"
+#include "Common/Thread/Executor.h"
#include
#include
diff --git a/ext/native/thread/executor.h b/Common/Thread/Executor.h
similarity index 100%
rename from ext/native/thread/executor.h
rename to Common/Thread/Executor.h
diff --git a/ext/native/thread/prioritizedworkqueue.cpp b/Common/Thread/PrioritizedWorkQueue.cpp
similarity index 98%
rename from ext/native/thread/prioritizedworkqueue.cpp
rename to Common/Thread/PrioritizedWorkQueue.cpp
index 24a51c7c7..d80ad80c4 100644
--- a/ext/native/thread/prioritizedworkqueue.cpp
+++ b/Common/Thread/PrioritizedWorkQueue.cpp
@@ -2,7 +2,7 @@
#include
#include "Common/TimeUtil.h"
-#include "thread/prioritizedworkqueue.h"
+#include "Common/Thread/PrioritizedWorkQueue.h"
#include "Common/Log.h"
diff --git a/ext/native/thread/prioritizedworkqueue.h b/Common/Thread/PrioritizedWorkQueue.h
similarity index 97%
rename from ext/native/thread/prioritizedworkqueue.h
rename to Common/Thread/PrioritizedWorkQueue.h
index 83848d2c6..59231f48b 100644
--- a/ext/native/thread/prioritizedworkqueue.h
+++ b/Common/Thread/PrioritizedWorkQueue.h
@@ -5,7 +5,7 @@
#include
#include
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/Common.h"
diff --git a/ext/native/thread/threadpool.cpp b/Common/Thread/ThreadPool.cpp
similarity index 97%
rename from ext/native/thread/threadpool.cpp
rename to Common/Thread/ThreadPool.cpp
index 6f5a83d25..e64d1c878 100644
--- a/ext/native/thread/threadpool.cpp
+++ b/Common/Thread/ThreadPool.cpp
@@ -1,5 +1,5 @@
-#include "thread/threadpool.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadPool.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/Log.h"
#include "Common/MakeUnique.h"
diff --git a/ext/native/thread/threadpool.h b/Common/Thread/ThreadPool.h
similarity index 100%
rename from ext/native/thread/threadpool.h
rename to Common/Thread/ThreadPool.h
diff --git a/ext/native/thread/threadutil.cpp b/Common/Thread/ThreadUtil.cpp
similarity index 98%
rename from ext/native/thread/threadutil.cpp
rename to Common/Thread/ThreadUtil.cpp
index 8b9d32bc5..b7c807e61 100644
--- a/ext/native/thread/threadutil.cpp
+++ b/Common/Thread/ThreadUtil.cpp
@@ -11,9 +11,8 @@
#include
#include
-#include "thread/threadutil.h"
-
#include "Common/Log.h"
+#include "Common/Thread/ThreadUtil.h"
#if defined(__ANDROID__) || defined(__APPLE__) || (defined(__GLIBC__) && defined(_GNU_SOURCE))
#include
diff --git a/ext/native/thread/threadutil.h b/Common/Thread/ThreadUtil.h
similarity index 100%
rename from ext/native/thread/threadutil.h
rename to Common/Thread/ThreadUtil.h
diff --git a/Common/ThreadPools.h b/Common/ThreadPools.h
index e04303a9d..350d56da1 100644
--- a/Common/ThreadPools.h
+++ b/Common/ThreadPools.h
@@ -1,6 +1,6 @@
#pragma once
-#include "thread/threadpool.h"
+#include "Common/Thread/ThreadPool.h"
class GlobalThreadPool {
public:
diff --git a/Core/Core.cpp b/Core/Core.cpp
index 5e1ad904b..73d9ea35a 100644
--- a/Core/Core.cpp
+++ b/Core/Core.cpp
@@ -25,7 +25,7 @@
#include "base/NativeApp.h"
#include "base/display.h"
#include "Common/TimeUtil.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "profiler/profiler.h"
#include "Common/GraphicsContext.h"
diff --git a/Core/Debugger/WebSocket.cpp b/Core/Debugger/WebSocket.cpp
index 62d1879cd..418c81188 100644
--- a/Core/Debugger/WebSocket.cpp
+++ b/Core/Debugger/WebSocket.cpp
@@ -17,7 +17,7 @@
#include
#include
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Core/Debugger/WebSocket.h"
#include "Core/Debugger/WebSocket/WebSocketUtils.h"
#include "Core/MemMap.h"
diff --git a/Core/Dialog/PSPSaveDialog.cpp b/Core/Dialog/PSPSaveDialog.cpp
index 8328ae34f..637ddfdff 100755
--- a/Core/Dialog/PSPSaveDialog.cpp
+++ b/Core/Dialog/PSPSaveDialog.cpp
@@ -22,7 +22,7 @@
#include
#include "i18n/i18n.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/FileUtil.h"
#include "Common/Serialize/Serializer.h"
diff --git a/Core/FileLoaders/CachingFileLoader.cpp b/Core/FileLoaders/CachingFileLoader.cpp
index 4902af5a3..c4029d01e 100644
--- a/Core/FileLoaders/CachingFileLoader.cpp
+++ b/Core/FileLoaders/CachingFileLoader.cpp
@@ -19,7 +19,7 @@
#include
#include
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/TimeUtil.h"
#include "Core/FileLoaders/CachingFileLoader.h"
diff --git a/Core/FileLoaders/RamCachingFileLoader.cpp b/Core/FileLoaders/RamCachingFileLoader.cpp
index e575b21b7..73e0151b9 100644
--- a/Core/FileLoaders/RamCachingFileLoader.cpp
+++ b/Core/FileLoaders/RamCachingFileLoader.cpp
@@ -20,7 +20,7 @@
#include
#include
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/TimeUtil.h"
#include "Core/FileLoaders/RamCachingFileLoader.h"
diff --git a/Core/HLE/proAdhoc.cpp b/Core/HLE/proAdhoc.cpp
index a93a64656..4c39013bf 100644
--- a/Core/HLE/proAdhoc.cpp
+++ b/Core/HLE/proAdhoc.cpp
@@ -38,7 +38,7 @@
#include
#include "i18n/i18n.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "util/text/parsers.h"
#include "Common/Serialize/SerializeFuncs.h"
diff --git a/Core/HLE/proAdhocServer.cpp b/Core/HLE/proAdhocServer.cpp
index 32fea38db..a345ab0b5 100644
--- a/Core/HLE/proAdhocServer.cpp
+++ b/Core/HLE/proAdhocServer.cpp
@@ -50,7 +50,7 @@
#endif
#include "i18n/i18n.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/FileUtil.h"
#include "Common/TimeUtil.h"
diff --git a/Core/HLE/sceIo.cpp b/Core/HLE/sceIo.cpp
index 9fd546d13..4f1185fff 100644
--- a/Core/HLE/sceIo.cpp
+++ b/Core/HLE/sceIo.cpp
@@ -19,7 +19,7 @@
#include
#include
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "profiler/profiler.h"
#include "Common/FileUtil.h"
diff --git a/Core/HLE/sceNetAdhoc.cpp b/Core/HLE/sceNetAdhoc.cpp
index 0645f4c70..614b9f1d1 100644
--- a/Core/HLE/sceNetAdhoc.cpp
+++ b/Core/HLE/sceNetAdhoc.cpp
@@ -29,7 +29,7 @@
#endif
#include
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
// sceNetAdhoc
// This is a direct port of Coldbird's code from http://code.google.com/p/aemu/
diff --git a/Core/HLE/sceSas.cpp b/Core/HLE/sceSas.cpp
index 285fee2b3..5205c9d22 100644
--- a/Core/HLE/sceSas.cpp
+++ b/Core/HLE/sceSas.cpp
@@ -33,7 +33,7 @@
#include
#include "profiler/profiler.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/Serialize/SerializeFuncs.h"
#include "Common/Log.h"
#include "Core/Config.h"
diff --git a/Core/HW/Camera.h b/Core/HW/Camera.h
index 4e36fbd29..c23290915 100644
--- a/Core/HW/Camera.h
+++ b/Core/HW/Camera.h
@@ -57,7 +57,7 @@ void __cameraDummyImage(int width, int height, unsigned char** outData, int* out
#include
#include
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
typedef struct {
void *start;
diff --git a/Core/PSPLoaders.cpp b/Core/PSPLoaders.cpp
index 53bdc3572..26ad3572e 100644
--- a/Core/PSPLoaders.cpp
+++ b/Core/PSPLoaders.cpp
@@ -19,7 +19,7 @@
#include "file/file_util.h"
#include "util/text/utf8.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/FileUtil.h"
#include "Common/StringUtils.h"
diff --git a/Core/Reporting.cpp b/Core/Reporting.cpp
index 6d6e36483..86d73612e 100644
--- a/Core/Reporting.cpp
+++ b/Core/Reporting.cpp
@@ -48,7 +48,7 @@
#include "net/resolve.h"
#include "net/url.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "file/zip_read.h"
namespace Reporting
diff --git a/Core/SaveState.cpp b/Core/SaveState.cpp
index 26c4a6f51..a2ed97323 100644
--- a/Core/SaveState.cpp
+++ b/Core/SaveState.cpp
@@ -21,7 +21,7 @@
#include
#include "i18n/i18n.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "util/text/parsers.h"
#include "Common/FileUtil.h"
diff --git a/Core/System.cpp b/Core/System.cpp
index ebf3eaaaa..ceaf38c07 100644
--- a/Core/System.cpp
+++ b/Core/System.cpp
@@ -34,7 +34,7 @@
#include "base/NativeApp.h"
#include "math/math_util.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "util/text/utf8.h"
#include "Common/FileUtil.h"
diff --git a/Core/Util/PortManager.cpp b/Core/Util/PortManager.cpp
index bc6b18ace..0e2fb75c2 100644
--- a/Core/Util/PortManager.cpp
+++ b/Core/Util/PortManager.cpp
@@ -32,7 +32,7 @@
#include "Common/TimeUtil.h"
#include "i18n/i18n.h"
#include "net/resolve.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/Log.h"
#include "Core/System.h"
#include "Core/Host.h"
diff --git a/Core/WebServer.cpp b/Core/WebServer.cpp
index 222ab247d..ce7519a47 100644
--- a/Core/WebServer.cpp
+++ b/Core/WebServer.cpp
@@ -23,7 +23,7 @@
#include "net/http_client.h"
#include "net/http_server.h"
#include "net/sinks.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/Log.h"
#include "Common/FileUtil.h"
#include "Common/TimeUtil.h"
diff --git a/Qt/QtMain.cpp b/Qt/QtMain.cpp
index 2ba3a2e63..0010db192 100644
--- a/Qt/QtMain.cpp
+++ b/Qt/QtMain.cpp
@@ -34,7 +34,7 @@
#include "gfx_es2/gpu_features.h"
#include "i18n/i18n.h"
#include "math/math_util.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "util/text/utf8.h"
#include "Core/Config.h"
#include "Core/ConfigValues.h"
diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp
index 22a5fa952..348162d9d 100644
--- a/SDL/SDLMain.cpp
+++ b/SDL/SDLMain.cpp
@@ -32,7 +32,7 @@ SDLJoystick *joystick = NULL;
#include "util/text/utf8.h"
#include "math/math_util.h"
#include "thin3d/GLRenderManager.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "math.h"
#include "SDL_syswm.h"
diff --git a/UI/GameInfoCache.cpp b/UI/GameInfoCache.cpp
index 807448c8a..08699e24c 100644
--- a/UI/GameInfoCache.cpp
+++ b/UI/GameInfoCache.cpp
@@ -25,7 +25,7 @@
#include "file/file_util.h"
#include "file/zip_read.h"
#include "thin3d/thin3d.h"
-#include "thread/prioritizedworkqueue.h"
+#include "Common/Thread/PrioritizedWorkQueue.h"
#include "Common/FileUtil.h"
#include "Common/StringUtils.h"
diff --git a/UI/SavedataScreen.cpp b/UI/SavedataScreen.cpp
index 9714b689a..bb28391c7 100644
--- a/UI/SavedataScreen.cpp
+++ b/UI/SavedataScreen.cpp
@@ -22,7 +22,7 @@
#include "gfx_es2/draw_buffer.h"
#include "i18n/i18n.h"
#include "math/curves.h"
-#include "thread/prioritizedworkqueue.h"
+#include "Common/Thread/PrioritizedWorkQueue.h"
#include "util/text/utf8.h"
#include "ui/ui_context.h"
#include "ui/view.h"
diff --git a/UWP/NativeUWP/NativeUWP.vcxproj b/UWP/NativeUWP/NativeUWP.vcxproj
index 54654bc7c..808814c28 100644
--- a/UWP/NativeUWP/NativeUWP.vcxproj
+++ b/UWP/NativeUWP/NativeUWP.vcxproj
@@ -423,10 +423,6 @@
-
-
-
-
@@ -599,10 +595,6 @@
-
-
-
-
@@ -638,4 +630,4 @@
-
\ No newline at end of file
+
diff --git a/UWP/NativeUWP/NativeUWP.vcxproj.filters b/UWP/NativeUWP/NativeUWP.vcxproj.filters
index 7b5e91cae..cd0b7803c 100644
--- a/UWP/NativeUWP/NativeUWP.vcxproj.filters
+++ b/UWP/NativeUWP/NativeUWP.vcxproj.filters
@@ -55,18 +55,6 @@
thin3d
-
- thread
-
-
- thread
-
-
- thread
-
-
- thread
-
util
@@ -226,18 +214,6 @@
thin3d
-
- thread
-
-
- thread
-
-
- thread
-
-
- thread
-
util
@@ -403,4 +379,4 @@
gfx
-
\ No newline at end of file
+
diff --git a/UWP/PPSSPP_UWPMain.cpp b/UWP/PPSSPP_UWPMain.cpp
index 4915c4ffa..8777ced8a 100644
--- a/UWP/PPSSPP_UWPMain.cpp
+++ b/UWP/PPSSPP_UWPMain.cpp
@@ -11,7 +11,7 @@
#include "net/http_client.h"
#include "net/resolve.h"
#include "base/display.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "thin3d/thin3d_create.h"
#include "util/text/utf8.h"
diff --git a/UWP/StorageFileLoader.cpp b/UWP/StorageFileLoader.cpp
index dcdbdcff7..2797e9fe2 100644
--- a/UWP/StorageFileLoader.cpp
+++ b/UWP/StorageFileLoader.cpp
@@ -1,7 +1,7 @@
#include "pch.h"
#include "ppltasks.h"
#include "file/file_util.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "StorageFileLoader.h"
#include "Common/Log.h"
#include "UWPUtil.h"
diff --git a/UWP/StorageFolderBrowser.cpp b/UWP/StorageFolderBrowser.cpp
index 3744b3e6d..4e86ed079 100644
--- a/UWP/StorageFolderBrowser.cpp
+++ b/UWP/StorageFolderBrowser.cpp
@@ -1,7 +1,7 @@
#include "pch.h"
#include "ppltasks.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "StorageFolderBrowser.h"
#include "UWPUtil.h"
diff --git a/UWP/XAudioSoundStream.cpp b/UWP/XAudioSoundStream.cpp
index 8932b298a..fa4bc4dd2 100644
--- a/UWP/XAudioSoundStream.cpp
+++ b/UWP/XAudioSoundStream.cpp
@@ -3,7 +3,7 @@
#include
#include
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "XAudioSoundStream.h"
#include
diff --git a/Windows/CaptureDevice.cpp b/Windows/CaptureDevice.cpp
index a47590113..f69767099 100644
--- a/Windows/CaptureDevice.cpp
+++ b/Windows/CaptureDevice.cpp
@@ -16,7 +16,7 @@
// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
#include
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "CaptureDevice.h"
#include "BufferLock.h"
#include "ext/jpge/jpge.h"
diff --git a/Windows/DSoundStream.cpp b/Windows/DSoundStream.cpp
index 89111c806..bd375d025 100644
--- a/Windows/DSoundStream.cpp
+++ b/Windows/DSoundStream.cpp
@@ -10,7 +10,7 @@
#undef __null
#endif
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/Log.h"
#include "Common/OSVersion.h"
#include "Core/ConfigValues.h"
diff --git a/Windows/EmuThread.cpp b/Windows/EmuThread.cpp
index 32af670d4..80ac51697 100644
--- a/Windows/EmuThread.cpp
+++ b/Windows/EmuThread.cpp
@@ -23,7 +23,7 @@
#include "Core/System.h"
#include "Core/Config.h"
#include "Core/ConfigValues.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
enum class EmuThreadState {
DISABLED,
diff --git a/Windows/InputDevice.cpp b/Windows/InputDevice.cpp
index 70d4a6ff4..57b571bce 100644
--- a/Windows/InputDevice.cpp
+++ b/Windows/InputDevice.cpp
@@ -20,7 +20,7 @@
#include
#include "input/input_state.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Core/Config.h"
#include "Core/Host.h"
#include "Windows/InputDevice.h"
diff --git a/Windows/MainWindow.cpp b/Windows/MainWindow.cpp
index 14fc10cdf..fe1d1ee82 100644
--- a/Windows/MainWindow.cpp
+++ b/Windows/MainWindow.cpp
@@ -39,7 +39,7 @@
#include "i18n/i18n.h"
#include "input/input_state.h"
#include "input/keycodes.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "util/text/utf8.h"
#include "Core/Core.h"
diff --git a/Windows/WASAPIStream.cpp b/Windows/WASAPIStream.cpp
index 17be14333..9e11d558c 100644
--- a/Windows/WASAPIStream.cpp
+++ b/Windows/WASAPIStream.cpp
@@ -6,7 +6,7 @@
#include "Core/Reporting.h"
#include "Core/Util/AudioFormat.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include
#include
diff --git a/Windows/main.cpp b/Windows/main.cpp
index 2fdfc565d..04713ef2e 100644
--- a/Windows/main.cpp
+++ b/Windows/main.cpp
@@ -37,7 +37,7 @@
#include "file/zip_read.h"
#include "i18n/i18n.h"
#include "profiler/profiler.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "util/text/utf8.h"
#include "net/resolve.h"
diff --git a/android/jni/Android.mk b/android/jni/Android.mk
index 4e5d42436..bb51dbe08 100644
--- a/android/jni/Android.mk
+++ b/android/jni/Android.mk
@@ -233,6 +233,10 @@ EXEC_AND_LIB_FILES := \
$(SRC)/Common/Crypto/md5.cpp \
$(SRC)/Common/Crypto/sha1.cpp \
$(SRC)/Common/Crypto/sha256.cpp \
+ $(SRC)/Common/Thread/Executor.cpp \
+ $(SRC)/Common/Thread/PrioritizedWorkQueue.cpp \
+ $(SRC)/Common/Thread/ThreadPool.cpp \
+ $(SRC)/Common/Thread/ThreadUtil.cpp \
$(SRC)/Common/Serialize/Serializer.cpp \
$(SRC)/Common/ColorConv.cpp \
$(SRC)/Common/ExceptionHandlerSetup.cpp \
diff --git a/android/jni/app-android.cpp b/android/jni/app-android.cpp
index 7204b85ae..b665eedee 100644
--- a/android/jni/app-android.cpp
+++ b/android/jni/app-android.cpp
@@ -51,7 +51,7 @@ struct JNIEnv {};
#include "base/display.h"
#include "base/NativeApp.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "file/zip_read.h"
#include "input/input_state.h"
#include "input/keycodes.h"
diff --git a/ext/native/Android.mk b/ext/native/Android.mk
index 44fe5405b..59a328aa0 100644
--- a/ext/native/Android.mk
+++ b/ext/native/Android.mk
@@ -39,10 +39,6 @@ LOCAL_SRC_FILES :=\
net/url.cpp \
net/websocket_server.cpp \
profiler/profiler.cpp \
- thread/executor.cpp \
- thread/threadutil.cpp \
- thread/prioritizedworkqueue.cpp \
- thread/threadpool.cpp \
gfx_es2/glsl_program.cpp \
gfx_es2/gpu_features.cpp \
gfx_es2/gl3stub.c \
diff --git a/ext/native/file/path.cpp b/ext/native/file/path.cpp
index 5be7b326c..e7be80c60 100644
--- a/ext/native/file/path.cpp
+++ b/ext/native/file/path.cpp
@@ -8,7 +8,7 @@
#include "file/path.h"
#include "net/http_client.h"
#include "net/url.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
bool LoadRemoteFileList(const std::string &url, bool *cancel, std::vector &files) {
http::Client http;
diff --git a/ext/native/native.vcxproj b/ext/native/native.vcxproj
index a55298b1f..5395a1ffc 100644
--- a/ext/native/native.vcxproj
+++ b/ext/native/native.vcxproj
@@ -446,10 +446,6 @@
-
-
-
-
@@ -562,10 +558,6 @@
-
-
-
-
diff --git a/ext/native/native.vcxproj.filters b/ext/native/native.vcxproj.filters
index 059d1df54..f06b11c07 100644
--- a/ext/native/native.vcxproj.filters
+++ b/ext/native/native.vcxproj.filters
@@ -119,21 +119,12 @@
util
-
- thread
-
-
- thread
-
i18n
file
-
- thread
-
ui
@@ -188,9 +179,6 @@
net
-
- thread
-
gfx
@@ -361,21 +349,12 @@
util
-
- thread
-
-
- thread
-
i18n
file
-
- thread
-
ui
@@ -436,9 +415,6 @@
net
-
- thread
-
base
@@ -558,9 +534,6 @@
{4515306f-4664-46bf-a89b-abfec5520a15}
-
- {caa41117-1d90-47cc-9fba-f7e670e315a3}
-
{02e8ef95-82c7-4420-b029-a189a5e0fcbd}
diff --git a/ext/native/net/http_client.cpp b/ext/native/net/http_client.cpp
index 24d93ed0c..f5a80ec17 100644
--- a/ext/native/net/http_client.cpp
+++ b/ext/native/net/http_client.cpp
@@ -24,7 +24,7 @@
#include "file/fd_util.h"
#include "net/resolve.h"
#include "net/url.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/Buffer.h"
#include "Common/Log.h"
diff --git a/ext/native/net/http_server.cpp b/ext/native/net/http_server.cpp
index 738b536f8..5569923cd 100644
--- a/ext/native/net/http_server.cpp
+++ b/ext/native/net/http_server.cpp
@@ -37,7 +37,7 @@
#include "file/fd_util.h"
#include "net/http_server.h"
#include "net/sinks.h"
-#include "thread/executor.h"
+#include "Common/Thread/Executor.h"
#include "Common/Buffer.h"
#include "Common/Log.h"
diff --git a/ext/native/net/http_server.h b/ext/native/net/http_server.h
index 5a8151b77..7102f963b 100644
--- a/ext/native/net/http_server.h
+++ b/ext/native/net/http_server.h
@@ -5,7 +5,7 @@
#include "net/http_headers.h"
#include "net/resolve.h"
-#include "thread/executor.h"
+#include "Common/Thread/Executor.h"
namespace net {
class InputSink;
diff --git a/ext/native/thin3d/GLRenderManager.cpp b/ext/native/thin3d/GLRenderManager.cpp
index bc2e9a9a3..1aa1d2594 100644
--- a/ext/native/thin3d/GLRenderManager.cpp
+++ b/ext/native/thin3d/GLRenderManager.cpp
@@ -1,7 +1,7 @@
#include "GLRenderManager.h"
#include "gfx_es2/gpu_features.h"
#include "thin3d/thin3d.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "Common/Log.h"
#include "Common/MemoryUtil.h"
diff --git a/ext/native/thin3d/VulkanRenderManager.cpp b/ext/native/thin3d/VulkanRenderManager.cpp
index e929b8901..ecd776b2a 100644
--- a/ext/native/thin3d/VulkanRenderManager.cpp
+++ b/ext/native/thin3d/VulkanRenderManager.cpp
@@ -8,7 +8,7 @@
#include "Common/Vulkan/VulkanContext.h"
#include "thin3d/VulkanRenderManager.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#if 0 // def _DEBUG
#define VLOG(...) INFO_LOG(G3D, __VA_ARGS__)
diff --git a/libretro/Makefile.common b/libretro/Makefile.common
index c6d808017..dfb91b445 100644
--- a/libretro/Makefile.common
+++ b/libretro/Makefile.common
@@ -144,6 +144,10 @@ SOURCES_CXX += \
SOURCES_CXX += \
$(COMMONDIR)/Serialize/Serializer.cpp \
+ $(COMMONDIR)/Thread/Executor.cpp \
+ $(COMMONDIR)/Thread/ThreadUtil.cpp \
+ $(COMMONDIR)/Thread/ThreadPool.cpp \
+ $(COMMONDIR)/Thread/PrioritizedWorkQueue.cpp \
$(COMMONDIR)/Buffer.cpp \
$(COMMONDIR)/ConsoleListener.cpp \
$(COMMONDIR)/ExceptionHandlerSetup.cpp \
@@ -309,9 +313,6 @@ SOURCES_CXX += $(NATIVEDIR)/math/dataconv.cpp \
$(NATIVEDIR)/thin3d/GLRenderManager.cpp \
$(NATIVEDIR)/thin3d/GLQueueRunner.cpp \
$(NATIVEDIR)/thin3d/DataFormatGL.cpp \
- $(NATIVEDIR)/thread/threadutil.cpp \
- $(NATIVEDIR)/thread/threadpool.cpp \
- $(NATIVEDIR)/thread/prioritizedworkqueue.cpp \
$(NATIVEDIR)/ui/root.cpp \
$(NATIVEDIR)/ui/screen.cpp \
$(NATIVEDIR)/ui/ui.cpp \
diff --git a/libretro/libretro.cpp b/libretro/libretro.cpp
index 13f4f2c8a..6f5ba5924 100644
--- a/libretro/libretro.cpp
+++ b/libretro/libretro.cpp
@@ -29,7 +29,7 @@
#include "GPU/Common/TextureScalerCommon.h"
#include "input/input_state.h"
#include "base/NativeApp.h"
-#include "thread/threadutil.h"
+#include "Common/Thread/ThreadUtil.h"
#include "libretro/libretro.h"
#include "libretro/LibretroGraphicsContext.h"