เบเบฒเบ™เบ›เปˆเบญเบ Mesa 26.1, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบŸเบฃเบตเบ‚เบญเบ‡ OpenGL เปเบฅเบฐ Vulkan

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบชเบฒเบกเป€เบ”เบทเบญเบ™, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ‚เบญเบ‡ OpenGL เปเบฅเบฐ Vulkan APIs, Mesa 26.1.0, เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ. เบเบฒเบ™เบ›เปˆเบญเบเบฅเบธเป‰เบ™เบ—เบณเบญเบดเบ”เบ‚เบญเบ‡เบชเบฒเบ‚เบฒ Mesa 26.1.0 เปเบกเปˆเบ™เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡; เบซเบผเบฑเบ‡เบˆเบฒเบเบฅเบฐเบซเบฑเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบšเบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ, เบฅเบธเป‰เบ™เบ—เบตเปˆเปเบฑเป‰เบ™เบ„เบปเบ‡, 26.1.1, เบˆเบฐเบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ.

Mesa 26.1 เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš Vulkan 1.4 graphics API เปƒเบ™เป„เบ”เป€เบงเบต ANV เบชเปเบฒเบฅเบฑเบš Intel GPUs, RADV เบชเปเบฒเบฅเบฑเบš AMD GPUs, NVK เบชเปเบฒเบฅเบฑเบš NVIDIA GPUs, HoneyKrisp (hk) เบชเปเบฒเบฅเบฑเบš Apple GPUs, Turnip เบชเปเบฒเบฅเบฑเบš Qualcomm GPUs, PanVK เบชเปเบฒเบฅเบฑเบš ARM Mali GPUs, เบŠเบญเบšเปเบง lavapipe rasterizer (เป‚เบกเป€เบ”เบฑเบก) (lvp). เป„เบ”เป€เบงเบต v3dv (Broadcom VideoCore GPU เบชเปเบฒเบฅเบฑเบš Raspberry Pi 4+) เปเบฅเบฐ dzn (Vulkan over Direct3D 12) เบฎเบญเบ‡เบฎเบฑเบšเป„เบ”เป€เบงเบต Vulkan 1.0, เป„เบ”เป€เบงเบต kk (KosmicKrisp, Vulkan over Metal) เบฎเบญเบ‡เบฎเบฑเบš Vulkan 1.1, เปเบฅเบฐเป„เบ”เป€เบงเบต pvr (Imagination PowerVR.1.2 GPU) เบฎเบญเบ‡เบฎเบฑเบš.

