diff --git a/src/util/metal_device.mm b/src/util/metal_device.mm index be67af89e..3757377b7 100644 --- a/src/util/metal_device.mm +++ b/src/util/metal_device.mm @@ -1285,6 +1285,14 @@ bool MetalDevice::CheckDownloadBufferSize(u32 required_size) bool MetalDevice::SupportsTextureFormat(GPUTexture::Format format) const { + if (format == GPUTexture::Format::RGB565 || format == GPUTexture::Format::RGBA5551) + { + // These formats require an Apple Silicon GPU. + // See https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf + if (![m_device supportsFamily:MTLGPUFamilyApple2]) + return false; + } + return (s_pixel_format_mapping[static_cast(format)] != MTLPixelFormatInvalid); }