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

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

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

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

  • ื“ื™ ื–ื™ื ืง ืฉืึธืคืขืจ (ืึท ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ OpenGL API ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ Vulkan, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืึทืงืกืขืœืขืจื™ื™ื˜ื™ื“ OpenGL ืื•ื™ื‘ ื“ื™ ืกื™ืกื˜ืขื ื”ืื˜ ื“ืจื™ื•ื•ืขืจืก ืœื™ืžื™ื˜ืขื“ ืฆื• ืฉื˜ื™ืฆืŸ ื‘ืœื•ื™ื– ื“ื™ Vulkan API) ืฉื˜ื™ืฆื˜ OpenGL ES 3.2.
  • ื“ื™ ืคึผืึทื ืคืจืึธืกื˜ ื“ืจื™ื™ื•ื•ืขืจ, ื“ื™ื–ื™ื™ื ื“ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ื’ืคึผื•ืก ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืžื™ื“ื’ืึทืจื“ (Mali-T6xx, Mali-T7xx, Mali-T8xx) ืื•ืŸ Bifrost (Mali G3x, G5x, G7x) ืžื™ืงืจืึธืึทืจื˜ืฉื™ื˜ืขืงื˜ื•ืจืขืก, ืื™ื– ืึทืคื™ืฉืึทืœื™ ืกืขืจื˜ืึทืคื™ื™ื“ ืคึฟืึทืจ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžื™ื˜ OpenGL ES 3.1.
  • ื“ื™ v3dv ืฉืึธืคืขืจ, ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืคึฟืึทืจ ื“ื™ VideoCore VI ื’ืจืึทืคื™ืงืก ืึทืงืกืขืœืขืจืึทื˜ืึธืจ, ื’ืขื•ื•ื™ื™ื ื˜ ืกื˜ืึทืจื˜ื™ื ื’ ืžื™ื˜ ื“ื™ Raspberry Pi 4 ืžืึธื“ืขืœ, ื”ืื˜ ืกืขืจื˜ืึทืคื™ื™ื“ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ Vulkan 1.1 ื’ืจืึทืคื™ืงืก ืึทืคึผื™, ืื•ืŸ ืื•ื™ืš ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื–ืฉื™ืึทืžืึทื˜ืจื™ ืฉืึทื“ืขืจื–. ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ื“ื™ ืงืึธื“ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ื“ื•ืจืš ื“ื™ ืฉืึทื“ืขืจ ืงืึทืžืคึผื™ื™ืœืขืจ ืื™ื– ื‘ืื˜ื™ื™ื˜ื™ืง ื™ืžืคึผืจื•ื•ื•ื“, ื•ื•ืึธืก ื”ืื˜ ืึท positive ื•ื•ื™ืจืงื•ื ื’ ืื•ื™ืฃ ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ืžื’ื™ืœื” ื•ื•ืึธืก ืึทืงื˜ื™ื•ื•ืœื™ ื ื•ืฆืŸ ืฉืึทื“ืขืจื–, ืึทื–ืึท ื•ื•ื™ ืฉืคึผื™ืœืขืจื™ื™ึท ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ Unreal Engine 4.
  • ื“ื™ RADV Vulkan ื“ืจื™ื™ื•ื•ืขืจ (AMD) ื”ืื˜ ืฆื•ื’ืขืœื™ื™ื’ื˜ ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืฉื˜ืจืึทืœ ื˜ืจื™ื™ืกื™ื ื’ ืื•ืŸ ืฉื˜ืจืึทืœ ื˜ืจื™ื™ืกื™ื ื’ ืฉืึทื“ืขืจื–. ืคึฟืึทืจ GFX10.3 ืงืึทืจื“ืก, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคึผืจื™ืžื™ื˜ื™ื•ื• ืงืึทืœืœื™ื ื’ ืžื™ื˜ NGG (Next-Gen Geometry) ืฉืึทื“ืขืจ ืขื ื“ื–ืฉืึทื ื– ืื™ื– ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜.
  • ื“ื™ Iris OpenGL ืฉืึธืคืขืจ (ืึท ื ื™ื™ึทืข ืฉืึธืคืขืจ ืคึฟืึทืจ ื™ื ื˜ืขืœ ื’ืคึผื•ืก) ื”ืื˜ ืฆื•ื’ืขืœื™ื™ื’ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืžื•ืœื˜ื™-ื˜ืจืขื“ื™ื“ ืฉืึทื“ืขืจ ื–ืึทืžืœื•ื ื’.
  • ื“ืขืจ ืœืึทื•ื•ืึทืคึผื™ืคึผืข ืฉืึธืคืขืจ, ื•ื•ืึธืก ื™ืžืคึผืœืึทืžืึทื ืฅ ืึท ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืจืึทืกื˜ืขืจื™ื–ืขืจ ืคึฟืึทืจ ื“ื™ Vulkan API (ืขื ืœืขืš ืฆื• llvmpipe, ืึธื‘ืขืจ ืคึฟืึทืจ Vulkan, ืื™ื‘ืขืจื–ืขืฆืŸ Vulkan API ืจื•ืคื˜ ืฆื• ื“ื™ Gallium API) ื”ืื˜ ื™ืžืคึผืœืึทืžืขื ืึทื“ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึทื ื™ืกืึธื˜ืจืึธืคึผื™ืง ื’ืขื•ื•ืขื‘ ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ืื•ืŸ ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ Vulkan 1.2.
  • ื“ื™ OpenGL ืฉืึธืคืขืจ llvmpipe, ื“ื™ื–ื™ื™ื ื“ ืคึฟืึทืจ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืจืขื ื“ืขืจื™ื ื’, ื”ืื˜ ื’ืขื•ื•ืืงืกืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืžื™ื˜ 2-3 ืžืึธืœ ื•ื•ืขืŸ ืคึผืขืจืคืึธืจืžื™ื ื’ ืึทืงืฉืึทื ื– ืฉื™ื™ึทื›ื•ืช ืฆื• 2D ืึทืคึผืขืจื™ื™ืฉืึทื ื–. ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ FP16 ืึทืคึผืขืจื™ื™ืฉืึทื ื–, ืึทื ื™ืกืึธื˜ืจืึธืคึผื™ืง ื’ืขื•ื•ืขื‘ ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ (GL_ARB_texture_filter_anisotropic) ืื•ืŸ ืคึผื™ื ื“ ื–ื›ึผืจื•ืŸ ื’ืขื‘ื™ื˜ืŸ (GL_AMD_pinned_memory). ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ OpenGL 4.5 ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืคึผืจืึธืคื™ืœ ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜.
  • ื“ื™ VA-API (Video Acceleration API) ืฉื˜ืึทื˜ ื˜ืจืึทืงืขืจ ื’ื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึทืงืกืขืœืขืจื™ื™ื˜ื™ื ื’ AV1 ื•ื•ื™ื“ืขื ืงืึธื“ื™ืจื•ื ื’ ืื•ืŸ ื“ื™ืงืึธื•ื“ื™ื ื’ ื•ื•ืขืŸ ื ื™ืฆืŸ ืึทืžื“ ื’ืคึผื• ื“ืจื™ื•ื•ืขืจืก.
  • EGL ืฉื˜ื™ืฆืŸ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืคึฟืึทืจ ื“ื™ Windows ืคึผืœืึทื˜ืคืึธืจืžืข.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ EGL_EXT_present_opaque ืคืึทืจืœืขื ื’ืขืจื•ื ื’ ืคึฟืึทืจ Wayland. ืคึผืจืึธื‘ืœืขืžืก ืžื™ื˜ ื•ื•ื™ื™ึทื–ื ื“ื™ืง ื“ื•ืจื›ื–ืขื™ืงื™ื™ึทื˜ ืื™ืŸ ืฉืคึผื™ืœืขืจื™ื™ึท ื•ื•ืึธืก ืœื•ื™ืคืŸ ืื™ืŸ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ Wayland ืคึผืจืึธื˜ืึธืงืึธืœ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืกืึทืœื•ื•ื“.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื™ืงืกื˜ืขื ืฉืึทื ื– ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ Vulkan ื“ืจื™ื•ื•ืขืจืก RADV (AMD), ANV (Intel) ืื•ืŸ ืœืึทื•ื•ืึทืคึผื™ืคึผืข:
    • VK_EXT_shader_atomic_float2 (ื™ื ื˜ืขืœ, ืจืึทื“ื•ื•).
    • VK_EXT_vertex_input_dynamic_state (RADV).
    • VK_EXT_primitive_topology_list_restart (ืจืึทื“ื•ื•, ืœืึทื•ื•ืึทืคึผื™ืคึผืข).
    • VK_KHR_shader_integer_dot_product (RADV).
    • VK_KHR_synchronization2 (ื™ื ื˜ืขืœ).
    • VK_KHR_maintenance4 (RADV).
    • VK_KHR_format_feature_flags2 (RADV).
    • VK_KHR_shader_subgroup_extended_types (ืœืึทื•ื•ืึทืคึผื™ืคึผืข).
    • VK_KHR_spirv_1_4 (ืœืึทื•ื•ืึทืคึผื™ืคึผืข).
    • VK_KHR_timeline_semaphore (ืœืึทื•ื•ืึทืคึผื™ืคึผืข).
    • VK_EXT_external_memory_host (ืœืึทื•ื•ืึทืคึผื™ืคึผืข).
    • VK_KHR_depth_stencil_resolve (ืœืึทื•ื•ืึทืคึผื™ืคึผืข).
    • VK_KHR_shader_float16_int8 (ืœืึทื•ื•ืึทืคึผื™ืคึผืข).
    • VK_EXT_color_write_enable (ืœืึทื•ื•ืึทืคึผื™ืคึผืข).

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

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