Објавување на Mesa 21.2, бесплатна имплементација на OpenGL и Vulkan

По три месеци развој, беше објавено објавувањето на бесплатна имплементација на OpenGL и Vulkan API - Mesa 21.2.0. Првото издание на гранката Mesa 21.2.0 има експериментален статус - по конечното стабилизирање на кодот, ќе биде објавена стабилна верзија 21.2.1.

Mesa 21.2 вклучува целосна поддршка за OpenGL 4.6 за драјверите 965, iris (Intel), radeonsi (AMD), zink и llvmpipe. Поддршката за OpenGL 4.5 е достапна за графичките процесори AMD (r600) и NVIDIA (nvc0), а поддршката за OpenGL 4.3 за virgl (виртуелен графички процесор Virgil3D за QEMU/KVM). Поддршката за Vulkan 1.2 е достапна за картичките Intel и AMD, како и во режим на емулатор (vn), поддршката за Vulkan 1.1 е достапна за графичките процесори на Qualcomm и растеризерот на софтверот лавапип, а Vulkan 1.0 е достапен за графичките процесори Broadcom VideoCore VI (Raspberry Pi 4) .

Главните иновации:

  • Возачот на asahi OpenGL е вклучен со почетна поддршка за графичкиот процесор вклучен во чиповите на Apple M1. Возачот го користи интерфејсот Галиум и ги поддржува повеќето функции на OpenGL 2.1 и OpenGL ES 2.0, но сè уште не е погоден за извршување на повеќето игри. Шифрата на возачот се заснова на референтниот двигател на Gallium noop, со одреден код пренесен од драјверот Panfrost кој е развиен за графичкиот процесор ARM Mali.
  • Драјверот Crocus OpenGL е вклучен со поддршка за постари графички процесори на Intel (засновани на микроархитектурите Gen4-Gen7), кои не се поддржани од двигателот на Iris. За разлика од двигателот i965, новиот драјвер се заснова на архитектурата Gallium3D, која ги пренесува задачите за управување со меморијата на двигателот DRI во кернелот Linux и обезбедува готов државен тракер со поддршка за повторна употреба кеш на излезни објекти.
  • Вклучен е драјверот PanVk, обезбедувајќи поддршка за графичкиот API на Vulkan за графичките процесори ARM Mali Midgard и Bifrost. PanVk се развива од вработените во Collabora и е позициониран како продолжение на развојот на проектот Panfrost, кој обезбедува поддршка за OpenGL.
  • Драјверот Panfrost за Midgard графички процесори (Mali T760 и понови) и Bifrost графички процесори (Mali G31, G52, G76) поддржува OpenGL ES 3.1. Идните планови вклучуваат работа за зголемување на перформансите на чиповите Bifrost и имплементација на поддршка за графичкиот процесор базирана на архитектурата Valhall (Mali G77 и понови).
  • 32-битните х86 градби користат sse87 инструкции наместо x2 инструкции за математички пресметки.
  • Двигателот Nouveau nv50 за графичкиот процесор NVIDIA GT21x (GeForce GT 2×0) поддржува OpenGL ES 3.1.
  • Возачот Vulkan TURNIP и OpenGL драјверот Freedreno, развиени за Qualcomm Adreno GPU, имаат почетна поддршка за Adreno a6xx gen4 GPU (a660, a635).
  • Возачот на RADV (AMD) Vulkan додаде поддршка за примитивно убивање со помош на мотори за шејдер NGG (Next-Gen Geometry). Способноста да се изгради двигателот RADV на платформата Windows со помош на компајлерот MSVC е имплементирана.
  • Извршена е подготвителна работа во драјверот ANV Vulkan (Intel) и двигателот Iris OpenGL за да се обезбеди поддршка за претстојните Intel Xe-HPG (DG2) графички картички. Ова ги вклучува почетните карактеристики поврзани со следење зраци и поддршка за засенчувачи за следење зраци.
  • Драјверот за лавапип, кој имплементира софтверски растеризатор за Vulkan API (аналогно на llvmpipe, но за Vulkan, кој ги преведува повиците Vulkan API на Gallium API), го поддржува режимот „wideLines“ (обезбедува поддршка за линии со ширина што надминува 1.0).
  • Имплементирана е поддршка за динамично откривање и вчитување на алтернативни GBM (Generic Buffer Manager). Промената е насочена кон подобрување на поддршката на Wayland на системите со NVIDIA драјвери.
  • Драјверот Zink (имплементација на OpenGL API на врвот на Vulkan, што ви овозможува да добиете хардверски забрзан OpenGL ако системот има драјвери ограничени на поддршка само на Vulkan API) поддржува екстензии на OpenGL GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_texL_Ar _shader_clock. Додадени се модификатори на формат на DRM (Менаџер за директно прикажување, овозможена наставка за VK_EXT_image_drm_format_modifier).
  • Поддршката за екстензии е додадена на Vulkan драјверите RADV (AMD), ANV (Intel) и lavapipe:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapipe);
    • VK_EXT_line_rasterization(lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_separate_depth_stencil_layouts(lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (лавапип).

Извор: opennet.ru

Додадете коментар