Skip to content

Commit

Permalink
fix multisampling pair creation
Browse files Browse the repository at this point in the history
  • Loading branch information
s1ddok committed Sep 7, 2022
1 parent 6fe7d6a commit 54f20bf
Showing 1 changed file with 4 additions and 7 deletions.
11 changes: 4 additions & 7 deletions Sources/Alloy/Core/Extensions/Metal/MTLDevice+Extensions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,24 @@ public extension MTLDevice {
sampleCount: Int = 4) throws -> (main: MTLTexture,
resolve: MTLTexture) {
let mainDescriptor = MTLTextureDescriptor()
mainDescriptor.textureType = .type2DMultisample
mainDescriptor.sampleCount = sampleCount
mainDescriptor.width = width
mainDescriptor.height = height
mainDescriptor.pixelFormat = pixelFormat
mainDescriptor.usage = [.renderTarget, .shaderRead]

let sampleDescriptor = MTLTextureDescriptor()
sampleDescriptor.textureType = MTLTextureType.type2DMultisample
sampleDescriptor.width = width
sampleDescriptor.height = height
sampleDescriptor.sampleCount = sampleCount
sampleDescriptor.pixelFormat = pixelFormat
#if !os(macOS) && !targetEnvironment(macCatalyst)
sampleDescriptor.storageMode = .memoryless
#endif
sampleDescriptor.usage = .renderTarget
sampleDescriptor.usage = [.shaderRead, .shaderWrite]

guard let mainTex = self.makeTexture(descriptor: mainDescriptor),
let sampleTex = self.makeTexture(descriptor: sampleDescriptor)
else { throw MetalError.MTLDeviceError.textureCreationFailed }

return (main: sampleTex, resolve: mainTex)
return (main: mainTex, resolve: sampleTex)
}

func heap(size: Int,
Expand Down

0 comments on commit 54f20bf

Please sign in to comment.