微软开放高端着色器语言HLSL计划程序,期望社群贡献语言功能

微软宣布要通过引进新的公共语言功能计划程序,来扩展高端着色器语言HLSL社群,新程序托管在GitHub上,希望借助社群的力量发展新的语言功能。这是开发团队参考Rust和Swift开放语言设计流程,而做出的决定。

在2017年初,DirectX着色器编译器(DirectX Shader Compiler,DXC)在GitHub上开源,而DXC是以Clang的LLVM 3.7作为基础,其支持强大的开发和语言工具,使HLSL能够包含许多重要的功能,包括C++模板和运算符重载。

在今年的时候,HLSL编译器团队宣布替Clang提供HLSL支持,这项决定将推进开源软件开发,并且强化HLSL工具和语言的发展,而现在微软又进一步开放HLSL计划程序,期望通过社群的力量来改进HLSL,相当于发布一小部分HLSL发展的决策权。

但是微软在这部分有一些但书,官方强调,并非所有HLSL功能都可以经过这个程序决定,添加到HLSL的部分功能,由微软内部团队根据与硬件供应商协调的保密协议进行,这些功能就不会公开在GitHub上。

另外,微软在这个程序引入了一个目标声明,使社群能专注于语言发展,这项目标声明可能因每个版本改变,以符合产业不断变化的需求。开发者有两种方式可以参与贡献,其一是针对存储库提交GitHub问题,而对于想要在设计语言功能扮演更积极角色的开发者,可以使用模板编写提案并提交拉取请求。

新程序的提案会提交到新的HLSL-Specs存储库,新整合的提案会从“值得考虑”状态开始,微软提到,这些提案必须对用户有用,且和即将推出的HLSL版本目标一致。值得考虑的提案经批准后会整合到存储库中,进行更广泛的协作,当功能描述完成后,提案还会广泛征求贡献者和微软合作伙伴的反馈。

被接受的提案不一定会在特定的版本发布,微软会视情况推延并且重新评估,当功能与HLSL语言发展目标不一致,且未来不太可能改变时,微软便会拒绝提案,并且针对提案提供详细的拒绝说明,以便相同提案在未来重新被提出,有更多资料可供参考。