mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-19 18:52:47 +01:00
Vulkan: Add a driver bug for NV when MSAA is enabled
This causes the card to lock up when vkCmdClearAttachments is called, when multisampling is enabled. Seems to be restricted to Maxwell and newer?
This commit is contained in:
parent
6a76ca7bb7
commit
7f88711186
@ -33,6 +33,7 @@
|
||||
#include "VideoCommon/AVIDump.h"
|
||||
#include "VideoCommon/BPFunctions.h"
|
||||
#include "VideoCommon/BPMemory.h"
|
||||
#include "VideoCommon/DriverDetails.h"
|
||||
#include "VideoCommon/OnScreenDisplay.h"
|
||||
#include "VideoCommon/PixelEngine.h"
|
||||
#include "VideoCommon/PixelShaderManager.h"
|
||||
@ -391,6 +392,8 @@ void Renderer::ClearScreen(const EFBRectangle& rc, bool color_enable, bool alpha
|
||||
|
||||
// Fast path: Use vkCmdClearAttachments to clear the buffers within a render path
|
||||
// We can't use this when preserving alpha but clearing color.
|
||||
if (g_ActiveConfig.iMultisamples == 1 ||
|
||||
!DriverDetails::HasBug(DriverDetails::BUG_BROKEN_MSAA_VKCMDCLEARATTACHMENTS))
|
||||
{
|
||||
VkClearAttachment clear_attachments[2];
|
||||
uint32_t num_clear_attachments = 0;
|
||||
|
@ -101,7 +101,9 @@ static BugInfo m_known_bugs[] = {
|
||||
{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}};
|
||||
BUG_SHARED_CONTEXT_SHADER_COMPILATION, -1.0, -1.0, true},
|
||||
{API_VULKAN, OS_ALL, VENDOR_NVIDIA, DRIVER_NVIDIA, Family::UNKNOWN,
|
||||
BUG_BROKEN_MSAA_VKCMDCLEARATTACHMENTS, -1.0, -1.0, true}};
|
||||
|
||||
static std::map<Bug, BugInfo> m_bugs;
|
||||
|
||||
|
@ -253,6 +253,12 @@ enum Bug
|
||||
// Started version: -1
|
||||
// Ended Version: -1
|
||||
BUG_SHARED_CONTEXT_SHADER_COMPILATION,
|
||||
|
||||
// Bug: vkCmdClearAttachments with MSAA enabled causes NVIDIA Maxwell+ cards to lock up.
|
||||
// Started version: -1
|
||||
// Ended version: -1
|
||||
// Seems to only occur when the top of the clear rect is non-zero.
|
||||
BUG_BROKEN_MSAA_VKCMDCLEARATTACHMENTS,
|
||||
};
|
||||
|
||||
// Initializes our internal vendor, device family, and driver version
|
||||
|
Loading…
x
Reference in New Issue
Block a user