ืžืขืœื“ื•ื ื’ ืคื•ืŸ Mesa 21.2, ืึท ืคืจื™ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ OpenGL ืื•ืŸ Vulkan

ื ืึธืš ื“ืจื™ื™ ื—ื“ืฉื™ื ืคื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ืึท ืคืจื™ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ OpenGL ืื•ืŸ Vulkan API - Mesa 21.2.0 - ืื™ื– ืืจื•ื™ืก. ื“ืขืจ ืขืจืฉื˜ืขืจ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ Mesa 21.2.0 ืฆื•ื•ื™ื™ึทื’ ื”ืื˜ ืึทืŸ ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืกื˜ืึทื˜ื•ืก - ื ืึธืš ื“ื™ ืœืขืฆื˜ ืกื˜ื™ื™ื‘ืึทืœืึทื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืงืึธื“, ืึท ืกื˜ืึทื‘ื™ืœ ื•ื•ืขืจืกื™ืข 21.2.1 ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคืจื™ื™.

ืžืขืกืึท 21.2 ื™ื ืงืœื•ื“ื– ืคื•ืœ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ OpenGL 4.6 ืคึฟืึทืจ ื“ื™ 965, ื™ืจื™ืก (ื™ื ื˜ืขืœ), ืจืึทื“ืึธื ืกื™ (ืึทืžื“), ื–ื™ื ืง ืื•ืŸ ืœืœื•ื•ืžืคึผื™ืคึผืข ื“ืจื™ื•ื•ืขืจืก. OpenGL 4.5 ืฉื˜ื™ืฆืŸ ืื™ื– ื‘ืืจืขื›ื˜ื™ื’ื˜ ืคึฟืึทืจ AMD (r600) ืื•ืŸ NVIDIA (nvc0) ื’ืคึผื•ืก, ืื•ืŸ OpenGL 4.3 ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ virgl (Virgil3D ื•ื•ื™ืจื˜ื•ืขืœ ื’ืคึผื• ืคึฟืึทืจ QEMU / KVM). ื•ื•ื•ืœืงืึทืŸ 1.2 ืฉื˜ื™ืฆืŸ ืื™ื– ื‘ืืจืขื›ื˜ื™ื’ื˜ ืคึฟืึทืจ ื™ื ื˜ืขืœ ืื•ืŸ ืึทืžื“ ืงืึทืจื“ืก, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืื™ืŸ ืขืžื•ืœืึทื˜ืึธืจ ืžืึธื“ืข (ื•ื•ืŸ), ื•ื•ื•ืœืงืึทืŸ 1.1 ืฉื˜ื™ืฆืŸ ืื™ื– ื‘ืืจืขื›ื˜ื™ื’ื˜ ืคึฟืึทืจ Qualcomm ื’ืคึผื•ืก ืื•ืŸ ื“ื™ ืœืึทื•ื•ืึทืคึผื™ืคึผืข ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืจืึทืกื˜ืขืจื™ื–ืขืจ, ืื•ืŸ Vulkan 1.0 ืื™ื– ื‘ืืจืขื›ื˜ื™ื’ื˜ ืคึฟืึทืจ Broadcom VideoCore VI ื’ืคึผื•ืก (Raspberry Pi 4) .

