Kandydat do wydań Wine 8.0 oraz wydanie vkd3d 1.6

Rozpoczęto testy pierwszego kandydata do wydania Wine 8.0, otwartej implementacji WinAPI. Kod bazowy przeszedł do etapu zamrożenia przed wydaniem, które planowane jest na połowę stycznia. W porównaniu do wydania Wine 7.22 zamknięto 52 raporty o błędach i wprowadzono 538 zmian.

Najważniejsze zmiany:

  • Pakiet vkd3d z realizacją Direct3D 12, działający poprzez tłumaczenie wywołań na graficzny API Vulkan, został zaktualizowany do wersji 1.6.
  • Przeprowadzono optymalizację konwerterów wywołań systemowych (thunk) dla Vulkan i OpenGL.
  • W WinPrint rozszerzono wsparcie dla procesorów drukowania (Print processor).
  • Ulepszono panelu administracyjnego joystick.
  • Zakończono prace nad zapewnieniem wsparcia dla typu 'long' w kodzie funkcji printf.
  • Zamknięto raporty o błędach związane z działaniem gier: Tom Clancy’s Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Zamknięto raporty o błędach związane z działaniem aplikacji: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Dodatkowo można zauważyć publikację pakietu vkd3d 1.6 z realizacją Direct3D 12, działającą poprzez tłumaczenie wywołań na graficzny API Vulkan. W skład pakietu wchodzą biblioteki libvkd3d z realizacją Direct3D 12, libvkd3d-shader z tłumaczem wersji 4 i 5 shaderów oraz libvkd3d-utils z funkcjami ułatwiającymi portowanie aplikacji Direct3D 12, a także zestaw przykładów demonstracyjnych, w tym port glxgears na Direct3D 12. Kod projektu jest rozpowszechniany na licencji LGPLv2.1.

Biblioteka libvkd3d obsługuje większość funkcji Direct3D 12, w tym narzędzia do grafiki i obliczeń, kolejki i listy poleceń, deskryptory i deskryptory sterty, sygnatury korzeni, dostęp nieuporządkowany, Samplery, sygnatury poleceń, stałe korzeniowe, niebezpośrednie rysowanie, metody Clear*() i Copy*(). W libvkd3d-shader zaimplementowano translację kodu bajtowego modeli shaderów w wersji 4 i 5 do pośredniej reprezentacji SPIR-V. Obsługiwane są shadery wierzchołkowe, pikselowe, tesselacyjne, obliczeniowe i proste shadery geometryczne, a także serializacja i deserializacja sygnatury korzeniowej. Z instrukcji shaderowych zaimplementowano operacje arytmetyczne, atomowe i bitowe, operatory porównania oraz sterowania przepływem danych, instrukcje sample, gather i load oraz operacje dostępu nieuporządkowanego (UAV, Unordered Access View).

W nowej wersji kontynuowane są prace nad ulepszeniem kompilatora shaderów w języku HLSL (High-Level Shader Language), dostępnego od wersji DirectX 9.0. Wśród usprawnień związanych z HLSL:

  • Zaimplementowano wstępną obsługę shaderów obliczeniowych.
  • Ulepszono obsługę inicjalizacji i przypisywania obiektów złożonych, takich jak struktury i tablice.
  • Dodano możliwość ładowania i zapisywania zasobów tekstur, wykorzystując nieuporządkowany dostęp (UAV).
  • Dodano wsparcie dla atrybutów funkcji oraz zrealizowano wbudowane funkcje asuint(), length(), normalize().
  • Dodano wsparcie dla modułów do obliczeń z użyciem zmiennoprzecinkowym.
  • Zaimplementowano flagę VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS do wskazywania atomowych operacji na deskryptorach nieuporządkowanego dostępu (UAV).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster