ืฉื—ืจื•ืจ ืฉืœ Mesa 21.2, ื™ื™ืฉื•ื ื—ื™ื ื ืฉืœ OpenGL ื•-Vulkan

ืœืื—ืจ ืฉืœื•ืฉื” ื—ื•ื“ืฉื™ื ืฉืœ ืคื™ืชื•ื—, ืคื•ืจืกื ืฉื—ืจื•ืจ ื”ื˜ืžืขื” ื—ื™ื ืžื™ืช ืฉืœ OpenGL ื•-Vulkan API - Mesa 21.2.0. ื”ืžื”ื“ื•ืจื” ื”ืจืืฉื•ื ื” ืฉืœ ืขื ืฃ Mesa 21.2.0 ื”ื™ื ื‘ืขืœืช ืกื˜ื˜ื•ืก ื ื™ืกื™ื•ื ื™ - ืœืื—ืจ ื”ืชื™ื™ืฆื‘ื•ืช ืกื•ืคื™ืช ืฉืœ ื”ืงื•ื“, ืชืฉื•ื—ืจืจ ื’ืจืกื” ื™ืฆื™ื‘ื” 21.2.1.

Mesa 21.2 ื›ื•ืœืœ ืชืžื™ื›ื” ืžืœืื” ื‘-OpenGL 4.6 ืขื‘ื•ืจ ืžื ื”ืœื™ ื”ื”ืชืงืŸ ืฉืœ 965, ืื™ืจื™ืก (Intel), radeonsi (AMD), zink ื•-llvmpipe. ืชืžื™ื›ื” ื‘-OpenGL 4.5 ื–ืžื™ื ื” ืขื‘ื•ืจ GPUs ืฉืœ AMD (r600) ื•-NVIDIA (nvc0), ื•ืชืžื™ื›ื” ื‘-OpenGL 4.3 ืขื‘ื•ืจ virgl (GPU ื•ื™ืจื˜ื•ืืœื™ Virgil3D ืขื‘ื•ืจ QEMU/KVM). ืชืžื™ื›ื” ื‘-Vulkan 1.2 ื–ืžื™ื ื” ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ Intel ื•-AMD, ื›ืžื• ื’ื ื‘ืžืฆื‘ ืืžื•ืœื˜ื•ืจ (vn), ืชืžื™ื›ื” ื‘-Vulkan 1.1 ื–ืžื™ื ื” ืขื‘ื•ืจ GPUs Qualcomm ื•-Lavapipe ืชื•ื›ื ืช rasterizer, ื•-Vulkan 1.0 ื–ืžื™ืŸ ืขื‘ื•ืจ Broadcom VideoCore VI GPUs (Raspberry Pi 4) .

