Lanzamento de Mesa 20.2.0, unha implementación gratuíta de OpenGL e Vulkan

Presentado lanzamento dunha implementación gratuíta da API OpenGL e Vulkan - Mesa 20.2.0. Na Mesa 20.2 implementado soporte completo de OpenGL 4.6 para GPU Intel (i965, iris) e AMD (radeonsi), soporte OpenGL 4.5 para GPU AMD (r600), NVIDIA (nvc0) e llvmpipe, OpenGL 4.3 para virgl (GPU virtual) Virxilio 3D para QEMU/KVM), así como compatibilidade con Vulkan 1.2 para tarxetas Intel e AMD.

entre cambios:

  • No condutor lvmpipe, deseñado para renderizar software, admite OpenGL 4.5.
  • O controlador RADV Vulkan (para tarxetas AMD) usa o compilador shader por defecto "ACO", que está a ser desenvolvido por Valve como unha alternativa ao compilador de shader LLVM. ACO está escrito en C++, deseñado pensando na compilación JIT, e ten como obxectivo proporcionar unha xeración de código o máis óptima posible para os sombreadores de xogos, ademais de acadar velocidades de compilación moi altas.
  • Engadiuse soporte inicial para as GPU AMD Navi 21 (Navy Flounder) e Navi 22 (Sienna Cichlid).
  • Os controladores de GPU Intel melloraron a compatibilidade con chips baseados na microarquitectura Lago foguete и engadido soporte inicial para tarxetas discretas Intel Xe DG1.
  • Ampliáronse as capacidades do controlador Gallium3D Zink, que implementa a API OpenGL enriba de Vulkan. Zink permítelle obter OpenGL acelerado por hardware se o sistema ten controladores limitados a admitir só a API Vulkan.
  • O controlador Gallium3D Nouveau NVC0 usa HMM (xestor de memoria heteroxénea) para soportar OpenCL SVM (Memoria Virtual Compartida).
  • No condutor panfrost Estabilizouse a compatibilidade de renderizado 3D para GPU Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx).
  • RadeonSI inclúe melloras relacionadas coa virtualización da GPU.
  • Engadido soporte para almacenamento en caché de disco da representación intermedia TGSI (Tungsten Graphics Shader Infrastructure).
  • Engadíronse novas extensións OpenGL:
    • GL_ARB_compute_variable_group_size para Intel Iris.
    • GL_ARB_gl_spirv para Nouveau nvc0.
    • GL_NV_half_float para Nouveau nvc0.
    • GL_NV_copy_depth_to_color para Nouveau nvc0.
    • GL_ARB_spirv_extensions para Nouveau nvc0.
    • GL_EXT_shader_group_vote para llvmpipe.
    • GL_ARB_gpu_shader5 para llvmpipe.
    • GL_ARB_post_depth_coverage para llvmpipe.
    • GL_EXT_texture_shadow_lod para llvmpipe.
  • Engadiuse compatibilidade para a extensión EGL EGL_KHR_swap_buffers_with_damage (para X11 DRI3), así como as extensións GLX GLX_EXT_swap_control (DRI2, DRI3) e GLX_EXT_swap_control_tear (DRI3).
  • Engadíronse extensións ao controlador RADV Vulkan (para tarxetas AMD):
    • VK_EXT_4444_formats
    • Modelo_memoria_VK_KHR
    • VK_AMD_texture_gather_bias_lod
    • VK_AMD_gpu_shader_half_float
    • VK_AMD_gpu_shader_int16
    • VK_EXT_estado_dinámico_estendido
    • VK_EXT_robusteza da imaxe
    • VK_EXT_data_privados
    • VK_EXT_color_border_personalizado
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_control_tamaño_subgrupo
    • VK_GOOGLE_user_type
    • VK_KHR_shader_subgroup_extended_types
  • Engadíronse extensións ao controlador ANV Vulkan (para tarxetas Intel):
    • VK_EXT_robusteza da imaxe
    • VK_EXT_shader_atomic_float
    • VK_EXT_4444_formats
    • VK_EXT_estado_dinámico_estendido
    • VK_EXT_data_privados
    • VK_EXT_color_border_personalizado
    • VK_EXT_pipeline_creation_cache_control

Fonte: opennet.ru

Engadir un comentario