diff --git a/Common/CMakeLists.txt b/Common/CMakeLists.txt
index 2ac2d9631a..ac11850e05 100644
--- a/Common/CMakeLists.txt
+++ b/Common/CMakeLists.txt
@@ -134,6 +134,7 @@ add_library(Common STATIC
File/DirListing.h
File/FileDescriptor.cpp
File/FileDescriptor.h
+ GPU/GraphicsContext.h
GPU/DataFormat.h
GPU/MiscTypes.h
GPU/GPUBackendCommon.cpp
diff --git a/Common/Common.vcxproj b/Common/Common.vcxproj
index 6569f886d8..59f5f2b2dc 100644
--- a/Common/Common.vcxproj
+++ b/Common/Common.vcxproj
@@ -429,6 +429,7 @@
+
@@ -525,7 +526,6 @@
-
@@ -1039,6 +1039,7 @@
+
diff --git a/Common/Common.vcxproj.filters b/Common/Common.vcxproj.filters
index 3b111d99f1..cf176d6083 100644
--- a/Common/Common.vcxproj.filters
+++ b/Common/Common.vcxproj.filters
@@ -30,7 +30,6 @@
-
@@ -787,6 +786,9 @@
System
+
+ GPU
+
@@ -1612,6 +1614,7 @@
ext\imgui
+
diff --git a/Common/GraphicsContext.h b/Common/GPU/GraphicsContext.h
similarity index 100%
rename from Common/GraphicsContext.h
rename to Common/GPU/GraphicsContext.h
diff --git a/Core/Core.cpp b/Core/Core.cpp
index 5515637af3..5cfcfdc92f 100644
--- a/Core/Core.cpp
+++ b/Core/Core.cpp
@@ -25,7 +25,7 @@
#include "Common/System/System.h"
#include "Common/Profiler/Profiler.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/Thread/ThreadUtil.h"
#include "Common/Log.h"
#include "Core/Core.h"
diff --git a/Core/Core.vcxproj b/Core/Core.vcxproj
index 24ee48e684..d7f22469bd 100644
--- a/Core/Core.vcxproj
+++ b/Core/Core.vcxproj
@@ -1308,6 +1308,7 @@
+
diff --git a/Core/Core.vcxproj.filters b/Core/Core.vcxproj.filters
index 4ee53ae006..bf0fbd6dc7 100644
--- a/Core/Core.vcxproj.filters
+++ b/Core/Core.vcxproj.filters
@@ -2289,5 +2289,6 @@
Ext
+
\ No newline at end of file
diff --git a/Core/EmuThread.cpp b/Core/EmuThread.cpp
index a7ae64d646..c77331ffe0 100644
--- a/Core/EmuThread.cpp
+++ b/Core/EmuThread.cpp
@@ -12,7 +12,7 @@
#include "Common/Data/Encoding/Utf8.h"
#include "Common/Log.h"
#include "Common/StringUtils.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/Thread/ThreadUtil.h"
#include "Core/EmuThread.h"
diff --git a/Core/System.cpp b/Core/System.cpp
index 43b40967ea..148afdeb3f 100644
--- a/Core/System.cpp
+++ b/Core/System.cpp
@@ -42,7 +42,7 @@
#include "Common/Log/LogManager.h"
#include "Common/TimeUtil.h"
#include "Common/Thread/ThreadUtil.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Core/MemFault.h"
#include "Core/HDRemaster.h"
#include "Core/MIPS/MIPS.h"
diff --git a/GPU/D3D11/GPU_D3D11.cpp b/GPU/D3D11/GPU_D3D11.cpp
index cbc8e9fa49..441da4de04 100644
--- a/GPU/D3D11/GPU_D3D11.cpp
+++ b/GPU/D3D11/GPU_D3D11.cpp
@@ -18,7 +18,7 @@
#include
#include "Common/Log.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/Profiler/Profiler.h"
#include "Common/Data/Text/StringWriter.h"
diff --git a/GPU/GLES/GPU_GLES.cpp b/GPU/GLES/GPU_GLES.cpp
index 489f31c16c..32a5303022 100644
--- a/GPU/GLES/GPU_GLES.cpp
+++ b/GPU/GLES/GPU_GLES.cpp
@@ -22,7 +22,7 @@
#include "Common/Serialize/Serializer.h"
#include "Common/File/FileUtil.h"
#include "Common/Data/Text/StringWriter.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/System/OSD.h"
#include "Common/VR/PPSSPPVR.h"
#include "Common/StringUtils.h"
diff --git a/GPU/GPU.cpp b/GPU/GPU.cpp
index 2eb05de33a..6e3edf4376 100644
--- a/GPU/GPU.cpp
+++ b/GPU/GPU.cpp
@@ -18,7 +18,7 @@
#include "ppsspp_config.h"
#include "Common/TimeUtil.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Core/Core.h"
#include "Core/System.h"
diff --git a/GPU/GPU.vcxproj b/GPU/GPU.vcxproj
index 2eb0bbc8df..0194be040e 100644
--- a/GPU/GPU.vcxproj
+++ b/GPU/GPU.vcxproj
@@ -928,6 +928,9 @@
true
+
+
+
diff --git a/GPU/GPU.vcxproj.filters b/GPU/GPU.vcxproj.filters
index 5cd280519d..c7f479f4ea 100644
--- a/GPU/GPU.vcxproj.filters
+++ b/GPU/GPU.vcxproj.filters
@@ -697,4 +697,7 @@
Shaders
+
+
+
\ No newline at end of file
diff --git a/GPU/GPUCommon.cpp b/GPU/GPUCommon.cpp
index 6a86194fb4..f4e4f0992c 100644
--- a/GPU/GPUCommon.cpp
+++ b/GPU/GPUCommon.cpp
@@ -4,7 +4,7 @@
#include "Common/Profiler/Profiler.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/LogReporting.h"
#include "Common/Math/SIMDHeaders.h"
#include "Common/Math/CrossSIMD.h"
diff --git a/GPU/Software/SoftGpu.cpp b/GPU/Software/SoftGpu.cpp
index 14e8c9b448..c367d7fb42 100644
--- a/GPU/Software/SoftGpu.cpp
+++ b/GPU/Software/SoftGpu.cpp
@@ -24,7 +24,7 @@
#include "GPU/ge_constants.h"
#include "GPU/Common/TextureDecoder.h"
#include "Common/Data/Convert/ColorConv.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/LogReporting.h"
#include "Core/Config.h"
#include "Core/ConfigValues.h"
diff --git a/GPU/Vulkan/GPU_Vulkan.cpp b/GPU/Vulkan/GPU_Vulkan.cpp
index e3327035a0..7f8c96095a 100644
--- a/GPU/Vulkan/GPU_Vulkan.cpp
+++ b/GPU/Vulkan/GPU_Vulkan.cpp
@@ -23,7 +23,7 @@
#include "Common/Log.h"
#include "Common/TimeUtil.h"
#include "Common/File/FileUtil.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/StringUtils.h"
#include "Common/Data/Text/StringWriter.h"
diff --git a/Qt/QtMain.h b/Qt/QtMain.h
index cdf4dc0c07..3aa5ee2fac 100644
--- a/Qt/QtMain.h
+++ b/Qt/QtMain.h
@@ -34,7 +34,7 @@ QTM_USE_NAMESPACE
#include "Common/Net/Resolve.h"
#include "NKCodeFromQt.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Core/Core.h"
#include "Core/Config.h"
#include "Core/ConfigValues.h"
diff --git a/SDL/SDLGLGraphicsContext.h b/SDL/SDLGLGraphicsContext.h
index e08289c2b6..63945da8eb 100644
--- a/SDL/SDLGLGraphicsContext.h
+++ b/SDL/SDLGLGraphicsContext.h
@@ -5,7 +5,7 @@
#include "Common/GPU/OpenGL/GLRenderManager.h"
#include "Common/GPU/OpenGL/GLCommon.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
class SDLGLGraphicsContext : public GraphicsContext {
public:
diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp
index 113ed54768..97cb1e4f58 100644
--- a/SDL/SDLMain.cpp
+++ b/SDL/SDLMain.cpp
@@ -50,7 +50,7 @@ SDLJoystick *joystick = NULL;
#include
#endif
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/TimeUtil.h"
#include "Common/Input/InputState.h"
#include "Common/Input/KeyCodes.h"
diff --git a/SDL/SDLVulkanGraphicsContext.h b/SDL/SDLVulkanGraphicsContext.h
index 4cb179a22b..870848ee5c 100644
--- a/SDL/SDLVulkanGraphicsContext.h
+++ b/SDL/SDLVulkanGraphicsContext.h
@@ -1,7 +1,7 @@
#include "ppsspp_config.h"
#include
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/GPU/Vulkan/VulkanContext.h"
#include "Common/GPU/Vulkan/VulkanDebug.h"
diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp
index 4c38058278..442fea7ba9 100644
--- a/UI/NativeApp.cpp
+++ b/UI/NativeApp.cpp
@@ -83,7 +83,7 @@
#include "Common/StringUtils.h"
#include "Common/Log/LogManager.h"
#include "Common/MemArena.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/OSVersion.h"
#include "Common/GPU/ShaderTranslation.h"
#include "Common/VR/PPSSPPVR.h"
diff --git a/UI/UI.vcxproj b/UI/UI.vcxproj
index e998fe5a5d..13237c4f1c 100644
--- a/UI/UI.vcxproj
+++ b/UI/UI.vcxproj
@@ -152,6 +152,9 @@
{31694510-a8c0-40f6-b09b-e8df825adefa}
+
+
+
{004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}
Win32Proj
diff --git a/UI/UI.vcxproj.filters b/UI/UI.vcxproj.filters
index 0eeb5cd6f5..72f784c375 100644
--- a/UI/UI.vcxproj.filters
+++ b/UI/UI.vcxproj.filters
@@ -150,6 +150,7 @@
Views
+
@@ -300,6 +301,7 @@
Views
+
@@ -312,4 +314,7 @@
{fda6bc55-1386-4650-a274-44fac9605ea3}
+
+
+
\ No newline at end of file
diff --git a/UWP/CommonUWP/CommonUWP.vcxproj b/UWP/CommonUWP/CommonUWP.vcxproj
index 463b0541c9..fbed1c53ed 100644
--- a/UWP/CommonUWP/CommonUWP.vcxproj
+++ b/UWP/CommonUWP/CommonUWP.vcxproj
@@ -191,7 +191,7 @@
-
+
@@ -503,4 +503,4 @@
-
\ No newline at end of file
+
diff --git a/UWP/CommonUWP/CommonUWP.vcxproj.filters b/UWP/CommonUWP/CommonUWP.vcxproj.filters
index 7ead49a64f..ca0c481ca5 100644
--- a/UWP/CommonUWP/CommonUWP.vcxproj.filters
+++ b/UWP/CommonUWP/CommonUWP.vcxproj.filters
@@ -612,7 +612,7 @@
-
+
@@ -1187,4 +1187,4 @@
ext\at3_standalone
-
\ No newline at end of file
+
diff --git a/UWP/PPSSPP_UWPMain.h b/UWP/PPSSPP_UWPMain.h
index 2902da1043..0c824f8e7e 100644
--- a/UWP/PPSSPP_UWPMain.h
+++ b/UWP/PPSSPP_UWPMain.h
@@ -5,7 +5,7 @@
#include "Common/GPU/thin3d.h"
#include "Common/Input/InputState.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/DeviceResources.h"
#include "Windows/InputDevice.h"
diff --git a/Windows/GPU/D3D11Context.h b/Windows/GPU/D3D11Context.h
index 1ebe7367d1..f41a69d278 100644
--- a/Windows/GPU/D3D11Context.h
+++ b/Windows/GPU/D3D11Context.h
@@ -20,7 +20,7 @@
#include "ppsspp_config.h"
#include "Common/CommonWindows.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/GPU/MiscTypes.h"
#include
#include
diff --git a/Windows/GPU/WindowsGLContext.h b/Windows/GPU/WindowsGLContext.h
index c2ff94d9b1..1b0070d148 100644
--- a/Windows/GPU/WindowsGLContext.h
+++ b/Windows/GPU/WindowsGLContext.h
@@ -1,7 +1,7 @@
#pragma once
#include "Common/CommonWindows.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/GPU/MiscTypes.h"
namespace Draw {
diff --git a/Windows/GPU/WindowsVulkanContext.h b/Windows/GPU/WindowsVulkanContext.h
index ae6872bc3e..7fc97d1bb6 100644
--- a/Windows/GPU/WindowsVulkanContext.h
+++ b/Windows/GPU/WindowsVulkanContext.h
@@ -17,7 +17,7 @@
#pragma once
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/GPU/thin3d.h"
class VulkanContext;
diff --git a/Windows/MainWindow.cpp b/Windows/MainWindow.cpp
index bc20ecbcb2..d1752faa9e 100644
--- a/Windows/MainWindow.cpp
+++ b/Windows/MainWindow.cpp
@@ -60,7 +60,7 @@
#include "Windows/Debugger/Debugger_Disasm.h"
#include "Windows/Debugger/Debugger_MemoryDlg.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Windows/main.h"
#ifndef _M_ARM
diff --git a/android/jni/AndroidJavaGLContext.h b/android/jni/AndroidJavaGLContext.h
index 3d554a8f81..2caa142bbc 100644
--- a/android/jni/AndroidJavaGLContext.h
+++ b/android/jni/AndroidJavaGLContext.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/GPU/OpenGL/GLRenderManager.h"
#include "Common/GPU/thin3d_create.h"
diff --git a/android/jni/AndroidVulkanContext.h b/android/jni/AndroidVulkanContext.h
index 649d6b1786..83238aef6f 100644
--- a/android/jni/AndroidVulkanContext.h
+++ b/android/jni/AndroidVulkanContext.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/GPU/thin3d.h"
#include
diff --git a/android/jni/app-android.cpp b/android/jni/app-android.cpp
index fa065128e7..98df54ed4f 100644
--- a/android/jni/app-android.cpp
+++ b/android/jni/app-android.cpp
@@ -87,7 +87,7 @@ struct JNIEnv {};
#include "Common/VR/PPSSPPVR.h"
#include "Common/GPU/Vulkan/VulkanLoader.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/StringUtils.h"
#include "Common/TimeUtil.h"
diff --git a/headless/Headless.cpp b/headless/Headless.cpp
index c3b13c0ec8..2bf2e6afd9 100644
--- a/headless/Headless.cpp
+++ b/headless/Headless.cpp
@@ -32,7 +32,7 @@
#include "Common/File/VFS/ZipFileReader.h"
#include "Common/File/VFS/DirectoryReader.h"
#include "Common/File/FileUtil.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/TimeUtil.h"
#include "Common/StringUtils.h"
#include "Common/Thread/ThreadManager.h"
diff --git a/headless/SDLHeadlessHost.cpp b/headless/SDLHeadlessHost.cpp
index f6fa36509f..ffefa2335e 100644
--- a/headless/SDLHeadlessHost.cpp
+++ b/headless/SDLHeadlessHost.cpp
@@ -29,7 +29,7 @@
#include "Common/GPU/OpenGL/GLRenderManager.h"
#include "Common/File/VFS/VFS.h"
#include "Common/File/VFS/DirectoryReader.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/TimeUtil.h"
#include "Common/Thread/ThreadUtil.h"
#include "Core/Config.h"
diff --git a/ios/PPSSPPUIApplication.mm b/ios/PPSSPPUIApplication.mm
index c973ed0dc3..759adce34d 100644
--- a/ios/PPSSPPUIApplication.mm
+++ b/ios/PPSSPPUIApplication.mm
@@ -31,7 +31,7 @@
#include "ios/SmartKeyboardMap.hpp"
#include "Core/Config.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include
#include
diff --git a/ios/ViewController.mm b/ios/ViewController.mm
index 52e3af2fef..db9dde0913 100644
--- a/ios/ViewController.mm
+++ b/ios/ViewController.mm
@@ -30,7 +30,7 @@
#include "Common/TimeUtil.h"
#include "Common/Input/InputState.h"
#include "Common/Input/KeyCodes.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Core/Config.h"
#include "Core/ConfigValues.h"
diff --git a/ios/ViewControllerMetal.mm b/ios/ViewControllerMetal.mm
index 22b238a1a4..e91343a265 100644
--- a/ios/ViewControllerMetal.mm
+++ b/ios/ViewControllerMetal.mm
@@ -15,7 +15,7 @@
#include "Common/System/OSD.h"
#include "Common/System/NativeApp.h"
#include "Common/System/Request.h"
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/Thread/ThreadUtil.h"
#include "Common/StringUtils.h"
diff --git a/libretro/LibretroGraphicsContext.h b/libretro/LibretroGraphicsContext.h
index 78016ab607..e644ae8f96 100644
--- a/libretro/LibretroGraphicsContext.h
+++ b/libretro/LibretroGraphicsContext.h
@@ -2,7 +2,7 @@
#include
#include
-#include "Common/GraphicsContext.h"
+#include "Common/GPU/GraphicsContext.h"
#include "Common/GPU/thin3d_create.h"
#include "Core/Config.h"