diff --git a/pcsx2/CMakeLists.txt b/pcsx2/CMakeLists.txt
index aebb66e712..55667c9828 100644
--- a/pcsx2/CMakeLists.txt
+++ b/pcsx2/CMakeLists.txt
@@ -518,9 +518,7 @@ set(pcsx2GSSources
GS/Renderers/Common/GSRenderer.cpp
GS/Renderers/Common/GSTexture.cpp
GS/Renderers/Common/GSVertexTrace.cpp
- GS/Renderers/Null/GSDeviceNull.cpp
GS/Renderers/Null/GSRendererNull.cpp
- GS/Renderers/Null/GSTextureNull.cpp
GS/Renderers/HW/GSHwHack.cpp
GS/Renderers/HW/GSRendererHW.cpp
GS/Renderers/HW/GSTextureCache.cpp
@@ -572,9 +570,7 @@ set(pcsx2GSHeaders
GS/Renderers/Common/GSVertex.h
GS/Renderers/Common/GSVertexList.h
GS/Renderers/Common/GSVertexTrace.h
- GS/Renderers/Null/GSDeviceNull.h
GS/Renderers/Null/GSRendererNull.h
- GS/Renderers/Null/GSTextureNull.h
GS/Renderers/HW/GSHwHack.h
GS/Renderers/HW/GSRendererHW.h
GS/Renderers/HW/GSTextureCache.h
diff --git a/pcsx2/GS/GS.cpp b/pcsx2/GS/GS.cpp
index 7ff9d0af97..f3e7204a7a 100644
--- a/pcsx2/GS/GS.cpp
+++ b/pcsx2/GS/GS.cpp
@@ -21,7 +21,6 @@
#include "GSUtil.h"
#include "GSExtra.h"
#include "Renderers/Null/GSRendererNull.h"
-#include "Renderers/Null/GSDeviceNull.h"
#include "Renderers/HW/GSRendererHW.h"
#include "Renderers/HW/GSTextureReplacements.h"
#include "GSLzma.h"
diff --git a/pcsx2/GS/Renderers/Null/GSDeviceNull.cpp b/pcsx2/GS/Renderers/Null/GSDeviceNull.cpp
deleted file mode 100644
index be2a5f5906..0000000000
--- a/pcsx2/GS/Renderers/Null/GSDeviceNull.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/* PCSX2 - PS2 Emulator for PCs
- * Copyright (C) 2002-2021 PCSX2 Dev Team
- *
- * PCSX2 is free software: you can redistribute it and/or modify it under the terms
- * of the GNU Lesser General Public License as published by the Free Software Found-
- * ation, either version 3 of the License, or (at your option) any later version.
- *
- * PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with PCSX2.
- * If not, see .
- */
-
-#include "PrecompiledHeader.h"
-#include "GSDeviceNull.h"
-
-GSTexture* GSDeviceNull::CreateSurface(GSTexture::Type type, int width, int height, int levels, GSTexture::Format format)
-{
- return new GSTextureNull(type, width, height, levels, format);
-}
diff --git a/pcsx2/GS/Renderers/Null/GSDeviceNull.h b/pcsx2/GS/Renderers/Null/GSDeviceNull.h
deleted file mode 100644
index 6c9dcea8fe..0000000000
--- a/pcsx2/GS/Renderers/Null/GSDeviceNull.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* PCSX2 - PS2 Emulator for PCs
- * Copyright (C) 2002-2021 PCSX2 Dev Team
- *
- * PCSX2 is free software: you can redistribute it and/or modify it under the terms
- * of the GNU Lesser General Public License as published by the Free Software Found-
- * ation, either version 3 of the License, or (at your option) any later version.
- *
- * PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with PCSX2.
- * If not, see .
- */
-
-#pragma once
-
-#include "GS/Renderers/Common/GSDevice.h"
-#include "GSTextureNull.h"
-
-class GSDeviceNull : public GSDevice
-{
-private:
- GSTexture* CreateSurface(GSTexture::Type type, int width, int height, int levels, GSTexture::Format format);
-
- void DoMerge(GSTexture* sTex[3], GSVector4* sRect, GSTexture* dTex, GSVector4* dRect, const GSRegPMODE& PMODE, const GSRegEXTBUF& EXTBUF, const GSVector4& c, const bool linear) {}
- void DoInterlace(GSTexture* sTex, GSTexture* dTex, int shader, bool linear, float yoffset = 0, int bufIdx = 0) {}
- u16 ConvertBlendEnum(u16 generic) { return 0xFFFF; }
-
-public:
- GSDeviceNull() {}
-};
diff --git a/pcsx2/GS/Renderers/Null/GSTextureNull.cpp b/pcsx2/GS/Renderers/Null/GSTextureNull.cpp
deleted file mode 100644
index d813508472..0000000000
--- a/pcsx2/GS/Renderers/Null/GSTextureNull.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/* PCSX2 - PS2 Emulator for PCs
- * Copyright (C) 2002-2021 PCSX2 Dev Team
- *
- * PCSX2 is free software: you can redistribute it and/or modify it under the terms
- * of the GNU Lesser General Public License as published by the Free Software Found-
- * ation, either version 3 of the License, or (at your option) any later version.
- *
- * PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with PCSX2.
- * If not, see .
- */
-
-#include "PrecompiledHeader.h"
-#include "GSTextureNull.h"
-
-GSTextureNull::GSTextureNull()
-{
- memset(&m_desc, 0, sizeof(m_desc));
-}
-
-GSTextureNull::GSTextureNull(Type type, int w, int h, int levels, GSTexture::Format format)
-{
- m_desc.type = type;
- m_desc.w = w;
- m_desc.h = h;
- m_desc.levels = levels;
- m_desc.format = format;
-}
-
-void GSTextureNull::Swap(GSTexture* tex)
-{
- GSTexture::Swap(tex);
- std::swap(m_desc, static_cast(tex)->m_desc);
-}
-
-void* GSTextureNull::GetNativeHandle() const
-{
- return nullptr;
-}
diff --git a/pcsx2/GS/Renderers/Null/GSTextureNull.h b/pcsx2/GS/Renderers/Null/GSTextureNull.h
deleted file mode 100644
index fe033d0306..0000000000
--- a/pcsx2/GS/Renderers/Null/GSTextureNull.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* PCSX2 - PS2 Emulator for PCs
- * Copyright (C) 2002-2021 PCSX2 Dev Team
- *
- * PCSX2 is free software: you can redistribute it and/or modify it under the terms
- * of the GNU Lesser General Public License as published by the Free Software Found-
- * ation, either version 3 of the License, or (at your option) any later version.
- *
- * PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with PCSX2.
- * If not, see .
- */
-
-#pragma once
-
-#include "GS/Renderers/Common/GSTexture.h"
-
-class GSTextureNull final : public GSTexture
-{
- struct
- {
- Type type;
- Format format;
- int w, h, levels;
- } m_desc;
-
-public:
- GSTextureNull();
- GSTextureNull(Type type, int w, int h, int levels, Format format);
-
- Type GetType() const { return m_desc.type; }
- Format GetFormat() const { return m_desc.format; }
-
- bool Update(const GSVector4i& r, const void* data, int pitch, int layer = 0) override { return true; }
- bool Map(GSMap& m, const GSVector4i* r = NULL, int layer = 0) override { return false; }
- void Unmap() override {}
- bool Save(const std::string& fn) override { return false; }
- void Swap(GSTexture* tex) override;
- void* GetNativeHandle() const override;
-};
diff --git a/pcsx2/pcsx2core.vcxproj b/pcsx2/pcsx2core.vcxproj
index b1a561bafe..1b995deb48 100644
--- a/pcsx2/pcsx2core.vcxproj
+++ b/pcsx2/pcsx2core.vcxproj
@@ -285,7 +285,6 @@
-
@@ -318,7 +317,6 @@
-
@@ -624,7 +622,6 @@
-
@@ -656,7 +653,6 @@
-
diff --git a/pcsx2/pcsx2core.vcxproj.filters b/pcsx2/pcsx2core.vcxproj.filters
index a4a8d86862..9a1068f960 100644
--- a/pcsx2/pcsx2core.vcxproj.filters
+++ b/pcsx2/pcsx2core.vcxproj.filters
@@ -1100,15 +1100,9 @@
System\Ps2\GS\Renderers\Software
-
- System\Ps2\GS\Renderers\Null
-
System\Ps2\GS\Renderers\Null
-
- System\Ps2\GS\Renderers\Null
-
System\Ps2\GS\Renderers\Hardware
@@ -2026,15 +2020,9 @@
System\Ps2\GS\Renderers\Software
-
- System\Ps2\GS\Renderers\Null
-
System\Ps2\GS\Renderers\Null
-
- System\Ps2\GS\Renderers\Null
-
System\Ps2\GS\Renderers\Hardware