FERRAMENTAS LINUX: O Freedreno Gallium3D está trabalhando para reduzir sua sobrecarga de driver

domingo, 28 de outubro de 2018

O Freedreno Gallium3D está trabalhando para reduzir sua sobrecarga de driver




Confira !!



Com o suporte de driver 3D / OpenGL de engenharia reversa do driver Freedreno Gallium3D para hardware da Qualcomm Adreno em boa forma hoje em dia, mesmo para a série Adreno 600 de última geração, os desenvolvedores começaram a trabalhar em mais otimizações - incluindo uma novo esforço tentando reduzir a sobrecarga do driver OpenGL.

O fundador da Freedreno, Rob Clark, está liderando o trabalho de redução do overhead do driver Freedreno Gallium3D. Como parte disso, ele percebeu que o código de libdrm Freedreno existente, que fica entre o Mesa e o código DRM do kernel, deveria ser reprojetado. Rob observou "como o driver de gálio está começando a fazer uso mais pesado de grupos / objetos de estado CP_SET_DRAW_STATE, a sobrecarga de rastreamento de buffers e relocs de cmd torna-se demais. E para o estado "streaming", que nunca é reutilizado (como uploads uniformes), a sobrecarga de alocar / liberar objetos de ringbuffer é muito alta. "

Então ele levou para redesenhar este código libdrm_freedreno com algumas melhorias fundamentais de design. Mas como as mudanças estão quebrando o suficiente para que ele precise adicionar uma nova cópia do código à libdrm, ele levou para integrar o código diretamente na Mesa.

Assim, a partir do mais recente Mesa 18.3 Git, o driver Freedreno agrupa em seu próprio código para substituir o que anteriormente estava dentro do libdrm e isso não é mais uma dependência de compilação para este driver. Integrar esse código diretamente ao Mesa também permite reutilizar parte da tabela de hash do Mesa, o código do alocador e outros bits. Isso também permite que os desenvolvedores da Freedreno desenvolvam mais facilmente a API, em vez de precisarem se preocupar com a compatibilidade da API com uma API existente. Alguns dos outros desenvolvedores de Mesa falaram no passado sobre puxar seus bits de driver de librm para o próprio Mesa também.

A partir deste envio mesclado na sexta-feira, o novo código Freedreno está em vigor. Isso foi seguido por muitas outras correções, limpezas e melhorias a tempo para a ramificação do Mesa 18.3 e o congelamento de recursos chegando em poucos dias.

Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário