Kraid is a now a real compiler
4 days ago
- Kraid,Panfrost驱动栈的新编译器,现在通过了所有80万项Vulkan CTS计算着色器测试,在几个方面超越了旧编译器。
- 顶点和片段着色器仍在开发中,生成的代码质量故意较差,以帮助在高寄存器压力下识别错误。
- 所有主要的编译器组件都已就位,包括基于SSA的寄存器分配器、溢出处理、64位支持、swizzle处理、复制传播以及16位/8位目标支持。
- 未来的工作包括编写优化通道、微调寄存器分配器、完善布尔和8位策略,以及完成顶点和片段着色器阶段。
- 片段着色器带来了额外的挑战,因为BLEND和ATEST指令具有寄存器分配的影响,并且需要在主着色器和混合着色器之间建立ABI。