ื”ื•ื™ืคึผื˜ ื—ื™ื“ื•ืฉื™ื:

  • ื“ืขืจ Asahi OpenGL ืฉืึธืคืขืจ ืื™ื– ื™ื ืงืœื•ื“ืขื“ ืžื™ื˜ ืขืจืฉื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ื’ืคึผื• ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ืขืคึผืœ ืž 1 ื˜ืฉื™ืคึผืก. ื“ืขืจ ืฉืึธืคืขืจ ื ื™ืฆื˜ ื“ื™ Gallium ืฆื•ื‘ื™ื ื“ ืื•ืŸ ืฉื˜ื™ืฆื˜ ืจื•ื‘ึฟ ืคื•ืŸ ื“ื™ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ OpenGL 2.1 ืื•ืŸ OpenGL ES 2.0, ืึธื‘ืขืจ ืื™ื– ื ืึธืš ื ื™ืฉื˜ ืคึผืึทืกื™ืง ืคึฟืึทืจ ืคืœื™ืกื ื“ื™ืง ืจื•ื‘ึฟ ืฉืคึผื™ืœืขืจื™ื™ึท. ื“ืขืจ ืฉืึธืคืขืจ ืงืึธื“ ืื™ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ Gallium ืจืขืคึฟืขืจืขื ืฅ ื ืึธืึธืคึผ ื“ืจื™ื™ื•ื•ืขืจ, ืžื™ื˜ ืขื˜ืœืขื›ืข ืงืึธื“ ื˜ืจืึทื ืกืคึผืึธืจื˜ืขื“ ืคึฟื•ืŸ ื“ื™ Panfrost ืฉืึธืคืขืจ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืคึฟืึทืจ ื“ื™ ARM Mali GPU.
  • ื“ื™ Crocus OpenGL ืฉืึธืคืขืจ ืื™ื– ื™ื ืงืœื•ื“ืขื“ ืžื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืขืœื˜ืขืจืข Intel GPUs (ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ Gen4-Gen7 ืžื™ืงืจืึธืึทืจื˜ืฉื™ื˜ืขืงื˜ื•ืจืขืก), ื•ื•ืึธืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ื“ื™ ื™ืจื™ืก ืฉืึธืคืขืจ. ื ื™ื˜ ืขื ืœืขืš ื“ื™ i965 ืฉืึธืคืขืจ, ื“ื™ ื ื™ื™ึทืข ืฉืึธืคืขืจ ืื™ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ Gallium3D ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ, ื•ื•ืึธืก ืึทื•ืฆืึธืจืกื™ื– ื–ื™ืงืึธืจืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ื˜ืึทืกืงืก ืฆื• ื“ื™ DRI ื“ืจื™ื™ื•ื•ืขืจ ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืื•ืŸ ื’ื™ื˜ ืึท ืคืึทืจื˜ื™ืง ืฉื˜ืึทื˜ ื˜ืจืึทืงืขืจ ืžื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึท ืจื™ื™ื•ืก ืงืึทืฉ ืคื•ืŸ ืจืขื–ื•ืœื˜ืึทื˜ ืึทื‘ื“ื–ืฉืขืงืฅ.
  • ื“ื™ PanVk ืฉืึธืคืขืจ ืื™ื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜, ืคึผืจืึทื•ื•ื™ื™ื“ื™ื ื’ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ Vulkan graphics API ืคึฟืึทืจ ARM Mali Midgard ืื•ืŸ Bifrost ื’ืคึผื•ืก. PanVk ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš Collabora ืขืžืคึผืœื•ื™ื™ื– ืื•ืŸ ืื™ื– ืคึผืึทื–ื™ืฉืึทื ื“ ื•ื•ื™ ืึท ืงืึทื ื˜ื™ื ื™ื•ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื“ื™ Panfrost ืคึผืจื•ื™ืขืงื˜, ื•ื•ืึธืก ื’ื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ OpenGL.
  • ื“ื™ ืคึผืึทื ืคืจืึธืกื˜ ืฉืึธืคืขืจ ืคึฟืึทืจ ืžื™ื“ื’ืึทืจื“ ื’ืคึผื•ืก (ืžืึทืœื™ ื˜760 ืื•ืŸ ื ื™ื™ึทืขืจ) ืื•ืŸ ื‘ื™ืคืจืึธืกื˜ ื’ืคึผื•ืก (ืžืึทืœื™ ื’31, ื’52, ื’76) ืฉื˜ื™ืฆื˜ OpenGL ES 3.1. ืฆื•ืงื•ื ืคึฟื˜ ืคึผืœืึทื ื– ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืึทืจื‘ืขื˜ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื•ื™ืฃ Bifrost ื˜ืฉื™ืคึผืก ืื•ืŸ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื’ืคึผื• ืฉื˜ื™ืฆืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื•ื•ืึทืœื”ืึทืœ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ (Mali G77 ืื•ืŸ ื ื™ื™ึทืขืจ).
  • 32-ื‘ื™ืกืœ ืงืก 86 ื‘ื•ื™ืขืŸ ื ื•ืฆืŸ sse87 ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืงืก 2 ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก ืคึฟืึทืจ ืžืึทื˜ ื—ืฉื‘ื•ื ื•ืช.
  • ื“ื™ Nouveau nv50 ืฉืึธืคืขืจ ืคึฟืึทืจ ื“ื™ NVIDIA GT21x GPU (GeForce GT 2 ร— 0) ืฉื˜ื™ืฆื˜ OpenGL ES 3.1.
  • ื“ื™ ื•ื•ื•ืœืงืึทืŸ ืฉืึธืคืขืจ TURNIP ืื•ืŸ ื“ื™ OpenGL ืฉืึธืคืขืจ Freedreno, ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืคึฟืึทืจ ื“ื™ Qualcomm Adreno GPU, ื”ืึธื‘ืŸ ืขืจืฉื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ Adreno a6xx gen4 GPU (a660, a635).
  • ื“ื™ RADV (AMD) ื•ื•ื•ืœืงืึทืŸ ืฉืึธืคืขืจ ื”ืื˜ ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคึผืจื™ืžื™ื˜ื™ื•ื• ืงืึทืœืœื™ื ื’ ื ื™ืฆืŸ NGG (Next-Gen Geometry) ืฉืึทื“ืขืจ ืขื ื“ื–ืฉืึทื ื–. ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื‘ื•ื™ืขืŸ ื“ื™ RADV ืฉืึธืคืขืจ ืื•ื™ืฃ ื“ื™ Windows ืคึผืœืึทื˜ืคืึธืจืžืข ืžื™ื˜ ื“ื™ MSVC ืงืึทืžืคึผื™ื™ืœืขืจ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“.
  • ืคึผืจื™ืคึผืขืจืึทื˜ืึธืจื™ ืึทืจื‘ืขื˜ ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืื™ืŸ ื“ื™ ANV Vulkan ืฉืึธืคืขืจ (ื™ื ื˜ืขืœ) ืื•ืŸ ื“ื™ Iris OpenGL ืฉืึธืคืขืจ ืฆื• ืฆื•ืฉื˜ืขืœืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืึทืคึผืงืึทืžื™ื ื’ Intel Xe-HPG (DG2) graphics ืงืึทืจื“ืก. ื“ืึธืก ื›ื•ืœืœ ืขืจืฉื˜ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืฉื™ื™ึทื›ื•ืช ืฆื• ืฉื˜ืจืึทืœ ื˜ืจื™ื™ืกื™ื ื’ ืื•ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืฉื˜ืจืึทืœ ื˜ืจื™ื™ืกื™ื ื’ ืฉืึทื“ืขืจื–.
  • ื“ื™ ืœืึทื•ื•ืึทืคึผื™ืคึผืข ืฉืึธืคืขืจ, ื•ื•ืึธืก ื™ืžืคึผืœืึทืžืึทื ืฅ ืึท ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืจืึทืกื˜ืขืจื™ื–ืขืจ ืคึฟืึทืจ ื“ื™ Vulkan API (ืึทื ืึทืœืึธื’ ืฆื• llvmpipe, ืึธื‘ืขืจ ืคึฟืึทืจ Vulkan, ืื™ื‘ืขืจื–ืขืฆืŸ Vulkan API ืจื•ืคื˜ ืฆื• ื“ื™ Gallium API), ืฉื˜ื™ืฆื˜ ื“ื™ "ื•ื•ื™ื“ืขืœื™ื ืขืก" ืžืึธื“ืข (ื’ื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืฉื•ืจื•ืช ืžื™ื˜ ืึท ื‘ืจื™ื™ื˜ ืคื•ืŸ ืžืขืจ ื•ื•ื™ 1.0).
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ื ืึทืžื™ืฉ ื•ืคื“ืขืงื•ื ื’ ืื•ืŸ ืœืึธื•ื“ื™ื ื’ ืคื•ืŸ ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ื’ื‘ื (ื’ืขื ืขืจื™ืง ื‘ืึทืคืขืจ ืžืึทื ืึทื’ืขืจ) ื‘ืึทืงืขื ื“ื– ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“. ื“ืขืจ ืขื ื“ืขืจื•ื ื’ ืื™ื– ืึทื™ืžืขื“ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ Wayland ืฉื˜ื™ืฆืŸ ืื•ื™ืฃ ืกื™ืกื˜ืขืžืขืŸ ืžื™ื˜ NVIDIA ื“ืจื™ื•ื•ืขืจืก.
  • ื“ื™ ื–ื™ื ืง ื“ืจื™ื™ื•ื•ืขืจ (ืึท ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ OpenGL API ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ Vulkan, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืึทืงืกืขืœืขืจื™ื™ื˜ื™ื“ OpenGL ืื•ื™ื‘ ื“ื™ ืกื™ืกื˜ืขื ื”ืื˜ ื“ืจื™ื•ื•ืขืจืก ืœื™ืžื™ื˜ืขื“ ืฆื• ืฉื˜ื™ืฆืŸ ื‘ืœื•ื™ื– ื“ื™ Vulkan API) ืฉื˜ื™ืฆื˜ OpenGL ื™ืงืกื˜ืขื ืฉืึทื ื– GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_filter_ARB_maxure. ืฆื•ื’ืขืœื™ื™ื’ื˜ ื“ืจื ืคึฟืึธืจืžืึทื˜ ืžืึธื“ื™ืคื™ืขืจืก (ื“ื™ืจืขืงื˜ ืจืขื ื“ืขืจื™ื ื’ ืžืึทื ืึทื’ืขืจ, VK_EXT_image_drm_format_modifier ืคืึทืจืœืขื ื’ืขืจื•ื ื’ ืขื ื™ื™ื‘ืึทืœื“).
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื™ืงืกื˜ืขื ืฉืึทื ื– ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ Vulkan ื“ืจื™ื•ื•ืขืจืก RADV (AMD), ANV (Intel) ืื•ืŸ ืœืึทื•ื•ืึทืคึผื™ืคึผืข:
    • ื•ื•ืง_ืขืงืกื˜_ืคึผืจืึธื•ื•ืึธืงื™ื ื’_ื•ื•ืขืจื˜ืขืงืก (ืจืึทื“ื•ื•);
    • VK_EXT_extended_dynamic_state2 (ืจืึทื“ื•ื•);
    • 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 (ืœืึทื•ื•ืึทืคึผื™ืคึผืข);
    • VK_EXT_line_rasterization (ืœืึทื•ื•ืึทืคึผื™ืคึผืข);
    • VK_EXT_multi_draw (ืึทื ื•ื•, ืœืึทื•ื•ืึทืคึผื™ืคึผืข, ืจืึทื“ื•ื•);
    • VK_KHR_separate_depth_stencil_layouts (ืœืึทื•ื•ืึทืคึผื™ืคึผืข);
    • VK_EXT_separate_stencil_usage(ืœืึทื•ื•ืึทืคึผื™ืคึผืข);
    • VK_EXT_extended_dynamic_state2 (ืœืึทื•ื•ืึทืคึผื™ืคึผืข).

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’