From adffcce21d59d7725e168417990968764b4fc10d Mon Sep 17 00:00:00 2001 From: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com> Date: Tue, 4 Mar 2025 00:16:26 +0300 Subject: [PATCH] Disable hardware resolve on Intel GPUs. --- UnleashedRecomp/gpu/video.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/UnleashedRecomp/gpu/video.cpp b/UnleashedRecomp/gpu/video.cpp index 39198778..e24ce4de 100644 --- a/UnleashedRecomp/gpu/video.cpp +++ b/UnleashedRecomp/gpu/video.cpp @@ -287,8 +287,8 @@ static constexpr bool g_vulkan = true; static bool g_triangleStripWorkaround = false; -static constexpr bool g_hardwareResolve = true; -static constexpr bool g_hardwareDepthResolve = true; +static bool g_hardwareResolve = true; +static bool g_hardwareDepthResolve = true; static std::unique_ptr g_interface; static std::unique_ptr g_device; @@ -1698,6 +1698,10 @@ bool Video::CreateHostDevice(const char *sdlVideoDriver) continue; } } + + // Hardware resolve seems to be completely bugged on Intel D3D12 drivers. + g_hardwareResolve = (deviceDescription.vendor != RenderDeviceVendor::INTEL); + g_hardwareDepthResolve = (deviceDescription.vendor != RenderDeviceVendor::INTEL); } g_vulkan = (interfaceFunction == CreateVulkanInterfaceWrapper); @@ -2326,6 +2330,8 @@ static void DrawProfiler() ImGui::Text("Triangle Fan: %s", g_capabilities.triangleFan ? "Supported" : "Unsupported"); ImGui::Text("Dynamic Depth Bias: %s", g_capabilities.dynamicDepthBias ? "Supported" : "Unsupported"); ImGui::Text("Triangle Strip Workaround: %s", g_triangleStripWorkaround ? "Enabled" : "Disabled"); + ImGui::Text("Hardware Resolve: %s", g_hardwareResolve ? "Enabled" : "Disabled"); + ImGui::Text("Hardware Depth Resolve: %s", g_hardwareDepthResolve ? "Enabled" : "Disabled"); ImGui::NewLine(); ImGui::Text("API: %s", g_vulkan ? "Vulkan" : "D3D12");