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

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

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

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

  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ Vulkan 1.3 graphics API.
  • ื“ืขืจ ืงืึธื“ ืคึฟืึทืจ ืงืœืึทืกื™ืฉ OpenGL ื“ืจื™ื•ื•ืขืจืก ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ื ื•ืฆืŸ ื“ื™ Gallium3D ืฆื•ื‘ื™ื ื“ ืื™ื– ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืคื•ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืžืขืกืึท ืฆื• ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืฆื•ื•ื™ื™ึทื’ "ืึทืžื‘ืขืจ", ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ i915 ืื•ืŸ i965 ื“ืจื™ื•ื•ืขืจืก ืคึฟืึทืจ ื™ื ื˜ืขืœ ื’ืคึผื•ืก, ืจ100 ืื•ืŸ ืจ200 ืคึฟืึทืจ ืึทืžื“ ื’ืคึผื•ืก ืื•ืŸ ื ืึธื•ื•ื•ืขืึทื• ืคึฟืึทืจ ื ื•ื•ื™ื“ื™ืึท ื’ืคึผื•ืก. ื“ืขืจ SWR ืฉืึธืคืขืจ, ื•ื•ืึธืก ื’ืขืคึฟื™ื ื˜ ืึทืŸ OpenGL ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืจืึทืกื˜ืขืจื™ื–ืขืจ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ Intel OpenSWR ืคึผืจื•ื™ืขืงื˜, ืื™ื– ืื•ื™ืš ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• ื“ื™ "ื‘ื•ืจืฉื˜ื™ืŸ" ืฆื•ื•ื™ื™ึทื’. ื“ืขืจ ืงืœืึทืกื™ืฉ ืงืกืœื™ื‘ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ื™ืงืกืงืœื•ื“ื™ื“ ืคื•ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืกื˜ืจื•ืงื˜ื•ืจ, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื•ื•ืึธืก ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื ื•ืฆืŸ ื“ื™ Gallium-xlib ื•ื•ืึทืจื™ืึทื ื˜.
  • ื“ื™ Gallium ื“ืจื™ื™ื•ื•ืขืจ D3D12 ืžื™ื˜ ืึท ืฉื™ื›ื˜ืข ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ OpenGL ืึทืจื‘ืขื˜ ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ ื“ื™ DirectX 12 API (D3D12) ื™ื ืฉื•ืจื– ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžื™ื˜ OpenGL ES 3.1. ื“ืขืจ ืฉืึธืคืขืจ ืื™ื– ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ WSL2 ืฉื™ื›ื˜ืข ืฆื• ืœื•ื™ืคืŸ ืœื™ื ื•ืงืก ื’ืจืึทืคื™ืงืึทืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ื™ืฃ Windows.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ Intel Alderlake (S ืื•ืŸ N) ื˜ืฉื™ืคึผืก ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ OpenGL ืฉืึธืคืขืจ "ื™ืจื™ืก" ืื•ืŸ ื•ื•ื•ืœืงืึทืŸ ืฉืึธืคืขืจ "ANV".
  • ื™ื ื˜ืขืœ ื’ืคึผื• ื“ืจื™ื•ื•ืขืจืก ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึทื“ืึทืคึผื˜ื™ื•ื•ืข-ืกื™ื ืง (VRR) ื˜ืขื›ื ืึธืœืึธื’ื™ืข ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ืึทืœืึทื•ื™ื ื’ ืื™ืจ ืฆื• ืึทื“ืึทืคึผื˜ื™ื•ื•ืœื™ ื˜ื•ื™ืฉืŸ ื“ื™ ืžืึธื ื™ื˜ืึธืจ ืก ื“ืขืจืคืจื™ืฉืŸ ืงื•ืจืก ืคึฟืึทืจ ื’ืœืึทื˜, ื˜ืจืขืจ-ืคืจื™ื™ ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ.
  • ื“ื™ RADV Vulkan ื“ืจื™ื™ื•ื•ืขืจ (AMD) ื”ืืœื˜ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืฉื˜ืจืึทืœ ื˜ืจื™ื™ืกื™ื ื’ ืื•ืŸ ืฉืึทื“ืขืจื– ืคึฟืึทืจ ืฉื˜ืจืึทืœ ื˜ืจื™ื™ืกื™ื ื’.
  • ื“ื™ v3dv ืฉืึธืคืขืจ, ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืคึฟืึทืจ ื“ื™ VideoCore VI ื’ืจืึทืคื™ืงืก ืึทืงืกืขืœืขืจืึทื˜ืึธืจ, ื’ืขื•ื•ื™ื™ื ื˜ ืกื˜ืึทืจื˜ื™ื ื’ ืžื™ื˜ ื“ื™ Raspberry Pi 4 ืžืึธื“ืขืœ, ื’ื™ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึทืจื‘ืขื˜ืŸ ืื•ื™ืฃ ื“ื™ ืึทื ื“ืจื•ื™ื“ ืคึผืœืึทื˜ืคืึธืจืžืข.
  • ืคึฟืึทืจ EGL, ืึท "dma-buf ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ" ืžืขืงืึทื ื™ื–ืึทื ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“, ื•ื•ืึธืก ื’ื™ื˜ ื ืึธืš ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ื‘ื ื™ืžืฆื ื’ืคึผื•ืก ืื•ืŸ ืžืื›ื˜ ืขืก ืžืขื’ืœืขืš ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ืขืคืขืงื˜ื™ื•ื•ืงื™ื™ึทื˜ ืคื•ืŸ ื“ืึทื˜ืŸ ื•ื•ืขืงืกืœ ืฆื•ื•ื™ืฉืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืื•ืŸ ืฆื•ื•ื™ื™ื˜ื™ืง ื’ืคึผื•, ืœืžืฉืœ, ืฆื• ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ืจืขื–ื•ืœื˜ืึทื˜ ืึธืŸ ื™ื ื˜ืขืจืžื™ื“ื™ื™ื˜ ื‘ืึทืคืขืจื™ื ื’.
  • OpenGL 3 ืฉื˜ื™ืฆืŸ ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ vmwgfx ืฉืึธืคืขืจ, ื’ืขื ื™ืฆื˜ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ 4.3 ื“ ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื™ืŸ VMware ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื™ืงืกื˜ืขื ืฉืึทื ื– ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ Vulkan ื“ืจื™ื•ื•ืขืจืก RADV (AMD), ANV (ื™ื ื˜ืขืœ) ืื•ืŸ ื–ื™ื ืง (OpenGL ืื™ื‘ืขืจ Vulkan):
    • VK_KHR_dynamic_rendering (lavapipe, radv, anv)
    • VK_EXT_image_view_min_lod (ืจืึทื“ื•ื•) KHR_synchronization2.txt VK_KHR_synchronization2]] (ืจืึทื“ื•ื•)
    • VK_EXT_memory_object (ื–ื™ื ืง)
    • VK_EXT_memory_object_fd (ื–ื™ื ืง)
    • VK_EXT_semaphore (ืฆื™ื ืง)
    • VK_EXT_semaphore_fd (ื–ื™ื ืง)
    • VK_VALVE_mutable_descriptor_type (ื–ื™ื ืง)
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ื ื™ื™ึทืข OpenGL ื™ืงืกื˜ืขื ืฉืึทื ื–:
    • GL_ARB_sparse_texture (ืจืึทื“ืึธื ืกื™, ื–ื™ื ืง)
    • GL_ARB_sparse_texture2 (ืจืึทื“ืึธื ืกื™, ื–ื™ื ืง)
    • GL_ARB_sparse_texture_clamp (ืจืึทื“ืึธื ืกื™, ื–ื™ื ืง)
    • GL_ARB_framebuffer_no_attachments
    • GL_ARB_sample_shading

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

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