Devs do driver Nouveau preparam nova extensão OpenGL para ajudar na engenharia reversa


Os desenvolvedores do Nouveau, driver open source para GPUs NVIDIA no Linux, estão elaborando uma nova extensão para o OpenGL, chamada GL_MESA_debug_operations, para ajudar nos esforços de engenharia reversa dos drivers, tornando mais fácil inserir comandos arbitrários em shaders existentes para entender melhor essas operações em diferentes combinações.

Inicialmente, a nova extensão está sendo projetada para auxiliar os desenvolvedores a entender o comportamento do hardware da NVIDIA, mas poderia ter casos de uso de outros drivers OpenGL de engenharia reversa, como é o caso do Freedreno, Panfrost/Lima, Etnaviv e outros. Também é possível que isso possa ser usado como um tipo de teste para diferentes operações e comportamentos de shader.

Em sua proposta, Ilia Mirkin, do projeto Nouveau, descreve o seguinte:
"Muitas vezes, o hardware tem operações que possuem semânticas mal compreendidas, especialmente em combinação com flags, modos e etc. Como tal, pode ser desejável inserir essas operações no meio de um shader existente para ver o que elas farão.

Opções para fazer isso são poucas - ou uma pilha separada completa precisa ser criada para poder enviar esse shader para o hardware e coletar os resultados, ou uma operação existente precisa ser assumida. Isso faz com que seja necessário lidar com todas as limitações existentes dessa operação.

Esta extensão introduz operações genéricas que podem ser usadas durante atividades de engenharia reversa. Essas operações são facilmente inseridas em um shader e o driver pode ser facilmente modificado para executar qualquer operação desejada ao ver essas novas operações genéricas."

A extensão ainda não foi enviada ao Khronos Group ou OpenGL Working Group, mas no último domingo foi anunciada no Mesa-dev para discussão pelos desenvolvedores do Mesa.


FONTE: Phoronix

Comentários