Երեք ամիս 개발ությունից հետո ներկայացվեց OpenGL և Vulkan API-ի ազատ իրականացում — Mesa 25.3.0: Նոր թողարկման պիտակը git-ում հրապարակվել է նոյեմբերի 15-ին, սակայն կայքի վրա հայտարարությունն ի հայտ եկավ միայն երեկ (թերթիկում մարտկոցը դեռևս չի հայտարարել): Mesa 25.3.0-ի առաջին թողարկումն ունի փորձնական կարգավիճակ — մուտքի վերջնական կայունացման կատարման հետո կհրապարակվի 25.3.1 կայուն տարբերակը:
Mesa 25.3-ում հասանելի է Vulkan 1.4-ի աջակցությունը ANV վարորդներով Intel GPU-ների համար, RADV AMD GPU-ների համար, NVK NVIDIA GPU-ների համար, HoneyKrisp (hk) Apple GPU-ների համար, Turnip Qualcomm GPU-ների համար, PanVK ARM Mali GPU-ների համար, ծրագրային ռաստերացումը lavapipe (lvp) և էմուլյացիոն ռեժիմում (vn): v3dv վարորդները (Broadcom VideoCore GPU Raspberry Pi 4+ համար) և dzn (Vulkan-ի իրականացում Direct3D 12-ի վրա) աջակցում են Vulkan 1.0-ին, kk վարորդը (KosmicKrisp, Vulkan Metal-ի վրա) — Vulkan 1.1-ին, իսկ pvr վարորդը (Imagination PowerVR GPU) — Vulkan 1.2-ին:
Mesa-ում նույնպես ապահովվում է OpenGL 4.6-ի լրիվ աջակցություն iris (Intel Gen 8+ GPU), radeonsi (AMD), Crocus (հին Intel Gen4-Gen7 GPU), AMD (r600), zink, llvmpipe, virgl (վիրտուալ GPU Virgil3D QEMU/KVM-ի համար), freedreno (Qualcomm Adreno), d3d12 (OpenGL-ի աշխատաոճ DirectX 12-ի վրա) և asahi (Apple M1 և M2 լծակներում կիրառվող AGX GPU): OpenGL 4.5-ին աջակցություն ունի NVIDIA GPU-ները (nvc0): OpenGL 3.3-ը ներկայանում է softpipe վարորդներում (ծրագրային ռաստերացումը) և nv50 (NVIDIA NV50): panfrost (ARM Mali GPU) և v3d (Broadcom VideoCore GPU) համակցված OpenGL 3.1:
Կարևոր նորույթները:
- Նոր Vulkan վարորդ KosmicKrisp (kk) է ներմուծվել, որը իրականացնում է Vulkan գրաֆիկական API-ն Metal API-ի վրա, որը զարգացնում է Apple-ը և կիրառվում է macOS-ում: Վարորդը ստեղծված է LunarG-ի կողմից Apple Silicon պրոցեսորներով Mac համակարգիչների վրա օգտագործելու համար: Միտքներում վարորդը ամբողջովին համատեղելի է Vulkan 1.1 API-ի հետ, բայց նշվում է, որ այն արդեն շատ մոտ է Vulkan 1.3-ի աջակցության իրականացմանը:
- Ավելացվել է ethos վարորդ NPU Arm Ethos-U65-ի համար:
- Vulkan վարորդ pvr-ում, որն զարգանում է Imagination PowerVR GPU-ի համար, ապահովվել է Vulkan 1.2-ի աջակցություն:
- Vulkan RADV վարորդում ավելացվել են օպտիմիզացիաներ, որոնք զգալիորեն մեծացնում են Llama.cpp- ի մեծ լեզվաբառարանների մոդելների կատարողականը Vulkan բորտի վրա AMD GPU-ներ ունեցող համակարգերում: Որոշ llama-bench թեստերում RADV վիրանման հիման վրա կազմը 31%-ով ավելի արագ դարձավ AMDVLK վարորդի և ROCm հավաքածուի արագության չափումներում (pp թեստեր — prompt processing) և 4%-ով, երբ նիշերի արտադրություն էր (tg թեստեր — token generation):
- Հեռացվել է NVIDIA-ի կողմից ստեղծված VDPAU ծրագրային ինտերֆեյսի աջակցությունը (Video Decode and Presentation API for Unix): Հերացման պատճառները նշվում են, որ VDPAU-ն կարող է օգտագործվել միայն X11 և OpenGL համակարգերում, բայց Wayland-ի և Vulkan-ի աջակցության բացակայության պատճառով: Բացի այդ, VDPAU API-ի սահմանափակումները չեն թույլատրում որոշակի տեսապատճառները ճիշտ դեկոդել: VDPAU-ի փոխարեն առաջարկվում է օգտագործել VA-API (Video Acceleration API), որը կարող է օգտագործվել Wayland-ի և Vulkan-ի հետ և լավ աջակցություն ունի ծրագրերում:
- Zink- драйверում, որը իրականացնում է OpenGL 4.6 Vulkan-ի վրա, ավելացվել է mesh-շեյդերների աջակցությունը, որը տրամադրում է այլընտրանքային միջոցներ գեոմետրականPrimitive-ների հավաքույթների ստեղծման համար։
- Rusticl- drivers ավելացվել է OpenCL ընդլայնումների աջակցություն սեմԱֆորների աշխատելու համար (cl_khr_semaphore և cl_khr_external_semaphore)։
- Shader- կոմպիլատորում ավելացվել է Shader-ների SPIR-V փոխարինման ֆունկցիոնալություն։
- Միավորված է Vulkan- շերտ AMD Anti-Lag տեխնոլոգիայի աջակցություն, որը նվազեցնում է իցվազում vkQueueSubmit կամ vkQueueSubmit2- ի կանչերի միջև և գործողությունների կատարումների սկզբում, ինչը թույլ է տալիս կրճատել ուշացումները խաղերում էկրանում ցուցադրում։
- Ավելացվել է OpenGL ընդլայնումների աջակցություն՝
- GL_EXT_mesh_shader Zink-ի համար
- GL_ARB_robust_buffer_access_behavior Panfrost-ի համար
- GL_KHR_robust_buffer_access_behavior Panfrost-ի համար
- GL_KHR_robustness Panfrost-ի և v3d-ի համար
- GL_ATI_meminfo r300-ի համար
- GL_NVX_gpu_memory_info r300-ի համար
- GL_NV_shader_atomic_int64 radeonsi և Panfrost V9+-ի համար
- GL_NV_representative_fragment_test Zink-ի համար
- EGL_EXT_create_context_robustness Panfrost V10+-ի համար
- ANV (Intel) drivers-ում իրականացվել է Vulkan- ընդլայնում՝ VK_KHR_shader_untyped_pointers
- RADV (AMD) drivers-ում իրականացվել են Vulkan- ընդլայնումներ՝
- VK_EXT_ycbcr_2plane_444_formats
- VK_KHR_shader_untyped_pointers
- VK_KHR_video_encode_intra_refresh
- VK_KHR_video_encode_quantization_map
- NVK (NVIDIA) drivers-ում իրականացվել են Vulkan- ընդլայնումներ՝
- VK_AMD_buffer_marker
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_NVX_image_view_handle
- HoneyKrisp (Apple) drivers-ում իրականացվել է OpenGL- ընդլայնում՝ VK_KHR_maintenance9
- PanVK (ARM Mali GPU) drivers-ում իրականացվել են Vulkan- ընդլայնումներ՝
- VK_ARM_shader_core_builtins
- VK_EXT_mutable_descriptor_type
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- pvr (Imagination PowerVR GPU) drivers-ում իրականացվել են Vulkan- ընդլայնումներ՝
- VK_EXT_border_color_swizzle
- VK_EXT_color_write_enable
- VK_EXT_custom_border_color
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_enable
- VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_extended_dynamic_state3
- VK_EXT_image_2d_view_of_3d
- VK_EXT_line_rasterization
- VK_EXT_map_memory_placed
- VK_EXT_physical_device_drm
- VK_EXT_provoking_vertex
- VK_EXT_queue_family_foreign
- VK_EXT_robustness2
- VK_EXT_separate_stencil_usage
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_replicated_composites
- VK_EXT_vertex_attribute_divisor
- VK_EXT_zero_initialize_device_memory
- VK_KHR_buffer_device_address
- VK_KHR_create_renderpass2
- VK_KHR_dedicated_allocation
- VK_KHR_depth_stencil_resolve
- VK_KHR_descriptor_update_template
- VK_KHR_device_group
- VK_KHR_device_group_creation
- VK_KHR_imageless_framebuffer
- VK_KHR_line_rasterization
- VK_KHR_maintenance1
- VK_KHR_maintenance2
- VK_KHR_maintenance3
- VK_KHR_map_memory2
- VK_KHR_multiview
- VK_KHR_robustness2
- VK_KHR_sampler_mirror_clamp_to_edge
- VK_KHR_separate_depth_stencil_layouts
- VK_KHR_shader_draw_parameters
- VK_KHR_shader_float_controls
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_extended_types
- VK_KHR_shader_terminate_invocation
- VK_KHR_spirv_1_4
- VK_KHR_swapchain_mutable_format
- VK_KHR_vertex_attribute_divisor
- VK_KHR_wayland_surface
- OpenCL- ընդլայնումներ իրականացվել են՝
- cl_ext_immutable_memory_objects
- cl_khr_external_semaphore radeonsi և zink-ի համար
- cl_khr_external_semaphore_sync_fd radeonsi և zink-ի համար
- cl_khr_semaphore radeonsi և zink-ի համար
Խնդրում ենք նկատի ունենալ նոր Vulkan 1.4.333 специֆիկացիայի թողարկումները, որում առաջարկվում է VK_EXT_ray_tracing_invocation_reorder նոր ընդլայնման մանրամասներ, որը 47%-ով բարձրացնում է շառավիղի հետագիծ կատարված թեստերում, երբ օգտագործվում է SER (Shader Execution Reordering) vk_gltf_renderer-ում։
Ընտանիք: opennet.ru
