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

O lanzamento da implementación gratuíta das API OpenGL e Vulkan - Mesa 22.3.0 - publicouse. A primeira versión da rama Mesa 22.3.0 ten un estado experimental: despois da estabilización final do código, lanzarase unha versión estable 22.3.1.

En Mesa 22.3, o soporte para a API de gráficos Vulkan 1.3 está dispoñible nos controladores anv para GPU Intel, radv para GPU AMD, tu para GPU Qualcomm e no modo emulador (vn). A compatibilidade con Vulkan 1.1 está implementada no rasterizador de software lavapipe (lvp) e Vulkan 1.0 no controlador v3dv (GPU Broadcom VideoCore VI de Raspberry Pi 4).

Mesa tamén ofrece compatibilidade completa con OpenGL 4.6 para os controladores 965, iris (Intel), radeonsi (AMD), zink e llvmpipe. O soporte de OpenGL 4.5 está dispoñible para as GPU AMD (r600), NVIDIA (nvc0) e Qualcomm Adreno (freedreno), OpenGL 4.3 para virgl (GPU virtual virgil3D para QEMU/KVM) e OpenGL 4.2 para o controlador d3d12 (unha capa para organizar OpenGL). traballar enriba de DirectX 12).

Principais novidades:

  • O controlador freedreno para as GPU Qualcomm Adreno ofrece compatibilidade coa API de gráficos OpenGL 4.5 e o controlador do emulador (vn) é compatible coa API Vulkan 1.3.
  • O controlador Panfrost implementa a capacidade de almacenar sombreadores na caché no disco e engade compatibilidade coa GPU Mali T620. O controlador é compatible coa especificación OpenGL 3.1 e OpenGL ES 3.1.
  • O controlador Vulkan RADV (AMD) engadiu compatibilidade coas GPU GFX11/RDNA3 (serie Radeon RX 7000). Optimizouse o código para o trazado de raios. Engadido soporte para os formatos de píxeles R8G8B8, B8G8R8 e R16G16B16, así como os formatos de búfer de vértice de 64 bits. Engadiuse compatibilidade coa marca extendedDynamicState2PatchControlPoints, que determina a compatibilidade coa extensión VK_EXT_extended_dynamic_state2. Radeon Raytracing Analyzer integrado.
  • O paquete inclúe o controlador Rusticle coa implementación da especificación OpenCL 3.0, que define a API e as extensións da linguaxe C para organizar a computación paralela multiplataforma. O controlador está escrito en Rust, desenvolvido usando a interface Gallium proporcionada en Mesa e actúa como un análogo da interface Clover OpenCL presente en Mesa. O trevo leva moito tempo abandonado e rusticl sitúase como o seu futuro substituto. O soporte para Rust e rusticl está desactivado por defecto e require unha compilación con opcións explícitas "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Ao construír, son necesarios o compilador rustc, o xerador de enlaces Bindgen, LLVM, SPIRV-Tools e SPIRV-LLVM-Translator como dependencias adicionais.
  • O controlador RadeonSI inclúe soporte para renderizado multiproceso a través de OpenGL por defecto.
  • Introduciuse Mesa-DB, un novo tipo de caché de sombreadores que almacena datos nun único ficheiro.
  • Engadido soporte para extensións OpenGL:
    • GL_ARB_shader_clock para llvmpipe.
    • GL_KHR_blend_equation_advanced_coherent para zink.
    • GL_NV_shader_atomic_float para llvmpipe.
  • Engadido soporte para extensións Vulkan:
    • VK_KHR_shader_clock para lavapipe.
    • VK_EXT_attachment_feedback_loop_layout para RADV, lavapipe.
    • VK_KHR_global_priority para RADV.
    • VK_EXT_load_store_op_none para RADV.
    • VK_EXT_tipo_descriptor_mutable_para RADV.
    • VK_EXT_shader_atomic_float para lvp.
    • VK_EXT_shader_atomic_float2 para lvp.
    • VK_EXT_image_robustness para v3dv.
    • VK_EXT_extended_dynamic_state3 para lavapipe, RADV e ANV.
    • VK_EXT_extended_dynamic_state2 para RADV.
    • VK_EXT_pipeline_robustness para v3dv.
    • VK_EXT_mesh_shader para ANV.

Fonte: opennet.ru

Engadir un comentario