From 46ca836bd57a0e187529c9f0e7f1f713b76d2ba4 Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Tue, 30 Mar 2021 19:32:33 -0300 Subject: [PATCH] metal: enable clamp-to-one wrap mode on iOS 10.14+ --- src/modules/graphics/metal/Graphics.mm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/modules/graphics/metal/Graphics.mm b/src/modules/graphics/metal/Graphics.mm index a84c00be8..f2710be7f 100644 --- a/src/modules/graphics/metal/Graphics.mm +++ b/src/modules/graphics/metal/Graphics.mm @@ -66,11 +66,11 @@ static MTLSamplerAddressMode getMTLSamplerAddressMode(SamplerState::WrapMode mod { case SamplerState::WRAP_CLAMP: return MTLSamplerAddressModeClampToEdge; case SamplerState::WRAP_CLAMP_ZERO: return MTLSamplerAddressModeClampToZero; -#ifdef LOVE_MACOS - case SamplerState::WRAP_CLAMP_ONE: return MTLSamplerAddressModeClampToBorderColor; -#else - case SamplerState::WRAP_CLAMP_ONE: return MTLSamplerAddressModeClampToZero; -#endif + case SamplerState::WRAP_CLAMP_ONE: + if (@available(macOS 10.12, iOS 10.14, *)) + return MTLSamplerAddressModeClampToBorderColor; + else + return MTLSamplerAddressModeClampToZero; case SamplerState::WRAP_REPEAT: return MTLSamplerAddressModeRepeat; case SamplerState::WRAP_MIRRORED_REPEAT: return MTLSamplerAddressModeMirrorRepeat; case SamplerState::WRAP_MAX_ENUM: return MTLSamplerAddressModeClampToEdge; @@ -503,9 +503,8 @@ id Graphics::getCachedSampler(const SamplerState &s) desc.tAddressMode = getMTLSamplerAddressMode(s.wrapV); desc.rAddressMode = getMTLSamplerAddressMode(s.wrapW); -#ifdef LOVE_MACOS - desc.borderColor = MTLSamplerBorderColorOpaqueWhite; -#endif + if (@available(macOS 10.12, iOS 10.14, *)) + desc.borderColor = MTLSamplerBorderColorOpaqueWhite; desc.lodMinClamp = s.minLod; desc.lodMaxClamp = s.maxLod;