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"
@@ -450,7 +451,6 @@ void VulkanContext::PopulateBackendInfo(BackendInfo* backend_info)
450451 backend_info->bSupportsBPTCTextures = false ; // Dependent on features.
451452 backend_info->bSupportsLogicOp = false ; // Dependent on features.
452453 backend_info->bSupportsLargePoints = false ; // Dependent on features.
453- backend_info->bSupportsFramebufferFetch = false ; // Dependent on OS and features.
454454 backend_info->bSupportsCoarseDerivatives = true ; // Assumed support.
455455 backend_info->bSupportsTextureQueryLevels = true ; // Assumed support.
456456 backend_info->bSupportsLodBiasInSampler = false ; // Dependent on OS.
@@ -510,17 +510,6 @@ void VulkanContext::PopulateBackendInfoFeatures(BackendInfo* backend_info, VkPhy
510510 backend_info->bSupportsLargePoints =
511511 info.largePoints && info.pointSizeRange [0 ] <= 1 .0f && info.pointSizeRange [1 ] >= 16 ;
512512
513- std::string device_name = info.deviceName ;
514- u32 vendor_id = info.vendorID ;
515- bool is_moltenvk = info.driverID == VK_DRIVER_ID_MOLTENVK;
516-
517- // Only Apple family GPUs support framebuffer fetch.
518- // We currently use a hacked MoltenVK to implement this, so don't attempt outside of MVK
519- if (is_moltenvk && (vendor_id == 0x106B || device_name.find (" Apple" ) != std::string::npos))
520- {
521- backend_info->bSupportsFramebufferFetch = true ;
522- }
523-
524513 // Our usage of primitive restart appears to be broken on AMD's binary drivers.
525514 // Seems to be fine on GCN Gen 1-2, unconfirmed on GCN Gen 3, causes driver resets on GCN Gen 4.
526515 if (DriverDetails::HasBug (DriverDetails::BUG_PRIMITIVE_RESTART))
@@ -534,6 +523,14 @@ void VulkanContext::PopulateBackendInfoFeatures(BackendInfo* backend_info, VkPhy
534523 // Dynamic sampler indexing locks up Intel GPUs on MoltenVK/Metal
535524 if (DriverDetails::HasBug (DriverDetails::BUG_BROKEN_DYNAMIC_SAMPLER_INDEXING))
536525 backend_info->bSupportsDynamicSamplerIndexing = false ;
526+
527+ if (DriverDetails::HasBug (DriverDetails::BUG_BROKEN_DISCARD_WITH_EARLY_Z))
528+ {
529+ PanicAlertFmtT (
530+ " You are attempting to use the Vulkan backend on an unsupported operating system. "
531+ " To prevent visual glitches and artifacts, you must either switch to the Metal "
532+ " backend or update to macOS 14 (Sonoma) or newer." );
533+ }
537534}
538535
539536void VulkanContext::PopulateBackendInfoMultisampleModes (BackendInfo* backend_info,
0 commit comments