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

ืฉื”ื•ื’ืฉ ืขืœ ื™ื“ื™ ืฉื—ืจื•ืจ ื™ื™ืฉื•ื ื—ื™ื ื ืฉืœ OpenGL ื•-Vulkan API - ืžืกื” 19.3.0. ืœื’ืจืกื” ื”ืจืืฉื•ื ื” ืฉืœ ืขื ืฃ Mesa 19.3.0 ื™ืฉ ืกื˜ื˜ื•ืก ื ื™ืกื™ื•ื ื™ - ืœืื—ืจ ื”ืชื™ื™ืฆื‘ื•ืช ืกื•ืคื™ืช ืฉืœ ื”ืงื•ื“, ืชืฉื•ื—ืจืจ ื’ืจืกื” ื™ืฆื™ื‘ื” 19.3.1. ื‘ืžืกื” 19.3 ืžื•ื˜ืžืข ืชืžื™ื›ื” ืžืœืื” ื‘-OpenGL 4.6 ืขื‘ื•ืจ GPUs ืฉืœ ืื™ื ื˜ืœ (i965, ืžื ื”ืœื™ ื”ืชืงื ื™ื ืฉืœ Iris), ืชืžื™ื›ื” ื‘-OpenGL 4.5 ืขื‘ื•ืจ GPUs ืฉืœ AMD (r600, radeonsi) ื•-NVIDIA (nvc0), ื•ืชืžื™ื›ื” ื‘-Vulkan 1.1 ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ Intel ื•-AMD. ืืชืžื•ืœ ืฉื™ื ื•ื™ื™ื ื›ื“ื™ ืœืชืžื•ืš ื’ื ื‘-OpenGL 4.6 ื”ื•ืกื™ืฃ ืœืชื•ืš ื ื”ื’ ื”ืจื“ืื•ื ืกื™, ืืš ื”ื ืœื ื ื›ืœืœื• ื‘ืกื ื™ืฃ ืžืกื” 19.3.

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

  • ืงืฆื” ืื—ื•ืจื™ ื—ื“ืฉ ืœื”ื™ื“ื•ืจ ื”ืฆืœืœื•ืช ื”ื•ืฆืข ืขื‘ื•ืจ RADV (ืžื ื”ืœ ื”ืชืงืŸ ื•ื•ืœืงืŸ ืœืฉื‘ื‘ื™ AMD) "ACO", ืืฉืจ ืžืคื•ืชื— ืขืœ ื™ื“ื™ Valve ื›ื—ืœื•ืคื” ืœืžื”ื“ืจ ื”ื”ืฆืœืœื” LLVM. ื”ืงืฆื” ื”ืื—ื•ืจื™ ืžื›ื•ื•ืŸ ืœื”ื‘ื˜ื™ื— ื™ืฆื™ืจืช ืงื•ื“ ืื•ืคื˜ื™ืžืœื™ืช ื›ื›ืœ ื”ืืคืฉืจ ืขื‘ื•ืจ ื”ืฆืœืœื•ืช ื™ื™ืฉื•ืžื™ ืžืฉื—ืงื™ื, ื›ืžื• ื’ื ื”ืฉื’ืช ืžื”ื™ืจื•ืช ืงื•ืžืคื™ืœืฆื™ื” ื’ื‘ื•ื”ื” ืžืื•ื“. ACO ื›ืชื•ื‘ ื‘-C++, ืžืชื•ื›ื ืŸ ืขื ืžื—ืฉื‘ื” ืขืœ ืงื•ืžืคื™ืœืฆื™ื” ืฉืœ JIT, ื•ืžืฉืชืžืฉ ื‘ืžื‘ื ื™ ื ืชื•ื ื™ื ืื™ื˜ืจื˜ื™ื‘ื™ื™ื ืžื”ื™ืจื™ื, ืชื•ืš ื”ื™ืžื ืขื•ืช ืžืžื‘ื ื™ื ืžื‘ื•ืกืกื™ ืžืฆื‘ื™ืข. ื™ื™ืฆื•ื’ ื”ื‘ื™ื ื™ื™ื ืฉืœ ื”ืงื•ื“ ืžื‘ื•ืกืก ื›ื•ืœื• ืขืœ SSA (Static Single Assignment) ื•ืžืืคืฉืจ ื”ืงืฆืืช ืจื’ื™ืกื˜ืจ ืขืœ ื™ื“ื™ ื—ื™ืฉื•ื‘ ืžื“ื•ื™ืง ืžืจืืฉ ืฉืœ ื”ืจื’ื™ืกื˜ืจ ื‘ื”ืชืื ืœื”ืฆืœืœื”. ื ื™ืชืŸ ืœื”ืคืขื™ืœ ACO ืขื‘ื•ืจ Vega 8, Vega 9, Vega 10 ื•- Navi 10 GPUs ืขืœ ื™ื“ื™ ื”ื’ื“ืจืช ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” "RADV_PERFTEST=aco";
  • ืžื ื”ืœ ื”ืชืงืŸ Gallium3D ื›ืœื•ืœ ื‘ื‘ืกื™ืก ื”ืงื•ื“ ืื‘ืฅ, ื”ืžื™ื™ืฉืžืช ืืช OpenGL API ืขืœ ื’ื‘ื™ Vulkan. Zink ืžืืคืฉืจ ืœืš ืœืงื‘ืœ OpenGL ืžื•ืืฅ ื‘ื—ื•ืžืจื” ืื ืœืžืขืจื›ืช ื™ืฉ ืžื ื”ืœื™ ื”ืชืงื ื™ื ืžื•ื’ื‘ืœื™ื ืœืชืžื™ื›ื” ื‘-Vulkan API ื‘ืœื‘ื“;
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ANV Vulkan ื•ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Iris OpenGL ืžืกืคืงื™ื ืชืžื™ื›ื” ืจืืฉื•ื ื™ืช ืœื“ื•ืจ ื”-12 ืฉืœ ืฉื‘ื‘ื™ ืื™ื ื˜ืœ (Tiger Lake, gen12). ื‘ืงืจื ืœ ื”ืœื™ื ื•ืงืก, ืจื›ื™ื‘ื™ื ืœืชืžื™ื›ื” ื‘-Tiger Lake ื ื›ืœืœื• ืžืื– ื’ืจืกื” 5.4;
  • ื”ื“ืจื™ื™ื‘ืจื™ื ืฉืœ i965 ื•-iris ืžืกืคืงื™ื ืชืžื™ื›ื” ื‘ื™ื™ืฆื•ื’ ื‘ื™ื ื™ื™ื ืฉืœ ื”ืฆืœืœื•ืช SPIR-V, ืžื” ืฉืืคืฉืจ ืœื”ืฉื™ื’ ืชืžื™ื›ื” ืžืœืื” ื‘ื“ืจื™ื™ื‘ืจื™ื ืืœื• ืื•ืคื’ืœ 4.6;
  • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ RadeonSI ืžื•ืกื™ืฃ ืชืžื™ื›ื” ืขื‘ื•ืจ AMD Navi 14 GPUs ื•ืžืฉืคืจ ืืช ื”ืืฆืช ืคืขื ื•ื— ื”ื•ื•ื™ื“ืื•, ืœืžืฉืœ, ื”ื•ืกืคืช ืชืžื™ื›ื” ื‘ืคืขื ื•ื— ื•ื™ื“ืื• 8K ื‘ืคื•ืจืžื˜ื™ื H.265 ื•-VP9;
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ RADV Vulkan ืงื•ืžืคื™ืœืฆื™ื” ืžื•ื’ื ืช, ืฉื‘ื• ืžื‘ื•ื“ื“ื™ื ืืช ื”ืฉืจืฉื•ืจื™ื ืฉื”ื•ืฉืงื• ืœืงื•ืžืคื™ืœืฆื™ื” ืฉืœ shaders ื‘ืืžืฆืขื•ืช ืžื ื’ื ื•ืŸ seccomp. ื”ืžืฆื‘ ืžื•ืคืขืœ ื‘ืืžืฆืขื•ืช ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” RADV_SECURE_COMPILE_THREADS;
  • ืžื ื”ืœื™ ื”ืชืงื ื™ื ืขื‘ื•ืจ ืฉื‘ื‘ื™ AMD ืžืฉืชืžืฉื™ื ื‘-AMDGPU ืฉื”ื•ืคื™ืข ื‘ืžื•ื“ื•ืœ ื”ืœื™ื‘ื” ืžืžืฉืง ืชื•ื›ื ื” ื›ื“ื™ ืœืืคืก ืืช ื”-GPU;
  • ื ืขืฉืชื” ืขื‘ื•ื“ื” ืœืฉื™ืคื•ืจ ื”ื‘ื™ืฆื•ืขื™ื ื‘ืžืขืจื›ื•ืช ืขื AMD Radeon APUs. ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืžื ื”ืœ ื”ื”ืชืงืŸ Gallium3D Iris ืขื‘ื•ืจ Intel GPUs ืฉื•ืคืจื• ื’ื ื”ื;
  • ื‘ืžื ื”ืœ ื”ื”ืชืงืŸ Gallium3D LLVMpipe, ื”ืžืกืคืง ืขื™ื‘ื•ื“ ืชื•ื›ื ื”, ื”ื•ืคื™ืข ืชืžื™ื›ื” ื‘ื”ืฆืœืœื•ืช ื—ื™ืฉื•ื‘ื™ื•ืช;
  • ืžืขืจื›ืช ืžื˜ืžื•ืŸ Shader ื‘ื“ื™ืกืง ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืขื‘ื•ืจ ืžืขืจื›ื•ืช ืขื ื™ื•ืชืจ ืž-4 ืœื™ื‘ื•ืช CPU;
  • ืืคืฉืจื” ืืช ืžืขืจื›ืช ื”ื‘ื ื™ื™ื” ืฉืœ Meson ืœื”ื™ื“ื•ืจ ื‘-Windows ื‘ืืžืฆืขื•ืช MSVC ื•-MinGW. ื”ืฉื™ืžื•ืฉ ื‘-scons ืœื‘ื ื™ื™ื” ื”ื•ืฆื ืžืฉื™ืžื•ืฉ ื‘ืžืขืจื›ื•ืช ืฉืื™ื ืŸ Windows;
  • ื”ื•ื˜ืžืข ื”ืจื—ื‘ืช EGL EGL_EXT_image_flush_external;
  • ื ื•ืกืคื• ืชื•ืกืคื™ OpenGL ื—ื“ืฉื™ื:
    • GL_ARB_gl_spirv ืขื‘ื•ืจ ื ื”ื’ื™ i965 ื•ืื™ืจื™ืก;
    • GL_ARB_spirv_ืขื‘ื•ืจ ืžื ื”ืœื™ ื”ืชืงื ื™ื ืฉืœ i965 ื•ืื™ืจื™ืก;
    • GL_EXT_demote_to_helper_invocation ืขื‘ื•ืจ ื ื”ื’ื™ i965 ื•ืื™ืจื™ืก;
  • ื ื•ืกืคื• ื”ืจื—ื‘ื•ืช ืœืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ RADV Vulkan (ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ AMD):
  • ื ื•ืกืคื• ื”ืจื—ื‘ื•ืช ืœืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ANV Vulkan (ืขื‘ื•ืจ ื›ืจื˜ื™ืกื™ ืื™ื ื˜ืœ):

ื‘ื ื•ืกืฃ, ื ื™ืชืŸ ืœืฆื™ื™ืŸ ืคืจืกื•ื ืขืœ ื™ื“ื™ AMD ืชื™ืขื•ื“ ืขืœ ืคื™ ืืจื›ื™ื˜ืงื˜ื•ืจืช ื”ืคืงื•ื“ื” ืฉืœ "Vega" 7nm APU ื”ืžื‘ื•ืกืกืช ืขืœ ื”ืžื™ืงืจื•-ืืจื›ื™ื˜ืงื˜ื•ืจื” GCN (Graphics Core Next).

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

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