gpt4 book ai didi

shader - Metal编译的metallib着色器文件的格式?

转载 作者:行者123 更新时间:2023-12-02 09:27:52 35 4
gpt4 key购买 nike

对于运行时生成的着色器代码,我有兴趣探索是否可以直接自动生成编译的 Metal 着色器语言 (MSL) 代码(如 .metallib 文件,并与 newLibraryWithData:error: 方法一起使用),而不是自动生成人类可读的 MSL 源代码(与 newLibraryWithSource:options:error:< 一起使用 方法)。

这样做的理由有两个:

  1. 根据编译代码格式,程序自动生成编译着色器代码可能更简单、更清晰,而不是乱用人类可读格式。
  2. 移除着色器编译阶段将加速运行时生成的着色器的创建。

.metallib 文件中是否有编译后的 MSL 代码格式的文档?编译格式是特定于 GPU 的,还是作为一种中间语言格式存在,在 newLibraryWithData:error: 方法中的最后编译阶段进入 GPU 级别?

最佳答案

metallib 文件的格式没有公开记录。库文件本质上包含元数据和编译的着色器代码,采用 LLVM 派生的中间语言,与设备无关。还有第二个后端编译步骤,将这种中间语言转换为最终的机器代码。无法直接生成中间代码,但如果这是您想要的功能,您应该向 Apple 提交增强请求错误。

关于shader - Metal编译的metallib着色器文件的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36110247/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com