Skip to content

Commit 5a5c722

Browse files
committed
VulkanContext: Drop support for BUG_BROKEN_DISCARD_WITH_EARLY_Z workaround
1 parent 202bd68 commit 5a5c722

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

Source/Core/VideoBackends/Vulkan/VulkanContext.cpp

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include "Common/Assert.h"
1111
#include "Common/Contains.h"
1212
#include "Common/Logging/Log.h"
13+
#include "Common/MsgHandler.h"
1314

1415
#include "VideoCommon/DriverDetails.h"
1516
#include "VideoCommon/VideoCommon.h"
@@ -454,7 +455,6 @@ void VulkanContext::PopulateBackendInfo(BackendInfo* backend_info)
454455
backend_info->bSupportsBPTCTextures = false; // Dependent on features.
455456
backend_info->bSupportsLogicOp = false; // Dependent on features.
456457
backend_info->bSupportsLargePoints = false; // Dependent on features.
457-
backend_info->bSupportsFramebufferFetch = false; // Dependent on OS and features.
458458
backend_info->bSupportsCoarseDerivatives = true; // Assumed support.
459459
backend_info->bSupportsTextureQueryLevels = true; // Assumed support.
460460
backend_info->bSupportsLodBiasInSampler = false; // Dependent on OS.
@@ -514,17 +514,6 @@ void VulkanContext::PopulateBackendInfoFeatures(BackendInfo* backend_info, VkPhy
514514
backend_info->bSupportsLargePoints =
515515
info.largePoints && info.pointSizeRange[0] <= 1.0f && info.pointSizeRange[1] >= 16;
516516

517-
std::string device_name = info.deviceName;
518-
u32 vendor_id = info.vendorID;
519-
bool is_moltenvk = info.driverID == VK_DRIVER_ID_MOLTENVK;
520-
521-
// Only Apple family GPUs support framebuffer fetch.
522-
// We currently use a hacked MoltenVK to implement this, so don't attempt outside of MVK
523-
if (is_moltenvk && (vendor_id == 0x106B || device_name.find("Apple") != std::string::npos))
524-
{
525-
backend_info->bSupportsFramebufferFetch = true;
526-
}
527-
528517
// Our usage of primitive restart appears to be broken on AMD's binary drivers.
529518
// Seems to be fine on GCN Gen 1-2, unconfirmed on GCN Gen 3, causes driver resets on GCN Gen 4.
530519
if (DriverDetails::HasBug(DriverDetails::BUG_PRIMITIVE_RESTART))
@@ -538,6 +527,14 @@ void VulkanContext::PopulateBackendInfoFeatures(BackendInfo* backend_info, VkPhy
538527
// Dynamic sampler indexing locks up Intel GPUs on MoltenVK/Metal
539528
if (DriverDetails::HasBug(DriverDetails::BUG_BROKEN_DYNAMIC_SAMPLER_INDEXING))
540529
backend_info->bSupportsDynamicSamplerIndexing = false;
530+
531+
if (DriverDetails::HasBug(DriverDetails::BUG_BROKEN_DISCARD_WITH_EARLY_Z))
532+
{
533+
PanicAlertFmtT(
534+
"You are attempting to use the Vulkan backend on an unsupported operating system. "
535+
"To prevent visual glitches and artifacts, you must either switch to the Metal "
536+
"backend or update to macOS 14 (Sonoma) or newer.");
537+
}
541538
}
542539

543540
void VulkanContext::PopulateBackendInfoMultisampleModes(BackendInfo* backend_info,

0 commit comments

Comments
 (0)