diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index bb81f117c..d63b9e002 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -23,12 +23,14 @@ add_library(video_core STATIC
     regs_texturing.h
     renderer_base.cpp
     renderer_base.h
+    rasterizer_cache/rasterizer_cache.cpp
+    rasterizer_cache/rasterizer_cache.h
+    rasterizer_cache/surface_params.cpp
+    rasterizer_cache/surface_params.h
     renderer_opengl/frame_dumper_opengl.cpp
     renderer_opengl/frame_dumper_opengl.h
     renderer_opengl/gl_rasterizer.cpp
     renderer_opengl/gl_rasterizer.h
-    renderer_opengl/gl_rasterizer_cache.cpp
-    renderer_opengl/gl_rasterizer_cache.h
     renderer_opengl/gl_resource_manager.cpp
     renderer_opengl/gl_resource_manager.h
     renderer_opengl/gl_shader_decompiler.cpp
@@ -45,8 +47,6 @@ add_library(video_core STATIC
     renderer_opengl/gl_state.h
     renderer_opengl/gl_stream_buffer.cpp
     renderer_opengl/gl_stream_buffer.h
-    renderer_opengl/gl_surface_params.cpp
-    renderer_opengl/gl_surface_params.h
     renderer_opengl/gl_vars.cpp
     renderer_opengl/gl_vars.h
     renderer_opengl/pica_to_gl.h
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp b/src/video_core/rasterizer_cache/rasterizer_cache.cpp
similarity index 99%
rename from src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
rename to src/video_core/rasterizer_cache/rasterizer_cache.cpp
index bece76a17..06c8fa564 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
+++ b/src/video_core/rasterizer_cache/rasterizer_cache.cpp
@@ -34,7 +34,7 @@
 #include "video_core/pica_state.h"
 #include "video_core/renderer_base.h"
 #include "video_core/renderer_opengl/gl_format_reinterpreter.h"
-#include "video_core/renderer_opengl/gl_rasterizer_cache.h"
+#include "video_core/rasterizer_cache/rasterizer_cache.h"
 #include "video_core/renderer_opengl/gl_state.h"
 #include "video_core/renderer_opengl/gl_vars.h"
 #include "video_core/renderer_opengl/texture_downloader_es.h"
@@ -1715,8 +1715,8 @@ bool RasterizerCacheOpenGL::IntervalHasInvalidPixelFormat(SurfaceParams& params,
     params.pixel_format = PixelFormat::Invalid;
     for (const auto& set : RangeFromInterval(surface_cache, interval))
         for (const auto& surface : set.second)
-            if (surface->pixel_format == PixelFormat::Invalid) {
-                LOG_WARNING(Render_OpenGL, "Surface found with invalid pixel format");
+            if (surface->pixel_format == PixelFormat::Invalid && surface->type != SurfaceType::Fill) {
+                LOG_WARNING(Render_OpenGL, "Surface {:#x} found with invalid pixel format", surface->addr);
                 return true;
             }
     return false;
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/rasterizer_cache/rasterizer_cache.h
similarity index 99%
rename from src/video_core/renderer_opengl/gl_rasterizer_cache.h
rename to src/video_core/rasterizer_cache/rasterizer_cache.h
index da795a968..47fde3904 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h
+++ b/src/video_core/rasterizer_cache/rasterizer_cache.h
@@ -28,7 +28,7 @@
 #include "common/math_util.h"
 #include "core/custom_tex_cache.h"
 #include "video_core/renderer_opengl/gl_resource_manager.h"
-#include "video_core/renderer_opengl/gl_surface_params.h"
+#include "video_core/rasterizer_cache/surface_params.h"
 #include "video_core/texture/texture_decode.h"
 
 namespace OpenGL {
diff --git a/src/video_core/renderer_opengl/gl_surface_params.cpp b/src/video_core/rasterizer_cache/surface_params.cpp
similarity index 98%
rename from src/video_core/renderer_opengl/gl_surface_params.cpp
rename to src/video_core/rasterizer_cache/surface_params.cpp
index ceb0359ec..c74d25da1 100644
--- a/src/video_core/renderer_opengl/gl_surface_params.cpp
+++ b/src/video_core/rasterizer_cache/surface_params.cpp
@@ -3,8 +3,8 @@
 // Refer to the license.txt file included.
 
 #include "common/alignment.h"
-#include "video_core/renderer_opengl/gl_rasterizer_cache.h"
-#include "video_core/renderer_opengl/gl_surface_params.h"
+#include "video_core/rasterizer_cache/rasterizer_cache.h"
+#include "video_core/rasterizer_cache/surface_params.h"
 
 namespace OpenGL {
 
diff --git a/src/video_core/renderer_opengl/gl_surface_params.h b/src/video_core/rasterizer_cache/surface_params.h
similarity index 100%
rename from src/video_core/renderer_opengl/gl_surface_params.h
rename to src/video_core/rasterizer_cache/surface_params.h
diff --git a/src/video_core/renderer_opengl/gl_format_reinterpreter.cpp b/src/video_core/renderer_opengl/gl_format_reinterpreter.cpp
index 0aec38123..ff4f64110 100644
--- a/src/video_core/renderer_opengl/gl_format_reinterpreter.cpp
+++ b/src/video_core/renderer_opengl/gl_format_reinterpreter.cpp
@@ -5,7 +5,7 @@
 #include "common/assert.h"
 #include "common/scope_exit.h"
 #include "video_core/renderer_opengl/gl_format_reinterpreter.h"
-#include "video_core/renderer_opengl/gl_rasterizer_cache.h"
+#include "video_core/rasterizer_cache/rasterizer_cache.h"
 #include "video_core/renderer_opengl/gl_state.h"
 #include "video_core/renderer_opengl/gl_vars.h"
 #include "video_core/renderer_opengl/texture_filters/texture_filterer.h"
diff --git a/src/video_core/renderer_opengl/gl_format_reinterpreter.h b/src/video_core/renderer_opengl/gl_format_reinterpreter.h
index d4b544096..b422a6a0c 100644
--- a/src/video_core/renderer_opengl/gl_format_reinterpreter.h
+++ b/src/video_core/renderer_opengl/gl_format_reinterpreter.h
@@ -10,7 +10,7 @@
 #include "common/common_types.h"
 #include "common/math_util.h"
 #include "video_core/renderer_opengl/gl_resource_manager.h"
-#include "video_core/renderer_opengl/gl_surface_params.h"
+#include "video_core/rasterizer_cache/surface_params.h"
 
 namespace OpenGL {
 
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 849905ef4..c5a9913b2 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -21,7 +21,7 @@
 #include "video_core/regs_lighting.h"
 #include "video_core/regs_rasterizer.h"
 #include "video_core/regs_texturing.h"
-#include "video_core/renderer_opengl/gl_rasterizer_cache.h"
+#include "video_core/rasterizer_cache/rasterizer_cache.h"
 #include "video_core/renderer_opengl/gl_resource_manager.h"
 #include "video_core/renderer_opengl/gl_shader_manager.h"
 #include "video_core/renderer_opengl/gl_state.h"
diff --git a/src/video_core/renderer_opengl/texture_downloader_es.cpp b/src/video_core/renderer_opengl/texture_downloader_es.cpp
index 1119ad65e..54ea65cd4 100644
--- a/src/video_core/renderer_opengl/texture_downloader_es.cpp
+++ b/src/video_core/renderer_opengl/texture_downloader_es.cpp
@@ -8,7 +8,7 @@
 #include <fmt/chrono.h>
 
 #include "common/logging/log.h"
-#include "video_core/renderer_opengl/gl_rasterizer_cache.h"
+#include "video_core/rasterizer_cache/rasterizer_cache.h"
 #include "video_core/renderer_opengl/gl_state.h"
 #include "video_core/renderer_opengl/gl_vars.h"
 #include "video_core/renderer_opengl/texture_downloader_es.h"
diff --git a/src/video_core/renderer_opengl/texture_filters/anime4k/anime4k_ultrafast.cpp b/src/video_core/renderer_opengl/texture_filters/anime4k/anime4k_ultrafast.cpp
index 69fda08a9..ab2984da2 100644
--- a/src/video_core/renderer_opengl/texture_filters/anime4k/anime4k_ultrafast.cpp
+++ b/src/video_core/renderer_opengl/texture_filters/anime4k/anime4k_ultrafast.cpp
@@ -30,7 +30,7 @@
 // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-#include "video_core/renderer_opengl/gl_rasterizer_cache.h"
+#include "video_core/rasterizer_cache/rasterizer_cache.h"
 #include "video_core/renderer_opengl/texture_filters/anime4k/anime4k_ultrafast.h"
 
 #include "shaders/refine.frag"
diff --git a/src/video_core/renderer_opengl/texture_filters/bicubic/bicubic.cpp b/src/video_core/renderer_opengl/texture_filters/bicubic/bicubic.cpp
index ce039c211..d96c7b54d 100644
--- a/src/video_core/renderer_opengl/texture_filters/bicubic/bicubic.cpp
+++ b/src/video_core/renderer_opengl/texture_filters/bicubic/bicubic.cpp
@@ -2,7 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "video_core/renderer_opengl/gl_rasterizer_cache.h"
+#include "video_core/rasterizer_cache/rasterizer_cache.h"
 #include "video_core/renderer_opengl/texture_filters/bicubic/bicubic.h"
 
 #include "shaders/bicubic.frag"
diff --git a/src/video_core/renderer_opengl/texture_filters/scale_force/scale_force.cpp b/src/video_core/renderer_opengl/texture_filters/scale_force/scale_force.cpp
index b2d085445..69ebd130e 100644
--- a/src/video_core/renderer_opengl/texture_filters/scale_force/scale_force.cpp
+++ b/src/video_core/renderer_opengl/texture_filters/scale_force/scale_force.cpp
@@ -2,7 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "video_core/renderer_opengl/gl_rasterizer_cache.h"
+#include "video_core/rasterizer_cache/rasterizer_cache.h"
 #include "video_core/renderer_opengl/texture_filters/scale_force/scale_force.h"
 
 #include "shaders/scale_force.frag"
diff --git a/src/video_core/renderer_opengl/texture_filters/texture_filter_base.h b/src/video_core/renderer_opengl/texture_filters/texture_filter_base.h
index 126fdb108..45a3e8a32 100644
--- a/src/video_core/renderer_opengl/texture_filters/texture_filter_base.h
+++ b/src/video_core/renderer_opengl/texture_filters/texture_filter_base.h
@@ -6,7 +6,7 @@
 
 #include "common/common_types.h"
 #include "common/math_util.h"
-#include "video_core/renderer_opengl/gl_surface_params.h"
+#include "video_core/rasterizer_cache/surface_params.h"
 
 namespace OpenGL {
 
diff --git a/src/video_core/renderer_opengl/texture_filters/texture_filterer.h b/src/video_core/renderer_opengl/texture_filters/texture_filterer.h
index de3666356..fc0d784ac 100644
--- a/src/video_core/renderer_opengl/texture_filters/texture_filterer.h
+++ b/src/video_core/renderer_opengl/texture_filters/texture_filterer.h
@@ -10,7 +10,6 @@
 #include <glad/glad.h>
 #include "common/common_types.h"
 #include "common/math_util.h"
-#include "video_core/renderer_opengl/gl_surface_params.h"
 #include "video_core/renderer_opengl/texture_filters/texture_filter_base.h"
 
 namespace OpenGL {
diff --git a/src/video_core/renderer_opengl/texture_filters/xbrz/xbrz_freescale.cpp b/src/video_core/renderer_opengl/texture_filters/xbrz/xbrz_freescale.cpp
index b1dcefc03..9182214df 100644
--- a/src/video_core/renderer_opengl/texture_filters/xbrz/xbrz_freescale.cpp
+++ b/src/video_core/renderer_opengl/texture_filters/xbrz/xbrz_freescale.cpp
@@ -40,7 +40,7 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-#include "video_core/renderer_opengl/gl_rasterizer_cache.h"
+#include "video_core/rasterizer_cache/rasterizer_cache.h"
 #include "video_core/renderer_opengl/texture_filters/xbrz/xbrz_freescale.h"
 
 #include "shaders/xbrz_freescale.frag"