Ukukhutshwa kweMesa 26.1, ukuphunyezwa kwamahhala kwe-OpenGL kunye neVulkan

Emva kweenyanga ezintathu zophuhliso, ukuphunyezwa komthombo ovulekileyo we-OpenGL kunye ne-Vulkan APIs, iMesa 26.1.0, kukhutshiwe. Ukukhutshwa kokuqala kwesebe leMesa 26.1.0 kuyavavanywa; emva kokuba ikhowudi izinzile ngokupheleleyo, inguqulelo ezinzileyo, i-26.1.1, iya kukhutshwa.

I-Mesa 26.1 yongeza inkxaso ye-API yemizobo ye-Vulkan 1.4 kubaqhubi 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, i-lavapipe mode ye-raster (i-raster) I-v3dv (i-Broadcom VideoCore GPU ye-Raspberry Pi 4+) kunye ne-dzn (i-Vulkan phezu kwe-Direct3D 12) abaqhubi baxhasa i-Vulkan 1.0, umqhubi we-kk (KosmicKrisp, Vulkan phezu kweMetal) ixhasa i-Vulkan 1.1, kunye nomqhubi we-pvr (Imagination PowerVR2 GPU2) ixhasa iVulkan 1.1.

I-Mesa ikwabonelela ngenkxaso epheleleyo ye-OpenGL 4.6 ye-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 ebonakalayo ye-GPU ye-QEMU/KVM), i-freedreno (i-Qualcomm3 ephezulu ye-Adreno ye-Adreno) 12), kunye ne-asahi (i-AGX GPU esetyenziswa kwi-Apple M12 kunye ne-M1 chips). Inkxaso ye-OpenGL 2 iyafumaneka kwi-NVIDIA (nvc4.5) GPUs. Inkxaso ye-OpenGL 0 iyafumaneka kwi-softpipe (isoftware rasterizer) kunye ne-nv3.3 (NVIDIA NV50) abaqhubi. I-OpenGL 50 ixhaswa kwi-panfrost (ARM Mali GPU) kunye ne-v3d (Broadcom VideoCore GPU) abaqhubi.

