diff --git a/src/modules/graphics/metal/Metal.h b/src/modules/graphics/metal/Metal.h index d312d2458..0e15a2b80 100644 --- a/src/modules/graphics/metal/Metal.h +++ b/src/modules/graphics/metal/Metal.h @@ -36,7 +36,6 @@ class Metal { public: - static MTLTextureType getTextureType(TextureType type, int msaa); static MTLPixelFormat convertPixelFormat(PixelFormat format, bool &isSRGB); }; // Metal diff --git a/src/modules/graphics/metal/Metal.mm b/src/modules/graphics/metal/Metal.mm index ef9f91379..538268a16 100644 --- a/src/modules/graphics/metal/Metal.mm +++ b/src/modules/graphics/metal/Metal.mm @@ -28,19 +28,6 @@ namespace graphics namespace metal { -MTLTextureType Metal::getTextureType(TextureType type, int msaa) -{ - switch (type) - { - case TEXTURE_2D: return msaa > 1 ? MTLTextureType2DMultisample : MTLTextureType2D; - case TEXTURE_VOLUME: return MTLTextureType3D; - case TEXTURE_2D_ARRAY: return MTLTextureType2DArray; - case TEXTURE_CUBE: return MTLTextureTypeCube; - case TEXTURE_MAX_ENUM: return MTLTextureType2D; - } - return MTLTextureType2D; -} - MTLPixelFormat Metal::convertPixelFormat(PixelFormat format, bool &isSRGB) { MTLPixelFormat mtlformat = MTLPixelFormatRGBA8Unorm; diff --git a/src/modules/graphics/metal/Texture.mm b/src/modules/graphics/metal/Texture.mm index 01c23d486..f76f0e8ff 100644 --- a/src/modules/graphics/metal/Texture.mm +++ b/src/modules/graphics/metal/Texture.mm @@ -28,6 +28,19 @@ namespace graphics namespace metal { +static MTLTextureType getMTLTextureType(TextureType type, int msaa) +{ + switch (type) + { + case TEXTURE_2D: return msaa > 1 ? MTLTextureType2DMultisample : MTLTextureType2D; + case TEXTURE_VOLUME: return MTLTextureType3D; + case TEXTURE_2D_ARRAY: return MTLTextureType2DArray; + case TEXTURE_CUBE: return MTLTextureTypeCube; + case TEXTURE_MAX_ENUM: return MTLTextureType2D; + } + return MTLTextureType2D; +} + Texture::Texture(id device, const Settings &settings, const Slices *data) : love::graphics::Texture(settings, data) , texture(nil) @@ -44,7 +57,7 @@ Texture::Texture(id device, const Settings &settings, const Slices *d desc.depth = depth; desc.arrayLength = layers; desc.mipmapLevelCount = mipmapCount; - desc.textureType = Metal::getTextureType(texType, 1); + desc.textureType = getMTLTextureType(texType, 1); desc.pixelFormat = Metal::convertPixelFormat(format, sRGB); desc.storageMode = MTLStorageModePrivate; @@ -62,7 +75,7 @@ Texture::Texture(id device, const Settings &settings, const Slices *d { // TODO: sampleCount validation desc.sampleCount = getRequestedMSAA(); - desc.textureType = Metal::getTextureType(texType, (int)desc.sampleCount); + desc.textureType = getMTLTextureType(texType, (int)desc.sampleCount); desc.usage &= ~MTLTextureUsageShaderRead; // TODO: This needs to be cleared, etc.