A Collabora já começou a trabalhar na adoção do controlador Gallium D3D12

Os desenvolvedores de Collabora lançado recentemente por meio de um anúncio a adoção do controlador aberto Gallium D3D12, que implementa uma camada para organizar o trabalho OpenGL na API DirectX 12 (D3D12), na composição principal do Mesa.

Ao mesmo tempo, driver anunciado passou com sucesso no teste de compatibilidade do OpenGL 3.3 ao trabalhar com WARP (software rasterizador) e drivers NVIDIA D3D12.

Estamos entusiasmados em compartilhar que recentemente passamos no teste de conformidade do OpenGL 3.3 e atualizamos o código no Mesa 3D!

O controlador pode ser útil usar Mesa em dispositivos com controladores D3D12 apenas e como um ponto de partida para portar aplicativos OpenGL para rodar na API D3D12. Em particular, o driver pode ser usado para organizar a operação de aplicativos gráficos em ambientes controlados pelo subsistema WSL (Windows Subsystem for Linux), que garante o lançamento de arquivos executáveis ​​do Linux no Windows.

Uma das principais aplicações que se destacam é o suporte a Photoshop, que, como mencionado no anúncio, pode não ser uma grande surpresa, mas uma das motivações para este trabalho foi poder rodar aplicativos como Photoshop em dispositivos Windows sem compatibilidade total com OpenGL.

Estou feliz em informar que a Microsoft lançou seu pacote de compatibilidade que usa nosso trabalho para fornecer suporte a OpenGL (e OpenCL). O Photoshop agora pode ser executado no Windows em CPUs ARM! É tão empolgante ver aplicativos de alto nível como esse se beneficiando do nosso trabalho!

O desenvolvimento é realizado em conjunto com engenheiros da Microsoft para desenvolver ferramentas como D3D11On12 para transferir jogos para a biblioteca D3D11 e D3D12 D3D12TranslationLayer, que implementa primitivas gráficas padrão sobre D3D12.

Com base no projeto em consideração, A Microsoft já preparou uma camada intermediária o que torna possível executar aplicativos baseados em OpenGL em dispositivos Windows que não fornecem suporte completo para OpenGL. Em particular, foi possível garantir o funcionamento do Photoshop em dispositivos Windows com processadores ARM.

Gostaria de salientar que tendo aprovado o OpenGL CTS não é necessariamente o mesmo que ser formalmente compatível. Existem alguns detalhes sobre como cumprir formalmente as implementações em camadas que são complicadas, e deixarei a questão sobre a conformidade formal para a Microsoft e Khronos.

A implementação inclui um driver para Mesa e um compilador de sombreador NIR para DXIL (tempo de execução D3D12), que converte o sombreador NIR intermediário do Mesa para o formato binário DirectX Intermediate Language (DXIL) compatível com DirectX 12 e LLVM 3.7 bitcode. O compilador Shader é um fork do LLVM 3.7).

Os problemas de tempo de execução do D3D12 também devem ser corrigidos antes de enviar os resultados. Estamos trabalhando com a Microsoft para corrigir esses problemas conforme apropriado. Essas correções podem demorar um pouco para chegar à versão do Windows e aos usuários finais, mas eventualmente aparecerão.

Mas para o controlador do fornecedor D3D12 e versões inferiores, as coisas ficam complicadas ...

Em primeiro lugar, nem sempre é possível diferenciarmos os problemas do driver do fornecedor dos problemas de hardware. E o que é pior, como são desenvolvidos por empresas terceirizadas, temos poucas informações sobre isso. 

O controlador Mesa usa a interface Gallium, aceita comandos OpenGL e, usando o tradutor NIR para DXIL, gera comandos D3D12 que são executados na GPU usando o driver de sistema D3D12. Separadamente, os componentes estão sendo desenvolvidos para garantir que o OpenCL funcione em cima do D3D12, incluindo o compilador OpenCL e o tempo de execução do OpenCL.

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.