From 56b2e76327d183d3b5729bf51758c07d77c8e228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Stompo=CC=81r?= Date: Sat, 20 Dec 2025 11:37:09 +0100 Subject: [PATCH 1/2] Fix texture options --- .../ModelIO/MDLTexture+Extension.swift | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Engine/Core/Extensions/ModelIO/MDLTexture+Extension.swift b/Engine/Core/Extensions/ModelIO/MDLTexture+Extension.swift index e573c404..d061719f 100644 --- a/Engine/Core/Extensions/ModelIO/MDLTexture+Extension.swift +++ b/Engine/Core/Extensions/ModelIO/MDLTexture+Extension.swift @@ -17,11 +17,21 @@ extension MDLTexture { channelEncoding: .uInt8, isCube: false) } - func upload(device: MTLDevice) -> MTLTexture? { + func upload(device: MTLDevice, + usage: MTLTextureUsage = .shaderRead, + storageMode: MTLStorageMode = .shared, + generateMipMaps: Bool = true) -> MTLTexture? { let loader = MTKTextureLoader(device: device) - let texture = try? loader.newTexture(texture: self, - options: [.generateMipmaps: true]) - texture?.label = name + let options: [MTKTextureLoader.Option : Any] = [ + .generateMipmaps: true, + .textureUsage: NSNumber(value: usage.rawValue), + .textureStorageMode: NSNumber(value: storageMode.rawValue) + ] + + guard let texture = try? loader.newTexture(texture: self, options: options) else { + return nil + } + texture.label = name return texture } } From 9862cb86678a51b4ce6f2d78344170247a87e212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Stompo=CC=81r?= Date: Mon, 22 Dec 2025 09:18:24 +0100 Subject: [PATCH 2/2] Fix lint --- Engine/Core/Extensions/ModelIO/MDLTexture+Extension.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Engine/Core/Extensions/ModelIO/MDLTexture+Extension.swift b/Engine/Core/Extensions/ModelIO/MDLTexture+Extension.swift index d061719f..262758ac 100644 --- a/Engine/Core/Extensions/ModelIO/MDLTexture+Extension.swift +++ b/Engine/Core/Extensions/ModelIO/MDLTexture+Extension.swift @@ -22,12 +22,12 @@ extension MDLTexture { storageMode: MTLStorageMode = .shared, generateMipMaps: Bool = true) -> MTLTexture? { let loader = MTKTextureLoader(device: device) - let options: [MTKTextureLoader.Option : Any] = [ + let options: [MTKTextureLoader.Option: Any] = [ .generateMipmaps: true, .textureUsage: NSNumber(value: usage.rawValue), .textureStorageMode: NSNumber(value: storageMode.rawValue) ] - + guard let texture = try? loader.newTexture(texture: self, options: options) else { return nil }