Выбор Metal 3.2 в качестве языка приводит к сбою на iPhone 11 Pro (iOS 17.1.1)IOS

Программируем под IOS
Ответить
Anonymous
 Выбор Metal 3.2 в качестве языка приводит к сбою на iPhone 11 Pro (iOS 17.1.1)

Сообщение Anonymous »

XCode 16, похоже, имеет проблему со сшиваемыми ядрами в Core Image, что приводит к ошибкам сборки, как указано в этом вопросе. В качестве обходного пути я выбрал Metal 3.2 в качестве версии Metal Language Revision в проекте XCode. Он работает на новых устройствах, таких как iPhone 13 pro и новее, но создание металлической текстуры не работает на старых устройствах, таких как iPhone 11 pro. Известна ли это проблема и есть ли обходной путь? Я попытался выбрать версию языка Metal до 2.4, но возникают те же ошибки сборки, о которых сообщается в этом вопросе. Вот код, в котором на iPhone 11 Pro происходит сбой утверждения.
let vertexShader = library.makeFunction(name: "vertexShaderPassthru")
let fragmentShaderYUV = library.makeFunction(name: "fragmentShaderYUV")

let pipelineDescriptorYUV = MTLRenderPipelineDescriptor()
pipelineDescriptorYUV.rasterSampleCount = 1
pipelineDescriptorYUV.colorAttachments[0].pixelFormat = .bgra8Unorm
pipelineDescriptorYUV.depthAttachmentPixelFormat = .invalid

pipelineDescriptorYUV.vertexFunction = vertexShader
pipelineDescriptorYUV.fragmentFunction = fragmentShaderYUV

do {
try pipelineStateYUV = metalDevice?.makeRenderPipelineState(descriptor: pipelineDescriptorYUV)
}
catch {
assertionFailure("Failed creating a render state pipeline. Can't render the texture without one.")
return
}



Подробнее здесь: https://stackoverflow.com/questions/790 ... ios-17-1-1
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»