A Microsoft apresentou uma proposta na qual espera contribuir com suporte para o DirectX, a linguagem de sombreamento HLSL e suporte a gráficos Vulkan para o compilador upstream LLVM/Clang.
Em 2017, a Microsoft anunciou um compilador DirectX Shader de código aberto . O atual DirectX Shader Compiler "DXC" é baseado em um antigo fork LLVM Clang 3.7 e mostrando a sua idade, enquanto a Microsoft espera criar uma reimplementação moderna disso para upstream LLVM/Clang para, por sua vez, também desfrutar de recursos modernos da linguagem C++, ferramentas melhorias em torno de shaders HLSL e outros recursos.
Com a nova implementação do compilador DirectX, eles procuram inicialmente oferecer o suporte ao DirectX Intermediate Language (DXIL) e SPIR-V como o IR comum usado pelas APIs Khronos. A Microsoft no futuro pode adicionar o suporte para o DirectX Bytecode (DXBC) conforme usado pelo DirectX 9 até o DirectX 11.
A Microsoft surpreendentemente reconhece a importância do SPIR-V de Khronos. " Houve muitas discussões sobre SPIR-V na comunidade LLVM. SPIR-V é um ISA virtual usado para programação de GPU. Como a geração de código SPIR-V é amplamente usada por desenvolvedores que escrevem HLSL, esse é um recurso extremamente importante para nós também . Existem várias maneiras possíveis de apoiar o SPIR-V e estamos ansiosos para nos envolver ativamente com a comunidade para resolver esse problema. "
Devido ao LLVM/Clang 3.7 ter sete anos, a Microsoft não está procurando simplesmente upstream seu antigo código do compilador DXC, mas sim reimplementá-lo dentro da moderna base de código LLVM peça por peça. Esse processo envolveria a introdução de opções específicas de HLSL no front-end do Clang, suporte ao destino DirectX para LLVM e Clang e muito mais. Ainda existem alguns elementos de design abertos sobre como a geração de código seria tratada e deve ser resolvida entre a Microsoft e os desenvolvedores LLVM upstream. Por sua vez, isso também pode acabar combinando com o trabalho que está sendo realizado para o back-end do SPIR-V para o LLVM .
A proposta RFC termina com, "A Microsoft está se comprometendo a levar o Clang à paridade de recursos com o DXC, mas a comunidade HLSL está apoiando esse esforço e esperamos mudar totalmente o desenvolvimento para LLVM/principal depois que o suporte HLSL estiver completo. "
Até a próxima !!
Nenhum comentário:
Postar um comentário