Google consegue fazer o DirectX Shader Compiler rodar no Linux


No início de 2017, a Microsoft abriu o código sob a licença MIT do seu compilador de shaders para o DirectX baseado na infraestrutura do LLVM/Clang, o DirectX Shader Compiler, e agora, graças ao trabalho de alguns engenheiros da Google, este compilador de shaders pode ser executado no Linux. As mudanças necessárias no suporte ao Linux ainda não estão presentes no repositório principal da Microsoft no GitHub, mas sim em um fork criado pela própria Google.

Com o DirectX Shader Compiler, é possível obter o DirectX HLSL (High Level Shading Language) e usar sua pilha de compilador baseada em LLVM para emitir o DXIL, a nova DirectX Intermediate Language usada pelo Windows 10 como seu novo formato binário. No último ano, houve contribuições de código aberto para este compilador de shaders, incluindo a capacidade de gerar saída para o SPIR-V como a representação intermediária usada pela Vulkan, OpenCL e OpenGL 4.6.

O compilador está trabalhando no Linux e no macOS com geração de código em funcionamento para DXIL e SPIR-V. Esta é uma conquista para outro projeto de código aberto da Microsoft agora capaz de rodar no Linux. Isso também pode ajudar algumas desenvolvedoras de ports de jogos para Linux, caso queiram mover seus shaders do HLSL para o SPIR-V para serem usados com o OpenGL e Vulkan.

Contudo, isso não é nenhum milagre, como o Direct3D sendo executado magicamente no Linux ou algo semelhante. Também não é a primeira vez que é possível pegar o HLSL e convertê-lo em SPIR-V: o Glslang e outros projetos já existem com configurações de front/back-end semelhantes para converter entre linguagens/representações de shaders.


FONTE: Phoronix

Comentários