首页 > 解决方案 > SCNShadable 协议在较新设备上的片段函数编译期间出现内部错误

问题描述

我们已经编写了一个基于SCNShadable 协议的着色器修改器,它运行良好,直到统一变量的数量相当慢(比如 5-10)。后来我们需要扩展着色器修改器并使用新的制服,总共25个,包括8个纹理和对应的float4x4矩阵。然后它停止工作,无法编译片段函数,这给出了以下无用的错误消息:

Error Domain=AGXMetalA12 Code=3 "Internal error during fragment function compilation" UserInfo={NSLocalizedDescription=Internal error during fragment function compilation}

当我们将矩阵的数量减少到 2 时,它开始在 an和其他设备float4x4上再次工作,但在或更新的设备上不起作用。iPhone 7Metal GPU Family 3Metal GPU Family 4

我们的问题是,是否有人知道解释这种行为的任何限制。

标签: iosmetalmetalkit

解决方案


推荐阅读