在将自定义Core Image滤镜内核迁移到Metal Shading Language时,我在构建默认的Metal库(default.metallib)时遇到错误:
metallib: error: exactly one input file required
我觉得这些文件可能位于单独的.metal文件中。尝试将它们合并到一个文件中会导致此错误:
Metal library creation failed: Error Domain=MTLlibraryErrorDomain Code=3 "Filters module must contain no vertex/fragment/kernel functions but contains 1 kernel function"
将名称间隔设置为metal
和coreimage
可以防止计算内核在默认库中显示为可用函数。
找到了这个SO答案,建议建立单独的库: