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

ืฉื”ื•ื’ืฉ ืขืœ ื™ื“ื™ ืฉื—ืจื•ืจ ื™ื™ืฉื•ื ื—ื™ื ื ืฉืœ OpenGL ื•-Vulkan API - ืžืกื” 20.1.0. ืœื’ืจืกื” ื”ืจืืฉื•ื ื” ืฉืœ ืขื ืฃ Mesa 20.1.0 ื™ืฉ ืกื˜ื˜ื•ืก ื ื™ืกื™ื•ื ื™ - ืœืื—ืจ ื”ืชื™ื™ืฆื‘ื•ืช ืกื•ืคื™ืช ืฉืœ ื”ืงื•ื“, ืชืฉื•ื—ืจืจ ื’ืจืกื” ื™ืฆื™ื‘ื” 20.1.1. ื‘ืžืกื” 20.1 ืžื•ื˜ืžืข ืชืžื™ื›ื” ืžืœืื” ื‘-OpenGL 4.6 ืขื‘ื•ืจ GPUs Intel (i965, iris) ื•-AMD (radeonsi), ืชืžื™ื›ื” ื‘-OpenGL 4.5 ืขื‘ื•ืจ GPUs AMD (r600) ื•-NVIDIA (nvc0), OpenGL 4.3 ืขื‘ื•ืจ virgl (GPU ื•ื™ืจื˜ื•ืืœื™) Virgil3D ืขื‘ื•ืจ QEMU/KVM), ื›ืžื• ื’ื ืชืžื™ื›ื” ื‘-Vulkan 1.2 ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ Intel ื•-AMD.

