diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index 11bc61e14..962228680 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -1,10 +1,8 @@
 set(SRCS
-            clipper.cpp
             command_processor.cpp
             debug_utils/debug_utils.cpp
             pica.cpp
             primitive_assembly.cpp
-            rasterizer.cpp
             regs.cpp
             renderer_base.cpp
             renderer_opengl/gl_rasterizer.cpp
@@ -15,7 +13,9 @@ set(SRCS
             renderer_opengl/renderer_opengl.cpp
             shader/shader.cpp
             shader/shader_interpreter.cpp
-            swrasterizer.cpp
+            swrasterizer/clipper.cpp
+            swrasterizer/rasterizer.cpp
+            swrasterizer/swrasterizer.cpp
             texture/etc1.cpp
             texture/texture_decode.cpp
             vertex_loader.cpp
@@ -23,7 +23,6 @@ set(SRCS
             )
 
 set(HEADERS
-            clipper.h
             command_processor.h
             debug_utils/debug_utils.h
             gpu_debugger.h
@@ -31,7 +30,6 @@ set(HEADERS
             pica_state.h
             pica_types.h
             primitive_assembly.h
-            rasterizer.h
             rasterizer_interface.h
             regs.h
             regs_framebuffer.h
@@ -52,7 +50,9 @@ set(HEADERS
             shader/debug_data.h
             shader/shader.h
             shader/shader_interpreter.h
-            swrasterizer.h
+            swrasterizer/clipper.h
+            swrasterizer/rasterizer.h
+            swrasterizer/swrasterizer.h
             texture/etc1.h
             texture/texture_decode.h
             utils.h
diff --git a/src/video_core/renderer_base.cpp b/src/video_core/renderer_base.cpp
index fd38175b3..f6ece5c4b 100644
--- a/src/video_core/renderer_base.cpp
+++ b/src/video_core/renderer_base.cpp
@@ -6,7 +6,7 @@
 #include <memory>
 #include "video_core/renderer_base.h"
 #include "video_core/renderer_opengl/gl_rasterizer.h"
-#include "video_core/swrasterizer.h"
+#include "video_core/swrasterizer/swrasterizer.h"
 #include "video_core/video_core.h"
 
 void RendererBase::RefreshRasterizerSetting() {
diff --git a/src/video_core/clipper.cpp b/src/video_core/swrasterizer/clipper.cpp
similarity index 98%
rename from src/video_core/clipper.cpp
rename to src/video_core/swrasterizer/clipper.cpp
index 1e8e751ba..2d80822d9 100644
--- a/src/video_core/clipper.cpp
+++ b/src/video_core/swrasterizer/clipper.cpp
@@ -11,11 +11,11 @@
 #include "common/common_types.h"
 #include "common/logging/log.h"
 #include "common/vector_math.h"
-#include "video_core/clipper.h"
 #include "video_core/pica_state.h"
 #include "video_core/pica_types.h"
-#include "video_core/rasterizer.h"
 #include "video_core/shader/shader.h"
+#include "video_core/swrasterizer/clipper.h"
+#include "video_core/swrasterizer/rasterizer.h"
 
 using Pica::Rasterizer::Vertex;
 
diff --git a/src/video_core/clipper.h b/src/video_core/swrasterizer/clipper.h
similarity index 100%
rename from src/video_core/clipper.h
rename to src/video_core/swrasterizer/clipper.h
diff --git a/src/video_core/rasterizer.cpp b/src/video_core/swrasterizer/rasterizer.cpp
similarity index 99%
rename from src/video_core/rasterizer.cpp
rename to src/video_core/swrasterizer/rasterizer.cpp
index 83a08ebd7..17ba59144 100644
--- a/src/video_core/rasterizer.cpp
+++ b/src/video_core/swrasterizer/rasterizer.cpp
@@ -18,11 +18,11 @@
 #include "video_core/debug_utils/debug_utils.h"
 #include "video_core/pica_state.h"
 #include "video_core/pica_types.h"
-#include "video_core/rasterizer.h"
 #include "video_core/regs_framebuffer.h"
 #include "video_core/regs_rasterizer.h"
 #include "video_core/regs_texturing.h"
 #include "video_core/shader/shader.h"
+#include "video_core/swrasterizer/rasterizer.h"
 #include "video_core/texture/texture_decode.h"
 #include "video_core/utils.h"
 
diff --git a/src/video_core/rasterizer.h b/src/video_core/swrasterizer/rasterizer.h
similarity index 100%
rename from src/video_core/rasterizer.h
rename to src/video_core/swrasterizer/rasterizer.h
diff --git a/src/video_core/swrasterizer.cpp b/src/video_core/swrasterizer/swrasterizer.cpp
similarity index 81%
rename from src/video_core/swrasterizer.cpp
rename to src/video_core/swrasterizer/swrasterizer.cpp
index 9cd21f72b..402b705dd 100644
--- a/src/video_core/swrasterizer.cpp
+++ b/src/video_core/swrasterizer/swrasterizer.cpp
@@ -2,8 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "video_core/clipper.h"
-#include "video_core/swrasterizer.h"
+#include "video_core/swrasterizer/clipper.h"
+#include "video_core/swrasterizer/swrasterizer.h"
 
 namespace VideoCore {
 
diff --git a/src/video_core/swrasterizer.h b/src/video_core/swrasterizer/swrasterizer.h
similarity index 100%
rename from src/video_core/swrasterizer.h
rename to src/video_core/swrasterizer/swrasterizer.h