Wydanie Mesa 19.3.0, darmowej implementacji OpenGL i Vulkan

Przesłane przez udostępnienie darmowej implementacji OpenGL i Vulkan API - Mesa 19.3.0. Pierwsze wydanie gałęzi Mesa 19.3.0 ma status eksperymentalny - po ostatecznej stabilizacji kodu zostanie wydana stabilna wersja 19.3.1. W Mesie 19.3 wdrożone Pełna obsługa OpenGL 4.6 dla procesorów graficznych Intel (i965, sterowniki iris), obsługa OpenGL 4.5 dla procesorów graficznych AMD (r600, radeonsi) i NVIDIA (nvc0) oraz obsługa Vulkan 1.1 dla kart Intel i AMD. Wczorajsze zmiany obsługują także OpenGL 4.6 dodany do sterownika radeonsi, ale nie zostały one uwzględnione w gałęzi Mesa 19.3.

Wśród zmiany:

  • Zaproponowano nowy backend do kompilacji shaderów dla RADV (sterownik Vulkan dla układów AMD)”ACO„, który jest rozwijany przez Valve jako alternatywa dla kompilatora modułu cieniującego LLVM. Backend ma na celu zapewnienie jak najbardziej optymalnego generowania kodu dla shaderów aplikacji do gier, a także osiągnięcie bardzo dużej szybkości kompilacji. ACO jest napisany w C++, zaprojektowany z myślą o kompilacji JIT i wykorzystuje szybkie iteracyjne struktury danych, unikając struktur opartych na wskaźnikach. Pośrednia reprezentacja kodu jest całkowicie oparta na SSA (Static Single Assignment) i umożliwia alokację rejestrów poprzez dokładne wstępne obliczenie rejestru w zależności od modułu cieniującego. ACO można aktywować dla procesorów graficznych Vega 8, Vega 9, Vega 10 i Navi 10, ustawiając zmienną środowiskową „RADV_PERFTEST=aco”;
  • Sterownik Gallium3D zawarty w bazie kodu Zink, który implementuje API OpenGL na platformie Vulkan. Zink pozwala uzyskać sprzętowo przyspieszany OpenGL, jeśli system ma sterowniki ograniczone do obsługi tylko API Vulkan;
  • Sterownik ANV Vulkan i sterownik iris OpenGL zapewniają wstępną obsługę 12. generacji układów Intel (Tiger Lake, gen12). W jądrze Linuksa od wersji 5.4 dodano komponenty obsługujące Tiger Lake;
  • Sterowniki i965 i iris zapewniają obsługę pośredniej reprezentacji shaderów SPIR-V, co umożliwiło osiągnięcie pełnej obsługi w tych sterownikach OpenGL 4.6;
  • Sterownik RadeonSI dodaje obsługę procesorów graficznych AMD Navi 14 i poprawia akcelerację dekodowania wideo, na przykład dodając obsługę dekodowania wideo 8K w formatach H.265 i VP9;
  • Dodano obsługę sterownika RADV Vulkan chroniona kompilacja, w którym wątki uruchamiane w celu kompilacji shaderów są izolowane przy użyciu mechanizmu seccomp. Tryb włącza się za pomocą zmiennej środowiskowej RADV_SECURE_COMPILE_THREADS;
  • Sterowniki dla układów AMD wykorzystują procesor AMDGPU, który pojawił się w module jądra interfejs oprogramowania zresetować procesor graficzny;
  • Włożono wiele pracy w celu poprawy wydajności w systemach z procesorami AMD Radeon APU. Poprawiono także wydajność sterownika Gallium3D Iris dla procesorów graficznych Intel;
  • W sterowniku Gallium3D LLVMpipe, który zapewnia renderowanie programowe, pojawił się obsługa shaderów obliczeniowych;
  • System buforowania shaderów na dysku zoptymalizowany dla systemów z więcej niż 4 rdzeniami procesora;
  • Włączono system kompilacji Meson do kompilacji w systemie Windows przy użyciu MSVC i MinGW. Używanie scons do budowania jest przestarzałe w systemach innych niż Windows;
  • Zaimplementowano rozszerzenie EGL EGL_EXT_image_flush_external;
  • Dodano nowe rozszerzenia OpenGL:
  • Dodano rozszerzenia do sterownika RADV Vulkan (dla kart AMD):
  • Dodano rozszerzenia do sterownika ANV Vulkan (dla kart Intel):

Dodatkowo można to zauważyć publikacja przez AMD dokumentacja zgodnie z architekturą poleceń 7 nm APU „Vega” opartą na mikroarchitekturze GCN (Graphics Core Next).

Źródło: opennet.ru

Dodaj komentarz