Mesa เบเบฑเบ‡เปƒเบซเป‰เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ OpenGL 4.6 เป€เบ•เบฑเบกเบฎเบนเบšเปเบšเบšเบชเปเบฒเบฅเบฑเบš iris (Intel Gen 8+ GPUs), radeonsi (AMD), Crocus (GPUs Intel Gen4-Gen7 เป€เบเบปเปˆเบฒ), AMD (r600), zink, llvmpipe, virgl (virgil3D virtual GPU เบชเปเบฒเบฅเบฑเบš QEMU/KVM), เบŠเบฑเป‰เบ™เป€เบ—เบดเบ‡ freedreno (Qualcomd3), Adreno (Qualcomm). DirectX 12), เปเบฅเบฐ asahi (AGX GPU เปƒเบŠเป‰เปƒเบ™เบŠเบดเบš Apple M12 เปเบฅเบฐ M1). เบฎเบญเบ‡เบฎเบฑเบš OpenGL 2 เบชเปเบฒเบฅเบฑเบš NVIDIA (nvc4.5) GPUs. เบฎเบญเบ‡เบฎเบฑเบš OpenGL 0 เบกเบตเบขเบนเปˆเปƒเบ™เป„เบ”เป€เบงเบตเบ‚เบญเบ‡ softpipe (software rasterizer) เปเบฅเบฐ nv3.3 (NVIDIA NV50). OpenGL 50 เบฎเบญเบ‡เบฎเบฑเบšเปƒเบ™ panfrost (ARM Mali GPU) เปเบฅเบฐ v3d (Broadcom VideoCore GPU).

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ•เบปเป‰เบ™เบ•เป:

  • เป„เบ”เบฃเป€เบงเบตเบชเบณเบฅเบฑเบš Intel GPUs (Iris, Crocus, เปเบฅเบฐ ANV) เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ GPU เป‚เบ”เบเบเบปเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡ virtual เป‚เบ”เบเปƒเบŠเป‰เธšเธฃเธดเธšเธ—เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เปƒเบ™ VirtIO-GPU. เธšเธฃเธดเธšเธ—เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป€เบกเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš GPU virtual (virtio-gpu-gl) เปƒเบ™เบฅเบฐเบšเบปเบšเปเบ‚เบเป‚เบ”เบเบเบฒเบ™เบชเบปเปˆเบ‡เบ„เบณเบชเบฑเปˆเบ‡เป‚เบ”เบเบเบปเบ‡เป„เบ›เบซเบฒ GPU เป‚เบฎเบชเบ•เปŒเบ•เบปเบงเบˆเบดเบ‡.
  • เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš OpenGL ES 2.0 เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเบกเบฒเบชเบณเบฅเบฑเบš GPU PowerVR เบœเปˆเบฒเบ™เป„เบ”เบฃเป€เบงเบต Zink, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰ OpenGL เบ—เบตเปˆเป€เบฅเบฑเปˆเบ‡เบ”เป‰เบงเบเบฎเบฒเบ”เปเบงเปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบš Vulkan API.
  • เป„เบ”เบฃเป€เบงเบต rusticl OpenCL เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆเบ‚เบญเบ‡ C++ stdlib เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เบเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰ stdlibs C++ เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡.
  • เป„เบ”เบฃเป€เบงเบต radeonsi (AMD) เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบชเบณเบฅเบฑเบšเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ GL_NV_timeline_semaphore OpenGL.
  • เบ”เบฝเบงเบ™เบตเป‰เป„เบ”เบฃเป€เบงเบต panfrost (ARM Mali) เบฎเบญเบ‡เบฎเบฑเบšเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ OpenGL GL_EXT_shader_image_load_store เปเบฅเป‰เบง.
  • เบ”เบฝเบงเบ™เบตเป‰เป„เบ”เบฃเป€เบงเบต v3d (Broadcom VideoCore) เบฎเบญเบ‡เบฎเบฑเบšเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ GL_ARB_sample_shading OpenGL เปเบฅเป‰เบง.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ Vulkan:
    • เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบเบณเบ™เบปเบ”เป€เบงเบฅเบฒ VK_ARM เบชเบณเบฅเบฑเบš 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 เบชเบณเบฅเบฑเบš panvk
    • VK_EXT_descriptor_heap เบชเบณเบฅเบฑเบš RADV (เป€เบกเบทเปˆเบญเบ•เบฑเป‰เบ‡เบ„เปˆเบฒ 'เบชเบปเปˆเบ‡เบญเบญเบ RADV_EXPERIMENTAL=heap')
    • VK_EXT_hdr_metadata เบชเบณเบฅเบฑเบš v3dv
    • เบ•เบปเบงเบ”เบฑเบ”เปเบ›เบ‡เบฎเบนเบšเปเบšเบšเบฎเบนเบšเบžเบฒเบš VK_EXT_drm_image_format_เบชเบณเบฅเบฑเบš 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 เบชเบณเบฅเบฑเบš RADV, NVK, Turnip, ANV, Honeykrisp, panvk
    • เบ”เบฑเบ”เบŠเบฐเบ™เบตเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเปเปˆ VK_EXT_primitive เบชเบณเบฅเบฑเบš RADV
    • เบฎเบนเบšเปเบšเบš VK_EXT_rgba10x6 เบชเบณเบฅเบฑเบš 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 เบชเบณเบฅเบฑเบš 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_เบชเบณเบฅเบฑเบš pvr
    • VK_KHR_present_id เบชเบณเบฅเบฑเบš panvk, v3dv
    • VK_KHR_present_wait for 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 เบชเบณเบฅเบฑเบš Turnip
    • VK_VALVE_mutable_descriptor_type เบชเบณเบฅเบฑเบš panvk
    • VK_VALVE_shader_mixed_float_dot_product เบชเบณเบฅเบฑเบš RADV (Vega20, Navi14, RDNA2+)
  • เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ OpenCL เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”:
    • cl_khr_subgroup_ballot เบชเบณเบฅเบฑเบš asahi, iris, llvmpipe, radeonsi เปเบฅเบฐ zink
    • cl_xr_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, เบˆเบฐเบšเปเปˆเบ–เบทเบเบฎเบฑเบเบชเบฒเป„เบงเป‰เบญเบตเบเบ•เปเปˆเป„เบ› เปเบฅเบฐ เบˆเบฐเบ–เบทเบเบฅเบถเบšเบญเบญเบ เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเบกเบตเบœเบนเป‰เปƒเบ”เบœเบนเป‰เปœเบถเปˆเบ‡เป€เบ•เบฑเบกเปƒเบˆเบ—เบตเปˆเบˆเบฐเบฎเบฑเบšเปœเป‰เบฒเบ—เบตเปˆเบฎเบฑเบเบชเบฒเบกเบฑเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru