
Foi apresentado o lançamento da nova versão da implementação gratuita do OpenGL e Vulkan, o Mesa 19.2.0, sendo a primeira versão do ramo Mesa 19.2.0 que possui um status experimental, pois após a estabilização final do código , uma versão estável 19.2.1 será lançada.
Para aqueles que desconhecem os drivers MESA, são os drivers de software Linux de código aberto disponíveis para hardware AMD, NVIDIA e Intel. O projeto Mesa começou como uma implementação de código aberto da especificação OpenGL (um sistema para renderização de gráficos 3D interativos).
Ao longo dos anos, o projeto cresceu para implementar mais APIs gráficas, incluindo OpenGL ES (versões 1, 2, 3), OpenCL, OpenMAX, VDPAU, API VA, XvMC e Vulkan.
Uma variedade de drivers de dispositivos permite que as bibliotecas do Mesa sejam usadas em muitos ambientes diferentes, desde a emulação de software até a completa aceleração de hardware das GPUs modernas.
O Mesa implementa uma camada de conversão independente do fabricante entre uma API gráfica, como o OpenGL, e os drivers gráficos no sistema operacional principal.
Além de aplicativos 3D, como jogos, os servidores gráficos usam chamadas OpenGL/EGL para produzir a imagem da tela.
Principais novidades do Mesa 19.2.0
Esta nova versão do Mesa 19.2 fornece suporte completo ao OpenGL 4.5 para controladores i965, radeonsi e nvc0, suporte ao Vulkan 1.1 para placas Intel e AMD, bem como suporte para o padrão OpenGL 4.6 para placas Intel.
Os drivers (i965, íris) para placas gráficas Intel (gen7 +) oferecem suporte completo ao OpenGL 4.6 e ao idioma para descrever os shaders GLSL 4.60.
Antes de fornecer suporte ao OpenGL 4.6 nos drivers radeonsi (AMD) e nvc0 (NVIDIA), resta implementar as extensões GL_ARB_gl_spirv e GL_ARB_spirv_extensions, que foram adicionadas ao controlador i965 em agosto.
A expansão da funcionalidade do novo controlador Iris para GPUs Intel continuou, o que em termos de recursos quase atingiu a paridade com o controlador i965.
O controlador Iris é baseado na arquitetura Gallium3D, que leva tarefas de gerenciamento de memória para o controlador DRI no kernel Linux e fornece um rastreador de status pronto para uso, com suporte para o cache de reutilização de objetos de saída.
O controlador suporta apenas GPUs baseadas na microarquitetura Gen8 + (Broadwell, Skylake) com GPUs HD, UHD e Iris.
No caso dos drivers e RADV RadeonSI nesta nova versão do Mesa 19.2.0, foram adicionados suporte para a GPU AMD Navi 10 (Radeon RX 5700) e suporte inicial para Navi 14.
O driver RadeonSI também adicionou suporte futuro a APU Renoir (Zen 2 c GPU Navi) e parcialmente Arcturus (enquanto apenas os recursos computacionais e o mecanismo de decodificação de vídeo VCN 2.5, sem 3D).
Nos drivers Gallium3D R600 para algumas placas AMD mais antigas (HD 5800/6900) fornecidas com suporte ao OpenGL 4.5.
Além disso, esta nova versão inclui as novas extensões OpenGL adicionadas:
- GL_ARB_post_depth_coverage para o driver radeonsi (Navi)
- GL_ARB_seamless_cubemap_per_texture para o driver etnaviv (compatível com SEAMLESS_CUBE_MAP na GPU)
- GL_EXT_shader_image_load_store para o controlador radeonsi (com LLVM 10+)
- GL_EXT_shader_samples_identical para drivers íris e radeonsi (se o NIR for usado)
- GL_EXT_texture_shadow_lod para i965 e drivers do íris
Bem como extensões ao driver Vulkan RADV (para placas AMD):
- VK_AMD_buffer_marker
- VK_EXT_index_type_uint8
- VK_EXT_post_depth_coverage
- VK_EXT_queue_family_foreign
- VK_EXT_sample_locations
- VK_KHR_depth_stencil_resolve
- VK_KHR_imageless_framebuffer
- VK_KHR_shader_atomic_int64
- VK_KHR_uniform_buffer_standard_layout
E uma extensão para o driver Vulkan ANV (para placas Intel):
- VK_EXT_shader_demote_to_helper_invocation
Das outras alterações anunciadas nesta nova versão dos drivers:
- Para o RadeonSI, foi introduzido um novo vinculador de tempo de execução: rtld;
- Otimização de desempenho de drivers RADV e Virgl
- O driver Panfrost para GPUs baseadas em microarquiteturas Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) e Bifrost (Mali G3x, G5x, G7x) usado em muitos dispositivos com processadores ARM foi estendido. Agora, os recursos do driver são suficientes para o GNOME Shell funcionar
- Adicionada a extensão EGL proposta pela NVIDIA EGL_EXT_platform_device, que permite inicializar o EGL sem acessar a API específica do dispositivo
Por fim, aguardar a nova versão dos drivers Mesa começar a ser distribuída nas principais distribuições Linux nos próximos dias.