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

Воведени објавување на бесплатна имплементација на OpenGL и Vulkan API - Mesa 20.1.0. Првото издание на гранката Mesa 20.1.0 има експериментален статус - по конечното стабилизирање на кодот, ќе биде објавена стабилна верзија 20.1.1. Во Меса 20.1 имплементирани целосна OpenGL 4.6 поддршка за Intel (i965, iris) и AMD (radeonsi) графички процесори, OpenGL 4.5 поддршка за AMD (r600) и NVIDIA (nvc0) графички процесори, OpenGL 4.3 за virgl (виртуелен графички процесор Вирџил3Д за QEMU/KVM), како и Vulkan 1.2 поддршка за Intel и AMD картички.

Меѓу промени:

  • Додадено Активен слој за избор на уреди за Vulkan API на системи со повеќе графички процесори овозможени од Vulkan, кои работат слично како DRI_PRIME за OpenGL. За да го изберете активниот двигател и графичкиот процесор, се обезбедува променливата на околината MESA_VK_DEVICE_SELECT (ако не е инсталирана, се користи DRI_PRIME).
  • Поддршката за чипови што се очекува следната година врз основа на новата микроархитектура е додадена на двигателите за i965 и iris за Intel графичките процесори Езеро со ракети.
  • Драјверот ANV Vulkan се развива за графички процесори на Intel додадена оптимизација за чипови базирани на микроархитектурата Icelake (Gen11), овозможувајќи употреба на чисти бои при текстура. Кога се тестираше во Dota2, промената го намали бројот на операции за конверзија на бои за 95% и ги зголеми перформансите за 3.5%.
  • Во возачот Vulkan ANV зголемена ефикасност на употребата на кешот на системи со Intel Ivybridge и Haswell чипови. Користењето на тестовите за пресметување на функцијата Vulkan од Geekbench 5 покажаа зголемување на перформансите за 330% на хардверот Haswell GT3 (зголемување поради фактот што претходно кешот не се користеше во некои услови).
  • Драјвери за Intel графички процесори (i965, ирис) додаде Режим на „црна дупка“ (OpenGL екстензија INTEL_blackhole_render), кој ги оневозможува сите операции на рендерирање што ги пренесува графичкиот процесор, но ја задржува обработката на операциите OpenGL.
  • Поддршката за векторизација која претходно беше додадена за чиповите на AMD е пренесена за графичките чипови на Интел НИР, безтипско средно претставување (IR) на шејдери наменети за работа на најниско ниво, под GLSL IR и внатрешното IR на Mesa. Од практична страна, поради подобрата оптимизација на шејдерите, промената овозможи да се зголемат перформансите на OpenGL и Vulkan во многу игри на системи со Intel графички процесори. На пример, во играта
    Подемот на Гробот Рајдер забележан перформансите се зголемуваат за 3%, а во Shadow of the Tomb Raider за 10%.

  • Во задниот дел за компајлирање шејдери "АЦО ШПРТ“, кој го развива Valve како алтернатива на LLVM компајлерот за шејдер, додадена е поддршка за типот shaderInt9 за графичкиот процесор GFX16+, што овозможува користење на 16-битни цели броеви во кодот за шејдер. За
    AMD Navi GPU (GFX10) обезбедени употреба на мотори NGG (Next-Gen Geometry) при работа со шејдери за вертекс и тесела.

  • За AMD Navi 12 и Navi 14 графички процесори вклучени поддршка за прикажаниот режим DCC (Delta Color Compression), кој обезбедува работа со компресирани податоци за боја при организирање на излезот на екранот.
  • Додадено експериментална NIR поддршка за класичниот двигател Gallium3D R600 (AMD Radeon HD 2000-6000) со поддршка за геометриски, фрагменти, теме и tessellation шејдери.
  • Возач на Vulkan RADV додаде Закрпа што ги подобрува перформансите на игрите Id Tech на системи со AMD APU преку оптимизирање на управувањето со меморијата.
  • Во возачот Panfrost имплементирани експериментална поддршка за OpenGL ES 3.0 и обезбедени Поддршка за 3D рендерирање за графичкиот процесор Bifrost (Mali G31). Подготвена е првична имплементација на компајлер за шејдер кој поддржува сет на внатрешни инструкции специфичен за Bifrost GPU.
  • Возачот Vulkan TURNIP, развиен за Qualcomm Adreno GPU, додадена поддршка за шејдери за геометрија и Чипови Adreno 650.
  • Во двигателот Gallium3D LLVMpipe, кој обезбедува прикажување на софтвер, се појави поддршка за шејдери на тесела.
  • Воведени большая дел оптимизации во glthread (повеќенишка имплементација на OpenGL). По извршувањето на промените, перформансите на симулаторот за трки Torcs се зголемија за 16% во стандардната конфигурација и за 40% кога беше овозможено glthread.
  • Додадено Опција allow_draw_out_of_order (овозможена преку driconf) за овозможување на оптимизациите за забрзување на CAD-специфичните операции за цртање надвор од редот. Кога оваа опција е овозможена, се забележува забрзување од 11% во тестот Viewperf7 Catia.
  • Додадени нови екстензии на OpenGL:
  • Додадени екстензии на двигателот RADV Vulkan (за AMD картички):
  • Додадени екстензии на драјверот ANV Vulkan (за Intel картички):

    Извор: opennet.ru

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