繁体   English   中英

如何指定Metal Shader语言版本?

[英]How to specify Metal Shader Language version?

我的应用程序第三次被“ Binary Rejected ”。 崩溃日志没有帮助(我已将它们符号化,但是它们不包含任何打印日志...)。

iPhone 6siPhone XiPad Pro 12.9上运行良好

我正在使用目标iOS 11iOS 12进行测试

由于iOS版Metal无法在模拟器中运行,因此我尚未在iOS 11进行过测试

所以我得到了Crashlytics,并获得了有关crash_info_entry_0键的一些信息:

...错误域= AGXMetalA8X代码= 3“功能...正在使用与该OS不兼容的语言版本2.1。” ...

它发生在运行iOS 11.4.1iPad Air 2 (A8)

所以我想问题是iOS 11不支持金属language version 2.1

如何将语言版本更改为2.0

更新1:

在检查我的Metal Lib之后,确实确实有iOS 12的目标。 它与iOS 11应用程序目标运行良好。 我现在已经将Metal Lib目标更改为iOS 11 ,希望也能更改Metal Language版本...

我希望编译器或App Store上载器能够抓住这一点。

更新2:

有效! 更改Metal Lib的iOS版本目标也会更改Metal Shader Language版本。

在包含Metal代码的目标中,有一个名为“ Metal语言修订版”的构建设置(实际键为MTL_LANGUAGE_REVISION ,有效值包括Metal12Metal20 ,分别对应于语言版本1.2和2.0),它允许您指定首选语言MSL版本。 如果未设置,则此设置选择适合当前SDK和部署目标的默认值,在您的情况下似乎过于激进了。 如果您不使用MSL 2.1功能,则可以在目标设置的“构建设置”部分中将其显式设置为“金属2.0”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM