Confira !!
O Mesa 20.3 combinou uma longa série de patches em andamento, oferecendo suporte para ir da representação intermediária NIR moderna para o TGSI como o IR Gallium3D convencional.
A camada de tradução NIR-To-TGSI tem estado em obras durante a maior parte do ano com a esperança de usá-la para, eventualmente, matar o código GLSL-to-TGSI do rastreador de estado Mesa, que é bastante grande e complicado. Enquanto RadeonSI, Iris e os outros drivers Gallium3D maiores estão usando NIR por um tempo, este caminho NIR para TGSI pode ajudar outros drivers Gallium3D como Softpipe que ainda dependem de TGSI. Se se livrar do caminho GLSL-para-TGSI, os shaders GLSL acabariam por passar pelo NIR e depois serem convertidos para TGSI.
Isso pode permitir melhores otimizações e, em última análise, melhor desempenho. Essa camada de tradução permite que esses outros drivers Gallium3D façam uso de otimizações NIR e toda a atenção que recebe atualmente, visto que o trabalho específico do TGSI permanece praticamente intocado.
Eric Anholt, do Google, que está trabalhando neste suporte, comentou sobre os benefícios imediatos para drivers Gallium3D baseados em TGSI, " Eu vi isso reduzir a contagem de instruções maciçamente em computação, geometria e sombreadores de carregamento UBO, mas até mesmo um pouco em trivial texturizando shaders como glmark2! "
Este patch também explica,"O objetivo é substituir glsl_to_tgsi.cpp e seu código de suporte (~ 10k LOC). Esse código acaba sendo menor porque o NIR tem muitos passes de redução que o ajudam a mapear melhor para TGSI do que o GLSL IR. Como um benefício, isso traz otimizações NIR para drivers somente TGSI. Muitos dos shaders de softpipe que observei acabam sendo significativamente mais curtos. "
Mesa 20.3 continua em desenvolvimento ativo e deve ser lançado estável no início de dezembro.
Até a próxima !!
Nenhum comentário:
Postar um comentário