Iinguqulelo eziphambili:

  • Abaqhubi be-Intel GPUs (Iris, Crocus, kunye ne-ANV) ngoku baxhasa ukufikelela ngqo kwi-GPU ukusuka kwiimatshini ezibonakalayo ezisebenzisa iimeko zendalo kwi-VirtIO-GPU. Iimeko zendalo ziphucula ukusebenza xa zisebenza nge-GPU ebonakalayo (virtio-gpu-gl) kwinkqubo yeendwendwe ngokudlulisela ngqo imiyalelo kwi-GPU yokwenyani.
  • Inkxaso ye-OpenGL ES 2.0 yongezwe kwi-PowerVR GPUs nge-Zink driver, ivumela i-OpenGL ekhawulezisiweyo kwizixhobo ezixhasa i-Vulkan API.
  • I-rusticl OpenCL driver ngoku ifuna i-stdlib ye-C++ edityaniswe ngokweenkcukacha ukuze isebenze ngokuchanekileyo nezicelo ezisebenzisa i-stdlibs zemveli ze-C++.
  • I-radeonsi driver (AMD) yongeze inkxaso kwi-GL_NV_timeline_semaphore OpenGL extension.
  • I-panfrost driver (ARM Mali) ngoku ixhasa ulwandiso lwe-OpenGL GL_EXT_shader_image_load_store.
  • I-v3d driver (Broadcom VideoCore) ngoku ixhasa ulwandiso lwe-GL_ARB_sample_shading OpenGL.
  • Inkxaso eyongeziweyo yezandiso zeVulkan:
    • VK_ARM_scheduling_controls ze-panvk
    • I-VK_EXT_acquire_drm_display ye-panvk
    • Imo ye-VK_EXT_astc_decode_mode ye-panvk
    • I-VK_EXT_attachment_feedback_loop_dynamic_state ye-panvk
    • I-VK_EXT_attachment_feedback_loop_layout ye-panvk
    • I-VK_EXT_blend_operation_advanced ye-lavapipe
    • I-VK_EXT_color_write_enable ye-panvk
    • Ukunikezelwa kwe-VK_EXT_conditional_kwe-panvk
    • VK_EXT_depth_clamp_control ye-panvk
    • I-VK_EXT_descriptor_heap ye-RADV (xa useta 'export RADV_EXPERIMENTAL=heap')
    • I-VK_EXT_hdr_metadata ye-v3dv
    • I-VK_EXT_image_drm_format_modifier ye-pvr
    • VK_EXT_image_view_min_lod ye panvk
    • I-VK_EXT_legacy_dithering ye-panvk
    • I-VK_EXT_map_memory_ibekwe kwi-panvk
    • I-VK_EXT_nested_command_buffer ye-panvk
    • imephu ye-VK_EXT_non_seamless_cube_ye-pvr
    • I-VK_EXT_present_timing ye-RADV, NVK, Turnip, ANV, Honeykrisp, panvk
    • I-VK_EXT_primitive_restart_index ye-RADV
    • Iifomati ze-VK_EXT_rgba10x6 ze-panvk
    • I-VK_EXT_shader_atomic_float ye-panvk
    • I-VK_EXT_shader_stencil_export ye-panvk
    • VK_EXT_zero_initialize_device_memory ye-panvk
    • I-VK_KHR_copy_memory_indirect ye-nvk, RADV/GFX8+
    • Imiyalelo ye-VK_KHR_device_address_yeRADV
    • VK_{KHR,EXT}_{surface,swapchain}_maintenance1 ye-panvk
    • I-VK_KHR_get_display_properties2 ye-panvk
    • VK_KHR_get_surface_capbilities2 ye panvk
    • Imigca_ye-VK_KHR_internally_synchronized_queues ye-RADV
    • VK_KHR_maintenance4 ye-pvr
    • Iiproperties_ezinokusebenziseka_ze-VK_KHR_pipeline_executable_properties ze-pvr
    • I-VK_KHR_present_id ye-panvk, v3dv
    • VK_KHR_present_wait for panvk, v3dv
    • Uguqulelo lwe-VK_KHR_sampler_ycbcr_lwe-pvr
    • Imveliso ye-VK_KHR_shader_integer_dot_ye-pvr
    • Izikhombisi-ndlela ze-VK_KHR_shader_untyped ze-panvk
    • Ifomathi_ye-VK_KHR_swapchain_mutable_ye-panvk
    • Ukucubungula umfanekiso we-VK_QCOM weTurnip
    • Uhlobo_lwe-VK_VALVE_mutable_descriptor_type lwe-panvk
    • Imveliso_ye-VK_VALVE_shader_mixed_float_dot_yeRADV (Vega20, Navi14, RDNA2+)
  • Izandiso ze-OpenCL ziphunyeziwe:
    • i-cl_khr_subgroup_ballot ye-asahi, iris, llvmpipe, radeonsi kunye ne-zink
    • cl_xr_subgroup_clustered_reduce ye-asahi, llvmpipe, radeonsi, kunye ne-zink
    • Iintlobo_ze_subgroup_extended_types ze-asahi, iris, llvmpipe, radeonsi kunye ne-zink
    • i-cl_khr_subgroup_non_uniform_arithmetic ye-asahi, i-llvmpipe, i-radeonsi kunye ne-zink
    • cl_khr_subgroup_non_uniform_vote for asahi, iris, llvmpipe, radeonsi kunye ne-zink
    • cl_khr_subgroup_rotate ye-asahi, i-llvmpipe kunye ne-zink
  • I-VirGL driver, esebenzisa i-virtual GPU ye-QEMU, ayisasetyenziswa kwaye iza kususwa ngaphandle kokuba umntu uzimisele ukuthatha ulondolozo lwayo.

umthombo: opennet.ru