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.
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%.
VK_KHR_8bit_storage dla kart GFX8+ podczas korzystania z zaplecza kompilacji shaderów „ACO”.
VK_KHR_16bit_storage dla kart GFX8+ podczas korzystania z zaplecza kompilacji modułu cieniującego „ACO” (z wyjątkiem obsługi StorageInputOutput16)
VK_KHR_shader_float16_int8 dla kart GFX8+ podczas korzystania z zaplecza kompilacji modułu cieniującego „ACO” (z wyjątkiem obsługi StorageInputOutput16)
Dodano rozszerzenia do sterownika ANV Vulkan (dla kart Intel):