diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index 9eae099f9..d441ae7d9 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -8,12 +8,12 @@ set(SRCS
cd_image_cue.cpp
cd_xa.cpp
cd_xa.h
- gl_program.cpp
- gl_program.h
- gl_stream_buffer.cpp
- gl_stream_buffer.h
- gl_texture.cpp
- gl_texture.h
+ gl/program.cpp
+ gl/program.h
+ gl/stream_buffer.cpp
+ gl/stream_buffer.h
+ gl/texture.cpp
+ gl/texture.h
jit_code_buffer.cpp
jit_code_buffer.h
state_wrapper.cpp
diff --git a/src/common/common.vcxproj b/src/common/common.vcxproj
index 43cec14de..b4c750b83 100644
--- a/src/common/common.vcxproj
+++ b/src/common/common.vcxproj
@@ -39,9 +39,9 @@
-
-
-
+
+
+
@@ -53,9 +53,9 @@
-
-
-
+
+
+
diff --git a/src/common/common.vcxproj.filters b/src/common/common.vcxproj.filters
index a7918e047..57ff49c52 100644
--- a/src/common/common.vcxproj.filters
+++ b/src/common/common.vcxproj.filters
@@ -5,28 +5,45 @@
-
-
-
+
+ gl
+
+
+ gl
+
+
+ gl
+
-
-
-
+
+ gl
+
+
+ gl
+
+
+ gl
+
+
+
+ {52487c57-753d-4888-ba26-ed63ab51a234}
+
+
\ No newline at end of file
diff --git a/src/common/gl_program.cpp b/src/common/gl/program.cpp
similarity index 99%
rename from src/common/gl_program.cpp
rename to src/common/gl/program.cpp
index 2093a5c7e..99b67cef9 100644
--- a/src/common/gl_program.cpp
+++ b/src/common/gl/program.cpp
@@ -1,4 +1,4 @@
-#include "gl_program.h"
+#include "program.h"
#include "YBaseLib/Log.h"
#include "YBaseLib/String.h"
#include
diff --git a/src/common/gl_program.h b/src/common/gl/program.h
similarity index 99%
rename from src/common/gl_program.h
rename to src/common/gl/program.h
index 0f9eaa224..668f57333 100644
--- a/src/common/gl_program.h
+++ b/src/common/gl/program.h
@@ -1,6 +1,6 @@
#pragma once
#include "glad.h"
-#include "types.h"
+#include "../types.h"
#include
#include
diff --git a/src/common/gl_stream_buffer.cpp b/src/common/gl/stream_buffer.cpp
similarity index 97%
rename from src/common/gl_stream_buffer.cpp
rename to src/common/gl/stream_buffer.cpp
index 9e1c37736..93792f0e8 100644
--- a/src/common/gl_stream_buffer.cpp
+++ b/src/common/gl/stream_buffer.cpp
@@ -1,4 +1,4 @@
-#include "gl_stream_buffer.h"
+#include "stream_buffer.h"
namespace GL {
diff --git a/src/common/gl_stream_buffer.h b/src/common/gl/stream_buffer.h
similarity index 97%
rename from src/common/gl_stream_buffer.h
rename to src/common/gl/stream_buffer.h
index 5d6490f6c..6869ec9d4 100644
--- a/src/common/gl_stream_buffer.h
+++ b/src/common/gl/stream_buffer.h
@@ -1,5 +1,5 @@
#pragma once
-#include "types.h"
+#include "../types.h"
#include
#include
#include
diff --git a/src/common/gl_texture.cpp b/src/common/gl/texture.cpp
similarity index 98%
rename from src/common/gl_texture.cpp
rename to src/common/gl/texture.cpp
index efcd2aeb2..890121f9f 100644
--- a/src/common/gl_texture.cpp
+++ b/src/common/gl/texture.cpp
@@ -1,4 +1,4 @@
-#include "gl_texture.h"
+#include "texture.h"
#include "YBaseLib/Assert.h"
#include "YBaseLib/Log.h"
Log_SetChannel(GL);
diff --git a/src/common/gl_texture.h b/src/common/gl/texture.h
similarity index 93%
rename from src/common/gl_texture.h
rename to src/common/gl/texture.h
index 638f33079..d1ce6311a 100644
--- a/src/common/gl_texture.h
+++ b/src/common/gl/texture.h
@@ -1,6 +1,6 @@
#pragma once
-#include "glad.h"
-#include "types.h"
+#include
+#include "../types.h"
namespace GL {
class Texture
diff --git a/src/core/gpu_hw_opengl.h b/src/core/gpu_hw_opengl.h
index 1522e15b5..aa151d8ef 100644
--- a/src/core/gpu_hw_opengl.h
+++ b/src/core/gpu_hw_opengl.h
@@ -1,7 +1,7 @@
#pragma once
-#include "common/gl_program.h"
-#include "common/gl_stream_buffer.h"
-#include "common/gl_texture.h"
+#include "common/gl/program.h"
+#include "common/gl/stream_buffer.h"
+#include "common/gl/texture.h"
#include "glad.h"
#include "gpu_hw.h"
#include
diff --git a/src/core/gpu_sw.cpp b/src/core/gpu_sw.cpp
index eb3b6538a..9a54c6441 100644
--- a/src/core/gpu_sw.cpp
+++ b/src/core/gpu_sw.cpp
@@ -1,7 +1,7 @@
#include "gpu_sw.h"
#include "YBaseLib/Log.h"
#include "YBaseLib/Timer.h"
-#include "common/gl_texture.h"
+#include "common/gl/texture.h"
#include "host_interface.h"
#include "system.h"
#include
diff --git a/src/core/gpu_sw.h b/src/core/gpu_sw.h
index 78073a18a..917ec3fbc 100644
--- a/src/core/gpu_sw.h
+++ b/src/core/gpu_sw.h
@@ -1,5 +1,5 @@
#pragma once
-#include "common/gl_texture.h"
+#include "common/gl/texture.h"
#include "gpu.h"
#include
#include
diff --git a/src/duckstation/sdl_interface.h b/src/duckstation/sdl_interface.h
index cb50d2590..7187c920a 100644
--- a/src/duckstation/sdl_interface.h
+++ b/src/duckstation/sdl_interface.h
@@ -1,8 +1,8 @@
#pragma once
#include "YBaseLib/String.h"
#include "YBaseLib/Timer.h"
-#include "common/gl_program.h"
-#include "common/gl_texture.h"
+#include "common/gl/program.h"
+#include "common/gl/texture.h"
#include "core/host_interface.h"
#include
#include