Um projeto de Emma Anholt há mais de um ano está prestes a ser concluído com o conjunto GLSL-to-TGSI a ser removido do Mesa, pelo qual o Gallium3D sempre passará pela representação intermediária NIR, enquanto os drivers mais antigos ainda dependentes do TGSI farão uso da passagem NIR-To-TGSI. Usar NIR significa melhor desempenho e livrar-se do caminho de código GLSL para TGSI significa liberar mais de vinte mil linhas de código.
Anholt desde o final de 2020 vem trabalhando para tirar os drivers mais antigos/menores de sua dependência do TGSI e obter suporte NIR por meio do caminho NIR para TGSI. A partir desse longo trabalho em andamento, o Mesa mudou o Virgl para o NIR , a série GeForce FX / 6/7 no Nouveau agora usando NIR-to-TGSI a partir do Mesa 22.1,A Radeon R300g também usa esse caminho desde o ano passado, e o antigo driver Intel i915g também segue esse caminho. Com essas mudanças de driver e outros trabalhos do Mesa que foram mantidos no ano passado, a rota do GLSL para o TGSI está se tornando redundante e pode ser eliminada. NIR é a representação intermediária moderna usada pelos drivers Mesa de código aberto mais recentes e tem um potencial de otimização muito melhor, melhor projetado para necessidades gráficas modernas e, em geral, tem melhor qualidade de código e recursos hoje em dia do que o TGSI, que começou como o Gallium3D original RI para o Mesa.
Esta solicitação de mesclagem substitui a função glsl_to_tgsi() com o uso de glsl_to_nir() e nir_to_tgsi(). Portanto, aqueles drivers que não suportam nativamente a representação intermediária NIR irão do OpenGL Shading Language (GLSL) para o NIR e de volta ao TGSI para consumo do driver. Apenas algumas mudanças ainda estão pendentes primeiro em Virgl, R600g, Nouveau e algumas correções de regressão antes que a mesclagem possa chegar.
Emma Anholt observou na lista de discussão os benefícios de passar a linha de chegada além do potencial de desempenho: " Estamos reduzidos a muito poucas regressões de teste nos drivers restantes, e aterrissar nos rende correções de teste e ganhos de desempenho enquanto removemos 22.000 linhas de código não mantido e não testado por CI. "
Portanto, supondo que não apareçam obstáculos de última hora, a esperança é concluir esse trabalho em breve e, portanto, deve ser uma boa limpeza para o lançamento do Mesa 22.2 no próximo trimestre.
Até a próxima !!
Nenhum comentário:
Postar um comentário