From 602fe0f457db67f121b642c48fcdfe0df0f61f61 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Tue, 17 Jul 2018 13:33:56 +1000 Subject: [PATCH] DriverDetails: Disable shared context shader compilation on nouveau Our usage of glFinish() can cause driver crashes and/or lockups. Please note that this disables the background shader compilation (i.e. all shaders will be compiled on boot). There is no way around this. --- Source/Core/VideoCommon/DriverDetails.cpp | 2 ++ Source/Core/VideoCommon/DriverDetails.h | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Core/VideoCommon/DriverDetails.cpp b/Source/Core/VideoCommon/DriverDetails.cpp index 0a0e3e2b72..1626e24d18 100644 --- a/Source/Core/VideoCommon/DriverDetails.cpp +++ b/Source/Core/VideoCommon/DriverDetails.cpp @@ -102,6 +102,8 @@ static BugInfo m_known_bugs[] = { true}, {API_OPENGL, OS_LINUX, VENDOR_MESA, DRIVER_I965, Family::UNKNOWN, BUG_SHARED_CONTEXT_SHADER_COMPILATION, -1.0, -1.0, true}, + {API_OPENGL, OS_LINUX, VENDOR_MESA, DRIVER_NOUVEAU, Family::UNKNOWN, + BUG_SHARED_CONTEXT_SHADER_COMPILATION, -1.0, -1.0, true}, {API_VULKAN, OS_ALL, VENDOR_NVIDIA, DRIVER_NVIDIA, Family::UNKNOWN, BUG_BROKEN_MSAA_CLEAR, -1.0, -1.0, true}, {API_VULKAN, OS_ALL, VENDOR_IMGTEC, DRIVER_IMGTEC, Family::UNKNOWN, diff --git a/Source/Core/VideoCommon/DriverDetails.h b/Source/Core/VideoCommon/DriverDetails.h index c698c12caf..65b6c89fcb 100644 --- a/Source/Core/VideoCommon/DriverDetails.h +++ b/Source/Core/VideoCommon/DriverDetails.h @@ -246,7 +246,8 @@ enum Bug // BUG: The GPU shader code appears to be context-specific on Mesa/i965. // This means that if we compiled the ubershaders asynchronously, they will be recompiled // on the main thread the first time they are used, causing stutter. For now, disable - // asynchronous compilation on Mesa i965. + // asynchronous compilation on Mesa i965. On nouveau, our use of glFinish() can cause + // crashes and/or lockups. // Started version: -1 // Ended Version: -1 BUG_SHARED_CONTEXT_SHADER_COMPILATION,