Mesa 26.1 väljaanne, avatud OpenGL-i ja Vulkan-i teostus

Pärast kolme kuud arendust on välja antud vabalt kättesaadav OpenGL ja Vulkan API teostus — Mesa 26.1.0. Esimene versioon harust Mesa 26.1.0 omab eksperimentaalset staatust — pärast lõplikku koodistabiliseerimist antakse välja stabiilne versioon 26.1.1.

Mesa 26.1-s on saadaval Vulkan 1.4 graafika API tugi ANV draiverites Intel GPU-dele, RADV draiverites AMD GPU-dele, NVK Nvidia GPU-dele, HoneyKrisp (hk) Apple GPU-dele, Turnip Qualcomm GPU-dele, PanVK ARM Mali GPU-dele, lavapipe (lvp) tarkvaralises rasterisaatoris ning emulaatorirežiimis (vn). Draiverites v3dv (Broadcom VideoCore GPU Raspberry Pi 4+ jaoks) ja dzn (Vulkan rakendamine otse Direct3D 12-l) on toeks Vulkan 1.0, draiveris kk (KosmicKrisp, Vulkan Metalil) — Vulkan 1.1, ja draiveris pvr (Imagination PowerVR GPU) — Vulkan 1.2.

Mesa tagab täieliku toe OpenGL 4.6 graafikakaartide iris (Intel Gen 8+), radeonsi (AMD), Crocus (vana Intel Gen4-Gen7 graafikakaart), AMD (r600), zink, llvmpipe, virgl (virtuaalne GPU Virgil3D QEMU/KVM jaoks), freedreno (Qualcomm Adreno), d3d12 (kiht OpenGL rakendamiseks DirectX 12 peal) ja asahi (AGX GPU, mida kasutatakse Apple M1 ja M2 kiipide jaoks). OpenGL 4.5 tugi on saadaval NVIDIA GPU (nvc0) jaoks. OpenGL 3.3 tugi on olemas softpipe (tarkvaraline rastaerija) ja nv50 (NVIDIA NV50) draivides. OpenGL 3.1 tugi on olemas draivides tpanfrost (ARM Mali GPU) ja v3d (Broadcom VideoCore GPU).

Põhilised uuendused:

  • Intel GPU-dele (Iris, Crocus ja ANV) on lisatud võimalus töötada otse GPU-ga, virtuaalmasinad, kasutades natiivseid kontekste (native context) VirtIO-GPU-s. Natiivsed kontekstid võimaldavad parandada virtuaalse GPU (virtio-gpu-gl) töö tõhusust külgkasutussüsteemist, edastades käsud otse tegelikku host GPU-sse.
  • PowerVR GPU-dele on lisatud OpenGL ES 2.0 tugi, mis on rakendatud Zink draiveri kaudu, võimaldades saavutada riistvara kiirendatud OpenGL-iga seadmetes, mis toetavad Vulkan API-t.
  • OpenCL-driver rusticl nõuab nüüd staatiliselt kokkupandud C++ stdlibi raamatukogu õigeks toimimiseks rakendustega, mis kasutavad oma C++ stdlibi.
  • Radeonsi (AMD) draiverisse on lisatud tuge OpenGL-i laienduse GL_NV_timeline_semaphore jaoks.
  • Panfrost (ARM Mali) draiverisse on lisatud tuge OpenGL-i laienduse GL_EXT_shader_image_load_store jaoks.
  • V3D (Broadcom VideoCore) draiverisse on lisatud tuge OpenGL-i laienduse GL_ARB_sample_shading jaoks.
  • Lisatud tugi Vulkan-i laiendustele:
    • VK_ARM_scheduling_controls panvk jaoks
    • VK_EXT_acquire_drm_display panvk jaoks
    • VK_EXT_astc_decode_mode panvk jaoks
    • VK_EXT_attachment_feedback_loop_dynamic_state panvk jaoks
    • VK_EXT_attachment_feedback_loop_layout panvk jaoks
    • VK_EXT_blend_operation_advanced lavapipe jaoks
    • VK_EXT_color_write_enable panvk jaoks
    • VK_EXT_conditional_rendering panvk jaoks
    • VK_EXT_depth_clamp_control panvk jaoks
    • VK_EXT_descriptor_heap RADV jaoks (kui seadistada 'export RADV_EXPERIMENTAL=heap')
    • VK_EXT_hdr_metadata v3dv jaoks
    • VK_EXT_image_drm_format_modifier pvr jaoks
    • VK_EXT_image_view_min_lod panvk jaoks
    • VK_EXT_legacy_dithering panvk jaoks
    • VK_EXT_map_memory_placed panvk jaoks
    • VK_EXT_nested_command_buffer panvk jaoks
    • VK_EXT_non_seamless_cube_map pvr jaoks
    • VK_EXT_present_timing RADV, NVK, Turnip, ANV, Honeykrisp, panvk jaoks
    • VK_EXT_primitive_restart_index RADV jaoks
    • VK_EXT_rgba10x6_formats panvk jaoks
    • VK_EXT_shader_atomic_float panvk jaoks
    • VK_EXT_shader_stencil_export panvk jaoks
    • VK_EXT_zero_initialize_device_memory panvk jaoks
    • VK_KHR_copy_memory_indirect nvk, RADV/GFX8+ jaoks
    • VK_KHR_device_address_commands RADV jaoks
    • VK_{KHR,EXT}_{surface,swapchain}_maintenance1 panvk jaoks
    • VK_KHR_get_display_properties2 panvk jaoks
    • VK_KHR_get_surface_capabilities2 panvk jaoks
    • VK_KHR_internally_synchronized_queues RADV jaoks
    • VK_KHR_maintenance4 pvr jaoks
    • VK_KHR_pipeline_executable_properties pvr jaoks
    • VK_KHR_present_id panvk, v3dv jaoks
    • VK_KHR_present_wait panvk, v3dv jaoks
    • VK_KHR_sampler_ycbcr_conversion pvr jaoks
    • VK_KHR_shader_integer_dot_product pvr jaoks
    • VK_KHR_shader_untyped_pointers panvk jaoks
    • VK_KHR_swapchain_mutable_format panvk jaoks
    • VK_QCOM_image_processing Turnip jaoks
    • VK_VALVE_mutable_descriptor_type panvk jaoks
    • VK_VALVE_shader_mixed_float_dot_product RADV (Vega20, Navi14, RDNA2+) jaoks
  • OpenCL laiendused on rakendatud:
    • cl_khr_subgroup_ballot asahi, iris, llvmpipe, radeonsi ja zink jaoks
    • cl_khr_subgroup_clustered_reduce asahi, llvmpipe, radeonsi ja zink jaoks
    • cl_khr_subgroup_extended_types asahi, iris, llvmpipe, radeonsi ja zink jaoks
    • cl_khr_subgroup_non_uniform_arithmetic asahi, llvmpipe, radeonsi ja zink jaoks
    • cl_khr_subgroup_non_uniform_vote asahi, iris, llvmpipe, radeonsi ja zink jaoks
    • cl_khr_subgroup_rotate asahi, llvmpipe ja zink jaoks
  • VirGL draiver, millel on virtuaalse GPU rakendamine QEMU jaoks, jääb hoolduseta ja eemaldatakse, kui keegi ei soovi seda enda kanda võtta.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster