Rilis Mesa 26.1, implementasine gratis saka OpenGL lan Vulkan

Sawisé telung sasi pangembangan, implementasi open source saka OpenGL lan Vulkan API, Mesa 26.1.0, wis dirilis. Rilis pisanan saka cabang Mesa 26.1.0 isih eksperimental; sawisé kode wis stabil kanthi lengkap, versi stabil, 26.1.1, bakal dirilis.

Mesa 26.1 nambah dhukungan kanggo API grafis Vulkan 1.4 ing driver ANV kanggo Intel GPU, RADV kanggo AMD GPU, NVK kanggo NVIDIA GPU, HoneyKrisp (hk) kanggo Apple GPU, Turnip kanggo Qualcomm GPU, PanVK kanggo ARM Mali GPU, rasterizer software lavapipe (lvp), lan mode emulator (vn). Driver v3dv (Broadcom VideoCore GPU kanggo Raspberry Pi 4+) lan dzn (Vulkan liwat Direct3D 12) ndhukung Vulkan 1.0, driver kk (KosmicKrisp, Vulkan liwat Metal) ndhukung Vulkan 1.1, lan driver pvr (Imajinasi PowerVR GPU) ndhukung Vulkan 1.2.

Mesa uga nyedhiyakake dhukungan OpenGL 4.6 lengkap kanggo iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (GPU Intel Gen4-Gen7 lawas), AMD (r600), zink, llvmpipe, virgl (virgil3D virtual GPU kanggo QEMU/KVM), freedreno (Qualcompend3 ndhuwur), lan lapisan Direct asahi (GPU AGX digunakake ing chip Apple M12 lan M12). Dhukungan OpenGL 1 kasedhiya kanggo GPU NVIDIA (nvc2). Dhukungan OpenGL 4.5 kasedhiya ing driver softpipe (software rasterizer) lan nv0 (NVIDIA NV3.3). OpenGL 50 didhukung ing driver panfrost (ARM Mali GPU) lan v50d (Broadcom VideoCore GPU).

Inovasi utama:

  • Driver kanggo GPU Intel (Iris, Crocus, lan ANV) saiki ndhukung akses GPU langsung saka mesin virtual nggunakake konteks asli ing VirtIO-GPU. Konteks asli nambah kinerja nalika nggarap GPU virtual (virtio-gpu-gl) ing sistem tamu kanthi ngirim printah langsung menyang GPU host sing nyata.
  • Dhukungan OpenGL ES 2.0 wis ditambahake kanggo GPU PowerVR liwat driver Zink, sing ngaktifake OpenGL sing diakselerasi perangkat keras ing piranti sing ndhukung Vulkan API.
  • Driver OpenCL rusticl saiki mbutuhake stdlib C++ sing disambungake sacara statis supaya bisa digunakake kanthi bener karo aplikasi sing nggunakake stdlib C++ asli.
  • Driver radeonsi (AMD) wis nambahake dhukungan kanggo ekstensi OpenGL GL_NV_timeline_semaphore.
  • Driver panfrost (ARM Mali) saiki ndhukung ekstensi OpenGL GL_EXT_shader_image_load_store.
  • Driver v3d (Broadcom VideoCore) saiki ndhukung ekstensi OpenGL GL_ARB_sample_shading.
  • Dhukungan tambahan kanggo ekstensi Vulkan:
    • Kontrol_penjadwalan_VK_ARM kanggo panvk
    • VK_EXT_acquire_drm_display kanggo panvk
    • VK_EXT_astc_decode_mode kanggo panvk
    • VK_EXT_attachment_feedback_loop_dynamic_state kanggo panvk
    • Tata letak loop_lampiran_feedback_VK_EXT_kanggo panvk
    • VK_EXT_blend_operation_advanced kanggo lavapipe
    • VK_EXT_color_write_enable kanggo panvk
    • VK_EXT_conditional_rendering kanggo panvk
    • Kontrol_jembatan_jero_VK_EXT_kanggo_panvk
    • VK_EXT_descriptor_heap kanggo RADV (nalika nyetel 'ekspor RADV_EXPERIMENTAL=heap')
    • VK_EXT_hdr_metadata kanggo v3dv
    • VK_EXT_image_drm_format_modifier kanggo pvr
    • VK_EXT_image_view_min_lod kanggo panvk
    • VK_EXT_legacy_dithering kanggo panvk
    • VK_EXT_map_memory_dilebokake kanggo panvk
    • VK_EXT_nested_command_buffer kanggo panvk
    • VK_EXT_non_seamless_cube_map kanggo pvr
    • VK_EXT_present_timing kanggo RADV, NVK, Turnip, ANV, Honeykrisp, panvk
    • VK_EXT_primitive_restart_index kanggo RADV
    • VK_EXT_rgba10x6_formats kanggo panvk
    • VK_EXT_shader_atomic_float kanggo panvk
    • Ekspor stensil VK_EXT_shader_kanggo panvk
    • VK_EXT_zero_initialize_device_memory kanggo panvk
    • VK_KHR_copy_memory_indirect kanggo nvk, RADV/GFX8+
    • Perintah VK_KHR_device_address_kanggo RADV
    • VK_{KHR,EXT}_{surface,swapchain}_maintenance1 kanggo panvk
    • VK_KHR_get_display_properties2 kanggo panvk
    • VK_KHR_get_surface_capabilities2 kanggo panvk
    • Antrian_sinkron_internal_VK_KHR_kanggo RADV
    • VK_KHR_maintenance4 kanggo pvr
    • Properti VK_KHR_pipeline_executable_kanggo pvr
    • VK_KHR_present_id kanggo panvk, v3dv
    • VK_KHR_present_enteni panvk, v3dv
    • Konversi VK_KHR_sampler_ycbcr kanggo pvr
    • VK_KHR_shader_integer_dot_product kanggo pvr
    • VK_KHR_shader_untyped_pointers kanggo panvk
    • VK_KHR_swapchain_mutable_format kanggo panvk
    • Pangolahan gambar VK_QCOM kanggo Turnip
    • Tipe_deskriptor_VK_VALVE_mutable_kanggo panvk
    • Produk VK_VALVE_shader_mixed_float_dot_kanggo RADV (Vega20, Navi14, RDNA2+)
  • Ekstensi OpenCL dileksanakake:
    • cl_khr_subgroup_ballot kanggo asahi, iris, llvmpipe, radeonsi lan zink
    • cl_xr_subgroup_clustered_reduce kanggo asahi, llvmpipe, radeonsi, lan zink
    • cl_khr_subgroup_extended_types kanggo asahi, iris, llvmpipe, radeonsi lan zink
    • cl_khr_subgroup_non_uniform_arithmetic kanggo asahi, llvmpipe, radeonsi lan zink
    • cl_khr_subgroup_non_uniform_vote kanggo asahi, iris, llvmpipe, radeonsi lan zink
    • cl_khr_subgroup_rotate kanggo asahi, llvmpipe lan zink
  • Driver VirGL, sing ngleksanakake GPU virtual kanggo QEMU, ora dirawat maneh lan bakal dicopot kajaba ana wong sing gelem ngurusi perawatan kasebut.

Source: opennet.ru