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
543540void VulkanContext::PopulateBackendInfoMultisampleModes (BackendInfo* backend_info,
0 commit comments