Рэліз Mesa 20.2.0, свабоднай рэалізацыі OpenGL і Vulkan

Прадстаўлены рэліз свабоднай рэалізацыі API OpenGL і Vulkan Mesa 20.2.0. У Mesa 20.2 рэалізавана поўная падтрымка OpenGL 4.6 для GPU Intel (драйверы i965, iris) і AMD (radeonsi), падтрымка OpenGL 4.5 для GPU AMD (r600), NVIDIA (nvc0) і llvmpipe, OpenGL 4.3 для virgl (віртуальны GPU Virgil3D для QEMU / KVM), а таксама падтрымка Vulkan 1.2 для карт Intel і AMD.

Сярод змен:

  • У драйверы lvmpipe, прызначаным для праграмнай адмалёўкі, забяспечана падтрымка OpenGL 4.5.
  • У Vulkan-драйверы RADV (для карт AMD) па змаўчанні задзейнічаны кампілятар шэйдараўACO«, Які развіваецца кампаніяй Valve ў якасці альтэрнатывы кампілятару шэйдараў LLVM. ACO напісаны на мове З++, распрацоўваецца з аглядкай на магчымасць ужывання для JIT-кампіляцыі і накіраваны на забеспячэнне генерацыі кода, наколькі гэта магчыма аптымальнага для шэйдараў гульнявых прыкладанняў, а таксама на дасягненне вельмі высокай хуткасці кампіляцыі.
  • Дададзена пачатковая падтрымка GPU AMD Navi 21 (Navy Flounder) і Navi 22 (Sienna Cichlid).
  • У драйверах для GPU Intel палепшана падтрымка чыпаў на базе мікраархітэктуры Возера Ракета и дададзена пачатковая падтрымка дыскрэтных карт Intel Xe DG1.
  • Пашыраны магчымасці Gallium3D-драйвера Zink, які рэалізуе API OpenGL па-над Vulkan. Zink дазваляе атрымаць апаратна паскораны OpenGL пры наяўнасці ў сістэме драйвераў, абмежаваных падтрымкай толькі API Vulkan.
  • У Gallium3D-дрыввер Nouveau NVC0 задзейнічаны HMM (heterogeneous memory management) для падтрымкі OpenCL SVM (Shared Virtual Memory).
  • У драйверы Панфрост стабілізаваная падтрымка 3D-рэндэрынгу для GPU Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx).
  • У RadeonSI унесены паляпшэнні, звязаныя з віртуалізацыяй GPU.
  • Дададзена падтрымка кэшавання на дыску прамежкавага прадстаўлення TGSI (Tungsten Graphics Shader Infrastructure).
  • Дададзены новыя пашырэнні OpenGL:
    • GL_ARB_compute_variable_group_size для Intel Iris.
    • GL_ARB_gl_spirv для Nouveau nvc0.
    • GL_NV_half_float для Nouveau nvc0.
    • GL_NV_copy_depth_to_color для Nouveau nvc0.
    • GL_ARB_spirv_extensions для Nouveau nvc0.
    • GL_EXT_shader_group_vote для llvmpipe.
    • GL_ARB_gpu_shader5 для llvmpipe.
    • GL_ARB_post_depth_coverage для llvmpipe.
    • GL_EXT_texture_shadow_lod для llvmpipe.
  • Дададзена падтрымка EGL-пашырэння EGL_KHR_swap_buffers_with_damage (для X11 DRI3), а таксама GLX-пашырэнняў GLX_EXT_swap_control (DRI2, DRI3) і GLX_EXT_swap_control_tear (DRI3).
  • У Vulkan-драйвер RADV (для карт AMD) дададзены пашырэнні:
    • VK_EXT_4444_форматы
    • VK_KHR_памяць_мадэль
    • VK_AMD_texture_gather_bias_lod
    • VK_AMD_gpu_shader_half_float
    • VK_AMD_gpu_shader_int16
    • VK_EXT_пашыраны_дынамічны_стан
    • VK_EXT_малюнак_надзейны
    • VK_EXT_приватные_данные
    • VK_EXT_карыстальніцкі_каляровы колер
    • Кантроль VK_EXT_трубаправода_тварэння_каш_
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_падгрупа_кантроль
    • VK_GOOGLE_type_user_type
    • Тыпы VK_KHR_shader_subgroup_extended_typs
  • У Vulkan-драйвер ANV (для карт Intel) дададзены пашырэнні:
    • VK_EXT_малюнак_надзейны
    • VK_EXT_shader_atomic_float
    • VK_EXT_4444_форматы
    • VK_EXT_пашыраны_дынамічны_стан
    • VK_EXT_приватные_данные
    • VK_EXT_карыстальніцкі_каляровы колер
    • Кантроль VK_EXT_трубаправода_тварэння_каш_

Крыніца: opennet.ru

Дадаць каментар