Graças à natureza de código aberto do driver, o driver ATI (AMD) R300 Gallium3D no Mesa está sendo aprimorado de forma ocasional, mesmo para placas gráficas Radeon lançadas há quase duas décadas.
Um desenvolvedor independente de código aberto chamado Pavel Ondračka decidiu otimizar o driver Mesa R300g, focando especialmente na otimização das cargas de registro A0 (ARR/ARL). O objetivo é beneficiar aplicativos e jogos WineD3D, que são softwares do Windows executados em compatibilidade com o Wine no Linux, com chamadas do código WineD3D sendo redirecionadas para o OpenGL. Essas otimizações também beneficiam alguns softwares nativos do OpenGL.
Foram realizados testes em placas de vídeo antigas ATI RV370 e RV530, resultando em melhorias nos shaders gerados para o driver R300g.
Essas melhorias no código vêm quase duas décadas após o lançamento das placas gráficas da série Radeon X300. O driver R300g foi desenvolvido anos depois desse período, quando o esforço para criar um driver de código aberto para as GPUs ATI era principalmente baseado em engenharia reversa pela comunidade. Foi somente depois disso que a AMD iniciou sua estratégia bem conceituada de código aberto para drivers gráficos.
Essas últimas otimizações do driver R300 foram incorporadas ao Mesa 23.2 para o lançamento estável no próximo trimestre.
Além do código implementado por Pavel Ondračka, há também uma solicitação de mesclagem relacionada à cópia NTT para o compilador R300, a fim de aumentar o uso de NIR neste driver mais antigo, em vez de depender exclusivamente do TGSI. Isso pode permitir mais otimizações e tornar o driver R300g mais útil em geral. No entanto, é importante ter em mente que, mesmo com todas essas melhorias no driver, o driver R300g, com suporte para placas gráficas da série Radeon X300 até a X1000 (R500), ainda será consideravelmente lento pelos padrões atuais. Portanto, não espere que ele seja capaz de executar magicamente todo o software OpenGL mais recente nessas GPUs antigas.
Até a próxima !!
Nenhum comentário:
Postar um comentário