ื‘ื™ืŸ ืฉื™ื ื•ื™ื™ื:

  • ื ื•ืกืฃ ืฉื›ื‘ืช ื‘ื—ื™ืจืช ืžื›ืฉื™ืจ ืคืขื™ืœื” ืขื‘ื•ืจ Vulkan API ื‘ืžืขืจื›ื•ืช ืขื ืžืกืคืจ GPUs ื”ืชื•ืžื›ื™ื ื‘-Vulkan, ืขื•ื‘ื“ืช ื‘ื“ื•ืžื” ืœ-DRI_PRIME ืขื‘ื•ืจ OpenGL. ื›ื“ื™ ืœื‘ื—ื•ืจ ืืช ืžื ื”ืœ ื”ื”ืชืงืŸ ื•ื”-GPU ื”ืคืขื™ืœื™ื, ืžืกื•ืคืง ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” MESA_VK_DEVICE_SELECT (ืื ืœื ืžื•ืชืงืŸ, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-DRI_PRIME).
  • ืชืžื™ื›ื” ื‘ืฉื‘ื‘ื™ื ืฆืคื•ื™ื™ื ื‘ืฉื ื” ื”ื‘ืื” ื‘ื”ืชื‘ืกืก ืขืœ ื”ืžื™ืงืจื•-ืืจื›ื™ื˜ืงื˜ื•ืจื” ื”ื—ื“ืฉื” ื ื•ืกืคื” ืœืžื ื”ืœื™ ื”ื”ืชืงืŸ ืฉืœ i965 ื•-iris ืขื‘ื•ืจ Intel GPUs ืื’ื ื”ืจืงื˜ื•ืช.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ANV Vulkan ืžืคื•ืชื— ืขื‘ื•ืจ ืžืขื‘ื“ื™ ืื™ื ื˜ืœ ื”ื•ืกื™ืฃ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืœืฉื‘ื‘ื™ื ื”ืžื‘ื•ืกืกืช ืขืœ ื”ืžื™ืงืจื•-ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœ Icelake (Gen11), ื”ืžืืคืฉืจืช ืฉื™ืžื•ืฉ ื‘ืฆื‘ืขื™ื ื˜ื”ื•ืจื™ื ื‘ืขืช ื™ืฆื™ืจืช ืžืจืงื. ื›ืืฉืจ ื ื‘ื“ืง ื‘-Dota2, ื”ืฉื™ื ื•ื™ ื”ืคื—ื™ืช ืืช ืžืกืคืจ ืคืขื•ืœื•ืช ื”ืžืจืช ื”ืฆื‘ืข ื‘-95% ื•ื”ื’ื“ื™ืœ ืืช ื”ื‘ื™ืฆื•ืขื™ื ื‘-3.5%.
  • ื‘-Vulkan driver ANV ืžื•ึผื’ื“ึธืœ ื™ืขื™ืœื•ืช ื”ืฉื™ืžื•ืฉ ื‘ืžื˜ืžื•ืŸ ื‘ืžืขืจื›ื•ืช ืขื ืฉื‘ื‘ื™ Intel Ivybridge ื•-Haswell. ืฉื™ืžื•ืฉ ื‘ืžื‘ื—ื ื™ ืคื•ื ืงืฆื™ื™ืช ื”ืžื—ืฉื•ื‘ Vulkan ืž-Geekbench 5 ื”ืจืื” ืขืœื™ื™ื” ื‘ื‘ื™ืฆื•ืขื™ื ืฉืœ 330% ื‘ื—ื•ืžืจืช Haswell GT3 (ืขืœื™ื™ื” ืขืงื‘ ื”ืขื•ื‘ื“ื” ืฉื‘ืขื‘ืจ ืœื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžื˜ืžื•ืŸ ื‘ืชื ืื™ื ืžืกื•ื™ืžื™ื).
  • ืžื ื”ืœื™ ื”ืชืงื ื™ื ืขื‘ื•ืจ ืื™ื ื˜ืœ GPUs (i965, ืื™ืจื™ืก) ื”ื•ืกื™ืฃ ืžืฆื‘ "ื—ื•ืจ ืฉื—ื•ืจ" (ืกื™ื•ืžืช OpenGL INTEL_blackhole_render), ืืฉืจ ืžืฉื‘ื™ืช ืืช ื›ืœ ืคืขื•ืœื•ืช ื”ืจื™ื ื“ื•ืจ ื”ืžื•ืขื‘ืจื•ืช ืขืœ ื™ื“ื™ ื”-GPU, ืืš ืฉื•ืžืจ ืขืœ ื”ืขื™ื‘ื•ื“ ืฉืœ ืคืขื•ืœื•ืช OpenGL.
  • ืชืžื™ื›ืช ื•ืงื˜ื•ืจื™ื–ืฆื™ื” ืฉื ื•ืกืคื” ื‘ืขื‘ืจ ืขื‘ื•ืจ ืฉื‘ื‘ื™ AMD ื”ื•ืขื‘ืจื” ืขื‘ื•ืจ ืฉื‘ื‘ื™ ื’ืจืคื™ืงื” ืฉืœ ืื™ื ื˜ืœ ื .ืจ, ื™ื™ืฆื•ื’ ื‘ื™ื ื™ื™ื ื—ืกืจ ืกื•ื’ (IR) ืฉืœ ื”ืฆืœืœื•ืช ืฉืžื˜ืจืชืŸ ืœืขื‘ื•ื“ ื‘ืจืžื” ื”ื ืžื•ื›ื” ื‘ื™ื•ืชืจ, ืชื—ืช GLSL IR ื•ื”-IR ื”ืคื ื™ืžื™ ืฉืœ Mesa. ื‘ืคืŸ ื”ืคืจืงื˜ื™, ืขืงื‘ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ื˜ื•ื‘ื” ื™ื•ืชืจ ืฉืœ ื”ืฆืœืœื•ืช, ื”ืฉื™ื ื•ื™ ืืคืฉืจ ืœื”ื’ื‘ื™ืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ OpenGL ื•-Vulkan ื‘ืžืฉื—ืงื™ื ืจื‘ื™ื ื‘ืžืขืจื›ื•ืช ืขื ืื™ื ื˜ืœ GPUs. ืœืžืฉืœ, ื‘ืžืฉื—ืง
    ืขืœื™ื™ืชื• ืฉืœ ื˜ื•ืžื‘ ืจื™ื™ื“ืจ ืžึฐืคื•ึผืจืกึธื ืขืœื™ื™ื” ื‘ื‘ื™ืฆื•ืขื™ื ื‘-3%, ื•ื‘-Shadow of the Tomb Raider ื‘-10%.

  • ื‘ืงืฆื” ื”ืื—ื•ืจื™ ืœื”ื™ื“ื•ืจ ื”ืฆืœืœื•ืช "ACO", ืืฉืจ ืžืคื•ืชื—ืช ืขืœ ื™ื“ื™ Valve ื›ื—ืœื•ืคื” ืœืžื”ื“ืจ ื”ืฆืœืœื” LLVM, ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืกื•ื’ shaderInt9 ืขื‘ื•ืจ GFX16+ GPU, ื”ืžืืคืฉืจืช ืฉื™ืžื•ืฉ ื‘ืžืกืคืจื™ื ืฉืœืžื™ื ืฉืœ 16 ืกื™ื‘ื™ื•ืช ื‘ืงื•ื“ ื”ืฆืœืœื”. ืœ
    AMD Navi GPU (GFX10) ืžึฐืื•ึผื‘ื˜ึธื— ืฉื™ืžื•ืฉ ื‘ืžื ื•ืขื™ NGG (Next-Gen Geometry) ื‘ืขืช ืขื‘ื•ื“ื” ืขื ื”ืฆืœืœื•ืช ืงื•ื“ืงื•ื“ ื•-tssellation.

  • ืขื‘ื•ืจ AMD Navi 12 ื•- Navi 14 GPUs ื›ืœื•ืœ ืชืžื™ื›ื” ื‘ืžืฆื‘ DCC (Delta Color Compression) ื”ืžื•ืฆื’, ื”ืžื‘ื˜ื™ื— ืขื‘ื•ื“ื” ืขื ื ืชื•ื ื™ ืฆื‘ืข ื“ื—ื•ืกื™ื ื‘ืขืช ืืจื’ื•ืŸ ืคืœื˜ ื”ืชืฆื•ื’ื”.
  • ื ื•ืกืฃ ืชืžื™ื›ืช NIR ื ื™ืกื™ื•ื ื™ืช ืขื‘ื•ืจ ืžื ื”ืœ ื”ื”ืชืงืŸ ื”ืงืœืืกื™ Gallium3D R600 (AMD Radeon HD 2000-6000) ืขื ืชืžื™ื›ื” ื‘ื’ื™ืื•ืžื˜ืจื™, ืฉื‘ืจ, ืงื•ื“ืงื•ื“ ื• ืคึผึฐืกึดื™ืคึธืก shaders.
  • ืžื ื”ืœ ื”ืชืงืŸ ื•ื•ืœืงืŸ RADV ื”ื•ืกื™ืฃ ืชื™ืงื•ืŸ ื”ืžืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืžืฉื—ืงื™ Id Tech ื‘ืžืขืจื›ื•ืช ืขื AMD APU ืขืœ ื™ื“ื™ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ื ื™ื”ื•ืœ ื”ื–ื™ื›ืจื•ืŸ.
  • ื‘ื ื”ื’ ืฉืœ ืคื ืคืจื•ืกื˜ ืžื•ื˜ืžืข ืชืžื™ื›ื” ื ื™ืกื™ื•ื ื™ืช ืขื‘ื•ืจ OpenGL ES 3.0 ื• ืžึฐืื•ึผื‘ื˜ึธื— ืชืžื™ื›ื” ื‘ืขื™ื‘ื•ื“ ืชืœืช ืžื™ืžื“ ืขื‘ื•ืจ Bifrost GPU (Mali G3). ื”ื•ื›ืŸ ื™ื™ืฉื•ื ืจืืฉื•ื ื™ ืฉืœ ืžื”ื“ืจ ื”ืฆืœืœื” ื”ืชื•ืžืš ื‘ืกื˜ ื”ื•ืจืื•ืช ืคื ื™ืžื™ื•ืช ืกืคืฆื™ืคื™ื•ืช ืœ-Bifrost GPU.
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Vulkan TURNIP, ืฉืคื•ืชื— ืขื‘ื•ืจ GPUs ืฉืœ Qualcomm Adreno, ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ื‘ื”ืฆืœืœื•ืช ื’ื™ืื•ืžื˜ืจื™ื” ื• ืฉื‘ื‘ื™ ืื“ืจื ื• 650.
  • ื‘ืžื ื”ืœ ื”ื”ืชืงืŸ Gallium3D LLVMpipe, ื”ืžืกืคืง ืขื™ื‘ื•ื“ ืชื•ื›ื ื”, ื”ื•ืคื™ืข ืชืžื™ื›ื” ื‘ื”ืฆืœืœื•ืช ืชืกืœื•ืœื•ืช.
  • ื”ื•ืฆื’ ะฑะพะปัŒัˆะฐั ื—ืœืง ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ื‘-glthread (ื™ื™ืฉื•ื ืžืจื•ื‘ื”-ื—ื•ื’ื™ื ืฉืœ OpenGL). ืœืื—ืจ ื‘ื™ืฆื•ืข ื”ืฉื™ื ื•ื™ื™ื, ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืกื™ืžื•ืœื˜ื•ืจ ื”ืžื™ืจื•ืฆื™ื Torcs ืขืœื• ื‘-16% ื‘ืชืฆื•ืจืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื•ื‘-40% ื›ืืฉืจ glthread ื”ื•ืคืขืœ.
  • ื ื•ืกืฃ ืืคืฉืจื•ืช allow_draw_out_of_order (ืžื•ืคืขืœ ื‘ืืžืฆืขื•ืช driconf) ื›ื“ื™ ืœืืคืฉืจ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ื›ื“ื™ ืœื”ืื™ืฅ ืคืขื•ืœื•ืช ืฉืจื˜ื•ื˜ ืžื—ื•ืฅ ืœืกื“ืจ ื”ืกืคืฆื™ืคื™ื•ืช ืœ-CAD. ื›ืืฉืจ ืืคืฉืจื•ืช ื–ื• ืžื•ืคืขืœืช, ื ืฆืคื™ืช ื”ืืฆื” ืฉืœ 11% ื‘ืžื‘ื—ืŸ Viewperf7 Catia.
  • ื ื•ืกืคื• ืชื•ืกืคื™ OpenGL ื—ื“ืฉื™ื:
  • ื ื•ืกืคื• ื”ืจื—ื‘ื•ืช ืœืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ RADV Vulkan (ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ AMD):
    • VK_AMD_memory_allocation_behavior
    • VK_KHR_shader_non_semantic_info
    • VK_EXT_robustness2
    • VK_KHR_8bit_storage ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ GFX8+ ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืงืฆื” ื”ืื—ื•ืจื™ ืฉืœ ืื•ืกืฃ ื”ืฆืœืœื” "ACO".
    • VK_KHR_16bit_storage ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ GFX8+ ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืงืฆื” ื”ืื—ื•ืจื™ ืฉืœ ืงื•ืžืคื™ืœืฆื™ื” ืฉืœ ื”ืฆืœืœื” "ACO" (ืœืžืขื˜ ืชืžื™ื›ื” ื‘ืื—ืกื•ืŸ InputOutput16)
    • VK_KHR_shader_float16_int8 ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ GFX8+ ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืงืฆื” ื”ืื—ื•ืจื™ ืฉืœ ืงื•ืžืคื™ืœืฆื™ื” ืฉืœ ื”ืฆืœืœื” "ACO" (ืœืžืขื˜ ืชืžื™ื›ื” ื‘ืื—ืกื•ืŸ InputOutput16)
  • ื ื•ืกืคื• ื”ืจื—ื‘ื•ืช ืœืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ANV Vulkan (ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ ืื™ื ื˜ืœ):

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

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