diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp
index ad15ea54e73443cd97165e177f5f637db17a9df4..65a88b06c10b57a2dcb605036b58e98761572e76 100644
--- a/src/video_core/renderer_opengl/gl_device.cpp
+++ b/src/video_core/renderer_opengl/gl_device.cpp
@@ -28,7 +28,6 @@ Device::Device() {
     max_varyings = GetInteger<u32>(GL_MAX_VARYING_VECTORS);
     has_variable_aoffi = TestVariableAoffi();
     has_component_indexing_bug = TestComponentIndexingBug();
-    is_turing_plus = GLAD_GL_NV_mesh_shader;
 }
 
 Device::Device(std::nullptr_t) {
diff --git a/src/video_core/renderer_opengl/gl_device.h b/src/video_core/renderer_opengl/gl_device.h
index 1afe16779b55d4efd36224e29c5ed941d2e63b47..8c8c937600298c8cfdbe19a4745abe4da943771f 100644
--- a/src/video_core/renderer_opengl/gl_device.h
+++ b/src/video_core/renderer_opengl/gl_device.h
@@ -34,10 +34,6 @@ public:
         return has_component_indexing_bug;
     }
 
-    bool IsTuringGPU() const {
-        return is_turing_plus;
-    }
-
 private:
     static bool TestVariableAoffi();
     static bool TestComponentIndexingBug();
@@ -47,7 +43,6 @@ private:
     u32 max_varyings{};
     bool has_variable_aoffi{};
     bool has_component_indexing_bug{};
-    bool is_turing_plus{};
 };
 
 } // namespace OpenGL
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp
index 71f6888c6c87410cccc76d8c1b254f405708a47e..7c1d141383198008e3022dbda2b0cb479262ee3f 100644
--- a/src/video_core/renderer_opengl/gl_texture_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp
@@ -439,7 +439,6 @@ TextureCacheOpenGL::TextureCacheOpenGL(Core::System& system,
                                        VideoCore::RasterizerInterface& rasterizer,
                                        const Device& device)
     : TextureCacheBase{system, rasterizer} {
-    support_info.depth_color_image_copies = !device.IsTuringGPU();
     src_framebuffer.Create();
     dst_framebuffer.Create();
 }
@@ -452,13 +451,11 @@ Surface TextureCacheOpenGL::CreateSurface(GPUVAddr gpu_addr, const SurfaceParams
 
 void TextureCacheOpenGL::ImageCopy(Surface& src_surface, Surface& dst_surface,
                                    const VideoCommon::CopyParams& copy_params) {
-    if (!support_info.depth_color_image_copies) {
-        const auto& src_params = src_surface->GetSurfaceParams();
-        const auto& dst_params = dst_surface->GetSurfaceParams();
-        if (src_params.type != dst_params.type) {
-            // A fallback is needed
-            return;
-        }
+    const auto& src_params = src_surface->GetSurfaceParams();
+    const auto& dst_params = dst_surface->GetSurfaceParams();
+    if (src_params.type != dst_params.type) {
+        // A fallback is needed
+        return;
     }
     const auto src_handle = src_surface->GetTexture();
     const auto src_target = src_surface->GetTarget();
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 503bd2b43064b7050eb4a0f4a2544514be98b14d..c95b1b9764343a4ddb0e9aff4d5d1d233c1f5415 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -218,12 +218,6 @@ public:
     }
 
 protected:
-    // This structure is used for communicating with the backend, on which behaviors
-    // it supports and what not, to avoid assuming certain things about hardware.
-    // The backend is RESPONSIBLE for filling this settings on creation.
-    struct Support {
-        bool depth_color_image_copies;
-    } support_info;
 
     TextureCache(Core::System& system, VideoCore::RasterizerInterface& rasterizer)
         : system{system}, rasterizer{rasterizer} {
@@ -389,8 +383,7 @@ private:
         const auto gpu_addr = current_surface->GetGpuAddr();
         TSurface new_surface = GetUncachedSurface(gpu_addr, params);
         const auto& cr_params = current_surface->GetSurfaceParams();
-        if (cr_params.type != params.type && (!support_info.depth_color_image_copies ||
-                                              cr_params.component_type != params.component_type)) {
+        if (cr_params.type != params.type || (cr_params.component_type != params.component_type)) {
             BufferCopy(current_surface, new_surface);
         } else {
             std::vector<CopyParams> bricks = current_surface->BreakDown(params);