Ngemva kwezinyanga ezintathu zokuthuthukiswa, ukusetshenziswa komthombo ovulekile we-OpenGL kanye ne-Vulkan APIs, i-Mesa 26.1.0, sekukhishwe. Ukukhishwa kokuqala kwegatsha le-Mesa 26.1.0 kuyahlolwa; ngemva kokuba ikhodi isizinzile ngokugcwele, inguqulo eqinile, i-26.1.1, izokhishwa.
I-Mesa 26.1 yengeza ukusekelwa kwe-Vulkan 1.4 graphics API kubashayeli be-ANV be-Intel GPUs, i-RADV ye-AMD GPUs, i-NVK ye-NVIDIA GPUs, i-HoneyKrisp (hk) ye-Apple GPUs, i-Turnip ye-Qualcomm GPUs, i-PanVK ye-ARM Malilator GPUs, isofthiwe ye-lavapip (raster) ye-lavapipe (raster). I-v3dv (Broadcom VideoCore GPU ye-Raspberry Pi 4+) kanye ne-dzn (Vulkan over Direct3D 12) abashayeli basekela i-Vulkan 1.0, umshayeli we-kk (KosmicKrisp, Vulkan over Metal) usekela i-Vulkan 1.1, futhi umshayeli we-pvr (Imagination PowerVR VR1.2) usekela i-Vulkan.
I-Mesa iphinde inikeze ukusekelwa okugcwele kwe-OpenGL 4.6 kwe-iris (Intel Gen 8+ GPUs), i-radeonsi (AMD), i-Crocus (i-Intel Gen4-Gen7 GPUs endala), i-AMD (r600), i-zink, i-llvmpipe, i-virgl (i-virgil3D virtual GPU ye-QEMU/KVM), i-freedreno (i-Qualcomm 3G Direct i-Adreno) 12), kanye ne-asahi (AGX GPU esetshenziswa ku-Apple M12 kanye ne-M1 chips). Usekelo lwe-OpenGL 2 luyatholakala kuma-GPU we-NVIDIA (nvc4.5). Ukusekelwa kwe-OpenGL 0 kuyatholakala ku-softpipe (software rasterizer) kanye nezishayeli ze-nv3.3 (NVIDIA NV50). I-OpenGL 50 isekelwa ku-panfrost (ARM Mali GPU) kanye nezishayeli ze-v3d (Broadcom VideoCore GPU).
Okuqanjiwe okuyinhloko:
- В драйверы для GPU Intel (Iris, Crocus и ANV) добавлена возможность напрямую работать с GPU из виртуальных машин, используя нативные контексты (native context) в VirtIO-GPU. Нативные контексты позволяют повысить производительность работы с виртуальным GPU (virtio-gpu-gl) из гостевой системы за счёт прямой передачи команд в реальный хостовый GPU.
- Для GPU PowerVR добавлена поддержка OpenGL ES 2.0, реализованная через драйвер Zink, позволяющий получить аппаратно ускоренный OpenGL на устройствах, поддерживающих API Vulkan.
- Для OpenCL-драйвера rusticl теперь требуется статически собранная библиотека C++ stdlib для корректной работы с приложениями, использующими собственные C++ stdlib.
- В драйвер radeonsi (AMD) добавлена поддержка OpenGL-расширения GL_NV_timeline_semaphore.
- В драйвер panfrost (ARM Mali) добавлена поддержка OpenGL-расширения GL_EXT_shader_image_load_store.
- В драйвер v3d (Broadcom VideoCore) добавлена поддержка OpenGL-расширения GL_ARB_sample_shading.
- Usekelo olungeziwe lwezandiso ze-Vulkan:
- VK_ARM_scheduling_controls для panvk
- VK_EXT_acquire_drm_display для panvk
- VK_EXT_astc_decode_mode для panvk
- VK_EXT_attachment_feedback_loop_dynamic_state для panvk
- VK_EXT_attachment_feedback_loop_layout для panvk
- VK_EXT_blend_operation_advanced для lavapipe
- VK_EXT_color_write_enable для panvk
- VK_EXT_conditional_rendering для panvk
- VK_EXT_depth_clamp_control для panvk
- VK_EXT_descriptor_heap для RADV (при выставлении ‘export RADV_EXPERIMENTAL=heap’)
- VK_EXT_hdr_metadata для v3dv
- VK_EXT_image_drm_format_modifier для pvr
- VK_EXT_image_view_min_lod для panvk
- VK_EXT_legacy_dithering для panvk
- VK_EXT_map_memory_placed для panvk
- VK_EXT_nested_command_buffer для panvk
- VK_EXT_non_seamless_cube_map для pvr
- VK_EXT_present_timing для RADV, NVK, Turnip, ANV, Honeykrisp, panvk
- VK_EXT_primitive_restart_index для RADV
- VK_EXT_rgba10x6_formats для panvk
- VK_EXT_shader_atomic_float для panvk
- VK_EXT_shader_stencil_export для panvk
- VK_EXT_zero_initialize_device_memory для panvk
- VK_KHR_copy_memory_indirect для nvk, RADV/GFX8+
- VK_KHR_device_address_commands для RADV
- VK_{KHR,EXT}_{surface,swapchain}_maintenance1 для panvk
- VK_KHR_get_display_properties2 для panvk
- VK_KHR_get_surface_capabilities2 для panvk
- VK_KHR_internally_synchronized_queues для RADV
- VK_KHR_maintenance4 для pvr
- VK_KHR_pipeline_executable_properties для pvr
- VK_KHR_present_id для panvk, v3dv
- VK_KHR_present_wait для panvk, v3dv
- VK_KHR_sampler_ycbcr_conversion для pvr
- VK_KHR_shader_integer_dot_product для pvr
- VK_KHR_shader_untyped_pointers для panvk
- VK_KHR_swapchain_mutable_format для panvk
- VK_QCOM_image_processing для Turnip
- VK_VALVE_mutable_descriptor_type для panvk
- VK_VALVE_shader_mixed_float_dot_product для RADV (Vega20, Navi14, RDNA2+)
- Izandiso ze-OpenCL zifakiwe:
- cl_khr_subgroup_ballot для asahi, iris, llvmpipe, radeonsi и zink
- cl_khr_subgroup_clustered_reduce для asahi, llvmpipe, radeonsi и zink
- cl_khr_subgroup_extended_types для asahi, iris, llvmpipe, radeonsi и zink
- cl_khr_subgroup_non_uniform_arithmetic для asahi, llvmpipe, radeonsi и zink
- cl_khr_subgroup_non_uniform_vote для asahi, iris, llvmpipe, radeonsi и zink
- cl_khr_subgroup_rotate для asahi, llvmpipe и zink
- Драйвер VirGL с реализацией виртуального GPU для QEMU остался без сопровождения и будет удалён, если не найдётся желающий взять его сопровождение в свои руки.
Source: opennet.ru