ื—ื™ื“ื•ืฉื™ื ืขื™ืงืจื™ื™ื:

  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ asahi OpenGL ื›ืœื•ืœ ื‘ืชืžื™ื›ื” ืจืืฉื•ื ื™ืช ื‘-GPU ื”ื›ืœื•ืœ ื‘ืฉื‘ื‘ื™ Apple M1. ื”ื“ืจื™ื™ื‘ืจ ืžืฉืชืžืฉ ื‘ืžืžืฉืง Gallium ื•ืชื•ืžืš ื‘ืจื•ื‘ ื”ืชื›ื•ื ื•ืช ืฉืœ OpenGL 2.1 ื•-OpenGL ES 2.0, ืืš ืขื“ื™ื™ืŸ ืื™ื ื• ืžืชืื™ื ืœื”ืจืฆืช ืจื•ื‘ ื”ืžืฉื—ืงื™ื. ืงื•ื“ ืžื ื”ืœ ื”ื”ืชืงืŸ ืžื‘ื•ืกืก ืขืœ ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Gallium reference noop, ื›ืืฉืจ ืงื•ื“ ืžืกื•ื™ื ืžื•ืขื‘ืจ ืžืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Panfrost ืฉืคื•ืชื— ืขื‘ื•ืจ ื”-ARM Mali GPU.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Crocus OpenGL ื›ืœื•ืœ ื‘ืชืžื™ื›ื” ื‘ืžืขื‘ื“ื™ Intel GPU ื™ืฉื ื™ื ื™ื•ืชืจ (ืžื‘ื•ืกืกื™ื ืขืœ ืžื™ืงืจื•-ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช Gen4-Gen7), ืฉืื™ื ืŸ ื ืชืžื›ื•ืช ืขืœ ื™ื“ื™ ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Iris. ื‘ื ื™ื’ื•ื“ ืœื“ืจื™ื™ื‘ืจ ื”-i965, ื”ื“ืจื™ื™ื‘ืจ ื”ื—ื“ืฉ ืžื‘ื•ืกืก ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจืช Gallium3D, ืืฉืจ ืžื•ืฆื™ืื” ืžืฉื™ืžื•ืช ื ื™ื”ื•ืœ ื–ื™ื›ืจื•ืŸ ืœืžื™ืงื•ืจ ื—ื•ืฅ ืœืžื ื”ืœ ื”ืชืงืŸ DRI ื‘ืœื™ื‘ืช ื”ืœื™ื ื•ืงืก ื•ืžืกืคืงืช ืžืขืงื‘ ืžืฆื‘ ืžื•ื›ืŸ ืขื ืชืžื™ื›ื” ื‘ืžื˜ืžื•ืŸ ืœืฉื™ืžื•ืฉ ื—ื•ื–ืจ ืฉืœ ืื•ื‘ื™ื™ืงื˜ื™ ืคืœื˜.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ PanVk ื›ืœื•ืœ, ื”ืžืกืคืง ืชืžื™ื›ื” ืขื‘ื•ืจ ื”-API ื”ื’ืจืคื™ ืฉืœ Vulkan ืขื‘ื•ืจ ARM Mali Midgard ื•-Bifrost GPUs. PanVk ืžืคื•ืชื—ืช ืขืœ ื™ื“ื™ ืขื•ื‘ื“ื™ Collabora ื•ืžืžื•ืงืžืช ื›ื”ืžืฉืš ืœืคื™ืชื•ื— ืคืจื•ื™ืงื˜ Panfrost, ื”ืžืกืคืง ืชืžื™ื›ื” ื‘-OpenGL.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Panfrost ืขื‘ื•ืจ Midgard GPUs (Mali T760 ื•ืื™ืœืš) ื•-Bifrost GPUs (Mali G31, G52, G76) ืชื•ืžืš ื‘-OpenGL ES 3.1. ืชื•ื›ื ื™ื•ืช ืขืชื™ื“ื™ื•ืช ื›ื•ืœืœื•ืช ืขื‘ื•ื“ื” ืœื”ื’ื‘ืจืช ื”ื‘ื™ืฆื•ืขื™ื ื‘ืฉื‘ื‘ื™ Bifrost ื•ื™ื™ืฉื•ื ืชืžื™ื›ื” ื‘-GPU ื”ืžื‘ื•ืกืกืช ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจืช Valhall (Mali G77 ื•ืื™ืœืš).
  • ื‘ื ื™ื™ืช 32 ืกื™ื‘ื™ื•ืช ืฉืœ x86 ืžืฉืชืžืฉืช ื‘ื”ื•ืจืื•ืช sse87 ื‘ืžืงื•ื ื”ื•ืจืื•ืช x2 ืœื—ื™ืฉื•ื‘ื™ื ืžืชืžื˜ื™ื™ื.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Nouveau nv50 ืขื‘ื•ืจ NVIDIA GT21x GPU (GeForce GT 2ร—0) ืชื•ืžืš ื‘-OpenGL ES 3.1.
  • ืœืžื ื”ืœ ื”ืชืงืŸ Vulkan TURNIP ื•ืœืžื ื”ืœ ื”ืชืงืŸ OpenGL Freedreno, ืฉืคื•ืชื— ืขื‘ื•ืจ ื”-Qualcomm Adreno GPU, ื™ืฉ ืชืžื™ื›ื” ืจืืฉื•ื ื™ืช ื‘-Adreno a6xx gen4 GPU (a660, a635).
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ RADV (AMD) Vulkan ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ื‘ื—ื™ืœื•ืฅ ืคืจื™ืžื™ื˜ื™ื‘ื™ ื‘ืืžืฆืขื•ืช ืžื ื•ืขื™ ื”ืฆืœืœื” ืฉืœ NGG (Next-Gen Geometry). ื”ื•ื˜ืžืขื” ื”ื™ื›ื•ืœืช ืœื‘ื ื•ืช ืืช ืžื ื”ืœ ื”ื”ืชืงืŸ RADV ื‘ืคืœื˜ืคื•ืจืžืช Windows ื‘ืืžืฆืขื•ืช ืžื”ื“ืจ MSVC.
  • ืขื‘ื•ื“ืช ื”ื›ื ื” ื‘ื•ืฆืขื” ื‘ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ANV Vulkan (Intel) ื•ื‘ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Iris OpenGL ื›ื“ื™ ืœืกืคืง ืชืžื™ื›ื” ืœื›ืจื˜ื™ืกื™ ื”ืžืกืš Intel Xe-HPG (DG2) ื”ืงืจื•ื‘ื™ื. ื–ื” ื›ื•ืœืœ ืชื›ื•ื ื•ืช ืจืืฉื•ื ื™ื•ืช ื”ืงืฉื•ืจื•ืช ืœืžืขืงื‘ ืื—ืจ ืงืจื ื™ื™ื ื•ืชืžื™ื›ื” ื‘ื”ืฆืœืœื•ืช ืœืžืขืงื‘ ืื—ืจ ืงืจื ื™ื™ื.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ lavapipe, ื”ืžื˜ืžื™ืข ืจืกื˜ืจื™ื™ื–ืจ ืชื•ื›ื ื” ืขื‘ื•ืจ Vulkan API (ืื ืœื•ื’ื™ ืœ-llvmpipe, ืื‘ืœ ืขื‘ื•ืจ Vulkan, ืชืจื’ื•ื ืงืจื™ืื•ืช Vulkan API ืœ-Gallium API), ืชื•ืžืš ื‘ืžืฆื‘ "wideLines" (ืžืกืคืง ืชืžื™ื›ื” ืœืงื•ื•ื™ื ื‘ืจื•ื—ื‘ ื”ืขื•ืœื” ืขืœ 1.0).
  • ื”ื•ื˜ืžืขื” ืชืžื™ื›ื” ื‘ื’ื™ืœื•ื™ ื•ื˜ืขื™ื ื” ื“ื™ื ืžื™ื™ื ืฉืœ GBM (Generic Buffer Manager) ื—ืœื•ืคื™ื™ื. ื”ืฉื™ื ื•ื™ ื ื•ืขื“ ืœืฉืคืจ ืืช ืชืžื™ื›ืช Wayland ื‘ืžืขืจื›ื•ืช ืขื ืžื ื”ืœื™ ื”ืชืงื ื™ื ืฉืœ NVIDIA.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ Zink (ื™ื™ืฉื•ื ืฉืœ OpenGL API ืขืœ ื’ื‘ื™ Vulkan, ื”ืžืืคืฉืจ ืœืš ืœืงื‘ืœ OpenGL ืžื•ืืฅ ื‘ื—ื•ืžืจื” ืื ืœืžืขืจื›ืช ื™ืฉ ืžื ื”ืœื™ ื”ืชืงื ื™ื ืžื•ื’ื‘ืœื™ื ืœืชืžื™ื›ื” ื‘-Vulkan API ื‘ืœื‘ื“) ืชื•ืžืš ื‘ื”ืจื—ื‘ื•ืช OpenGL GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_filter_ARB_maxure ื•-GL_filter_ARB_maxure. ื ื•ืกืคื• ืžืฉื ื” ืคื•ืจืžื˜ DRM (ืžื ื”ืœ ื”ืขื™ื‘ื•ื“ ื”ื™ืฉื™ืจ, ืกื™ื•ืžืช VK_EXT_image_drm_format_modifier ืžื•ืคืขืœืช).
  • ืชืžื™ื›ื” ื‘ื”ืจื—ื‘ื•ืช ื ื•ืกืคื” ืœืžื ื”ืœื™ ื”ื”ืชืงืŸ ืฉืœ Vulkan RADV (AMD), ANV (Intel) ื•-lavapipe:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapipe);
    • VK_EXT_line_rasterization(lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_separate_depth_stencil_layouts(lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (lavapipe).

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”