Uscita di Mesa 26.1, implementazione open source di OpenGL e Vulkan

Dopo tre mesi di sviluppo, è stata presentata la release dell'implementazione open source dell'API OpenGL e Vulkan — Mesa 26.1.0. La prima versione del ramo Mesa 26.1.0 ha uno stato sperimentale — dopo la conclusione della stabilizzazione del codice, verrà rilasciata la versione stabile 26.1.1.

In Mesa 26.1 è disponibile il supporto per l'API grafica Vulkan 1.4 nei driver ANV per GPU Intel, RADV per GPU AMD, NVK per GPU NVIDIA, HoneyKrisp (hk) per GPU Apple, Turnip per GPU Qualcomm, PanVK per GPU ARM Mali, nel rasterizzatore software lavapipe (lvp) e nella modalità emulatore (vn). Nei driver v3dv (GPU Broadcom VideoCore per Raspberry Pi 4+) e dzn (implementazione di Vulkan su Direct3D 12) è supportato Vulkan 1.0, nel driver kk (KosmicKrisp, Vulkan su Metal) è supportato Vulkan 1.1, e nel driver pvr (GPU Imagination PowerVR) è supportato Vulkan 1.2.

Mesa offre anche il supporto completo per OpenGL 4.6 per i driver iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (vecchie GPU Intel Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (GPU virtuale Virgil3D per QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (intermediario per gestire OpenGL sopra DirectX 12) e asahi (GPU AGX utilizzato nei chip Apple M1 e M2). Il supporto per OpenGL 4.5 è disponibile per GPU NVIDIA (nvc0). Il supporto per OpenGL 3.3 è presente nei driver softpipe (rasterizzatore software) e nv50 (NVIDIA NV50). Nei driver panfrost (GPU ARM Mali) e v3d (GPU Broadcom VideoCore) è supportato OpenGL 3.1.

Novità principali:

  • Nei driver per GPU Intel (Iris, Crocus e ANV) è stata aggiunta la possibilità di lavorare direttamente con il GPU da di macchine virtuali, utilizzando contesti nativi (native context) in VirtIO-GPU. I contesti nativi consentono di migliorare le prestazioni del lavoro con il GPU virtuale (virtio-gpu-gl) dal sistema guest grazie alla trasmissione diretta dei comandi al reale GPU host.
  • Per le GPU PowerVR è stato aggiunto il supporto per OpenGL ES 2.0, implementato tramite il driver Zink, che consente di ottenere OpenGL accelerato dall'hardware su dispositivi che supportano l'API Vulkan.
  • Per il driver OpenCL rusticl ora è richiesta una libreria C++ stdlib compilata staticamente affinché funzioni correttamente con le applicazioni che utilizzano la propria C++ stdlib.
  • Nel driver radeonsi (AMD) è stata aggiunta la supporto per l'estensione OpenGL GL_NV_timeline_semaphore.
  • Nel driver panfrost (ARM Mali) è stata aggiunta la supporto per l'estensione OpenGL GL_EXT_shader_image_load_store.
  • Nel driver v3d (Broadcom VideoCore) è stata aggiunta la supporto per l'estensione OpenGL GL_ARB_sample_shading.
  • È stato aggiunto il supporto per le estensioni Vulkan:
    • VK_ARM_scheduling_controls per panvk
    • VK_EXT_acquire_drm_display per panvk
    • VK_EXT_astc_decode_mode per panvk
    • VK_EXT_attachment_feedback_loop_dynamic_state per panvk
    • VK_EXT_attachment_feedback_loop_layout per panvk
    • VK_EXT_blend_operation_advanced per lavapipe
    • VK_EXT_color_write_enable per panvk
    • VK_EXT_conditional_rendering per panvk
    • VK_EXT_depth_clamp_control per panvk
    • VK_EXT_descriptor_heap per RADV (impostando ‘export RADV_EXPERIMENTAL=heap’)
    • VK_EXT_hdr_metadata per v3dv
    • VK_EXT_image_drm_format_modifier per pvr
    • VK_EXT_image_view_min_lod per panvk
    • VK_EXT_legacy_dithering per panvk
    • VK_EXT_map_memory_placed per panvk
    • VK_EXT_nested_command_buffer per panvk
    • VK_EXT_non_seamless_cube_map per pvr
    • VK_EXT_present_timing per RADV, NVK, Turnip, ANV, Honeykrisp, panvk
    • VK_EXT_primitive_restart_index per RADV
    • VK_EXT_rgba10x6_formats per panvk
    • VK_EXT_shader_atomic_float per panvk
    • VK_EXT_shader_stencil_export per panvk
    • VK_EXT_zero_initialize_device_memory per panvk
    • VK_KHR_copy_memory_indirect per nvk, RADV/GFX8+
    • VK_KHR_device_address_commands per RADV
    • VK_{KHR,EXT}_{surface,swapchain}_maintenance1 per panvk
    • VK_KHR_get_display_properties2 per panvk
    • VK_KHR_get_surface_capabilities2 per panvk
    • VK_KHR_internally_synchronized_queues per RADV
    • VK_KHR_maintenance4 per pvr
    • VK_KHR_pipeline_executable_properties per pvr
    • VK_KHR_present_id per panvk, v3dv
    • VK_KHR_present_wait per panvk, v3dv
    • VK_KHR_sampler_ycbcr_conversion per pvr
    • VK_KHR_shader_integer_dot_product per pvr
    • VK_KHR_shader_untyped_pointers per panvk
    • VK_KHR_swapchain_mutable_format per panvk
    • VK_QCOM_image_processing per Turnip
    • VK_VALVE_mutable_descriptor_type per panvk
    • VK_VALVE_shader_mixed_float_dot_product per RADV (Vega20, Navi14, RDNA2+)
  • Le estensioni OpenCL sono implementate:
    • cl_khr_subgroup_ballot per asahi, iris, llvmpipe, radeonsi e zink
    • cl_khr_subgroup_clustered_reduce per asahi, llvmpipe, radeonsi e zink
    • cl_khr_subgroup_extended_types per asahi, iris, llvmpipe, radeonsi e zink
    • cl_khr_subgroup_non_uniform_arithmetic per asahi, llvmpipe, radeonsi e zink
    • cl_khr_subgroup_non_uniform_vote per asahi, iris, llvmpipe, radeonsi e zink
    • cl_khr_subgroup_rotate per asahi, llvmpipe e zink
  • Il driver VirGL con implementazione GPU virtuale per QEMU non è più supportato e sarà rimosso se non si trova qualcuno disposto a prendersene cura.

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster