Zig 编程语言官方开发日志披露了其 SPIR-V 编译器后端的重大更新与重构成果。在经历了一系列编译器变更导致的功能退化后,开发团队耗时数周将该后端恢复至更健壮的状态。核心更新包括:引入全新的 @SpirvType 内置类型,直接支持在 Zig 类型系统中定义 SPIR-V 特有的采样器、图像和运行时数组等类型,移除了编写着色器的最大阻碍。执行模式信息(如工作组大小)现在通过特定的调用约定(如 spirv_vertex, spirv_kernel)进行管理,取代了旧的内联汇编方式,并新增了对网格着色管线的调用约定支持。在架构层面,SPIR-V 后端现已支持多线程代码生成,利用编译器的线程池进行并行处理,并重新启用了类型去重和死代码修剪等关键优化环节。此外,SPIR-V 的能力与扩展特性现在由 CPU 特性集驱动,且 .spv 文件被正式识别为对象文件,允许链接器进行模块合并。此次更新修复了大量 Bug,使得针对 spirv64-vulkan 目标的行为测试通过率提升了近 10%,Zig 正逐渐成为编写 GPU 计算内核与图形着色器的强力选择。
事件分析
💡 核心观点:Zig 通过重构 SPIR-V 后端,正在打破通用语言与着色器语言的界限,构建一套统一且高性能的跨平台 GPU 开发新范式。
原文链接:Hacker News






