Skip to content

metal-support 分支使用到 glsl_optimizer 的一些问题 #19521

Open
@hjcapple

Description

@hjcapple

metal-support 分支中的 ShaderModuleMTL.mm 使用了 glsl_optimizer 这个库。glsl_optimizer 在将 GLSL 转换成 MSL 时,有些问题。

  1. glsl-optimizer 将 mod 直接转换成 MSL 的 fmod。但两者实际是不等价的。
  2. glsl-optimizer 在转换 varying vec3 thing[4]; 这种语法时,没有将数组展开,导致转换后的 MSL 编译不过。
  3. glsl-optimizer 分别独立转换 vertex shader 和 fragment shader, 假如 varying 定义变量顺序不一致,转换后的 MSL 就会出问题。

详细情况见 GL 移植到 Metal 的小细节 一文最后的备注。

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions