Wydanie Mesa 20.1.0, darmowej implementacji OpenGL i Vulkan

Przesłane przez udostępnienie darmowej implementacji OpenGL i Vulkan API - Mesa 20.1.0. Pierwsze wydanie gałęzi Mesa 20.1.0 ma status eksperymentalny - po ostatecznej stabilizacji kodu zostanie wydana stabilna wersja 20.1.1. W Mesie 20.1 wdrożone pełna obsługa OpenGL 4.6 dla procesorów graficznych Intel (i965, iris) i AMD (radeonsi), obsługa OpenGL 4.5 dla procesorów graficznych AMD (r600) i NVIDIA (nvc0), OpenGL 4.3 dla virgl (wirtualny procesor graficzny Wergiliusz3D dla QEMU/KVM), a także obsługę Vulkan 1.2 dla kart Intel i AMD.

Wśród zmiany:

  • Dodany Aktywna warstwa wyboru urządzeń dla API Vulkan w systemach z wieloma procesorami graficznymi obsługującymi Vulkan, działająca podobnie do DRI_PRIME dla OpenGL. Aby wybrać aktywny sterownik i procesor graficzny, dostępna jest zmienna środowiskowa MESA_VK_DEVICE_SELECT (jeśli nie jest zainstalowana, używana jest zmienna DRI_PRIME).
  • Do sterowników i965 i iris dla procesorów graficznych Intel dodano obsługę chipów oczekiwanych w przyszłym roku w oparciu o nową mikroarchitekturę Jezioro rakietowe.
  • Sterownik ANV Vulkan opracowywany dla procesorów graficznych Intel dodany optymalizacja dla chipów oparta na mikroarchitekturze Icelake (Gen11), pozwalająca na użycie czystych kolorów podczas teksturowania. Podczas testów w Dota2 zmiana zmniejszyła liczbę operacji konwersji kolorów o 95% i zwiększyła wydajność o 3.5%.
  • W sterowniku Vulkan ANV zwiększony efektywność wykorzystania pamięci podręcznej w systemach z chipami Intel Ivybridge i Haswell. Korzystanie z testów funkcji obliczeniowych Vulkan z Geekbench 5 wykazało wzrost wydajności o 330% na sprzęcie Haswell GT3 (wzrost wynika z faktu, że wcześniej pamięć podręczna nie była używana w niektórych warunkach).
  • Sterowniki dla procesorów graficznych Intel (i965, irys) dodany tryb „czarnej dziury” (rozszerzenie OpenGL INTEL_blackhole_render), który wyłącza wszystkie operacje renderowania przesyłane przez GPU, ale zachowuje przetwarzanie operacji OpenGL.
  • Obsługa wektoryzacji dodana wcześniej dla układów AMD została przeniesiona na układy graficzne Intel NIR, beztypowa pośrednia reprezentacja (IR) shaderów mająca na celu pracę na najniższym poziomie, w ramach GLSL IR i wewnętrznego IR Mesy. Od strony praktycznej, dzięki lepszej optymalizacji shaderów, zmiana umożliwiła zwiększenie wydajności OpenGL i Vulkan w wielu grach na systemach z procesorami graficznymi Intel. Na przykład w grze
    Rise of the Tomb Raider jest obchodzony wzrost wydajności o 3%, a w Shadow of the Tomb Raider o 10%.

  • W backendzie do kompilacji shaderów”ACO“, rozwijany przez Valve jako alternatywa dla kompilatora modułu cieniującego LLVM, do procesora graficznego GFX9+ dodano obsługę typu shaderInt16, umożliwiając użycie 16-bitowych liczb całkowitych w kodzie modułu cieniującego. Dla
    Karta graficzna AMD Navi (GFX10) zabezpieczone wykorzystanie silników NGG (Next-Gen Geometry) podczas pracy z shaderami wierzchołków i teselacji.

  • Dla procesorów graficznych AMD Navi 12 i Navi 14 w zestawie obsługa wyświetlanego trybu DCC (Delta Color Compression), który zapewnia pracę ze skompresowanymi danymi kolorów podczas organizowania wyjścia wyświetlania.
  • Dodany eksperymentalna obsługa NIR dla klasycznego sterownika Gallium3D R600 (AMD Radeon HD 2000-6000) z obsługą geometrii, fragmentów, wierzchołków i teselacja shadery.
  • Sterownik Vulkan RADV dodany Łatka poprawiająca wydajność gier Id Tech na systemach z procesorami AMD APU poprzez optymalizację zarządzania pamięcią.
  • W sterowniku Panfrost wdrożone eksperymentalne wsparcie dla OpenGL ES 3.0 i zabezpieczone Obsługa renderowania 3D dla procesora graficznego Bifrost (Mali G31). Przygotowano wstępną implementację kompilatora modułu cieniującego, który obsługuje zestaw instrukcji wewnętrznych specyficznych dla procesora graficznego Bifrost.
  • Sterownik Vulkan TURNIP, opracowany dla procesorów graficznych Qualcomm Adreno, dodany obsługa shaderów geometrii i Układy Adreno 650.
  • W sterowniku Gallium3D LLVMpipe, który zapewnia renderowanie programowe, pojawił się obsługa shaderów teselacji.
  • Wprowadzono większy Część optymalizacje w glthread (wielowątkowa implementacja OpenGL). Po wprowadzeniu zmian wydajność symulatora wyścigów Torcs wzrosła o 16% w konfiguracji domyślnej i o 40% przy włączonym glthread.
  • Dodany opcjęallow_draw_out_of_order (włączaną przez driconf), aby włączyć optymalizacje przyspieszające operacje rysowania poza kolejnością specyficzne dla CAD. Gdy ta opcja jest włączona, w teście Viewperf11 Catia obserwuje się przyspieszenie o 7%.
  • Dodano nowe rozszerzenia OpenGL:
  • Dodano rozszerzenia do sterownika RADV Vulkan (dla kart AMD):
  • Dodano rozszerzenia do sterownika ANV Vulkan (dla kart Intel):

    Źródło: opennet.ru

Dodaj komentarz