Projekt Wine opublikował Vkd3d 1.17 z implementacją Direct3D 12

Projekt Wine opublikował wydanie pakietu vkd3d 1.17 z implementacją Direct3D 12, działającego przez translację wywołań do API graficznego Vulkan. W skład pakietu wchodzą biblioteki libvkd3d z implementacją Direct3D 12, libvkd3d-shader z translatrorem modeli szaderów 4 i 5 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 dystrybuowany na licencji LGPLv2.1.

Biblioteka libvkd3d obsługuje większość możliwości Direct3D 12, w tym narzędzia do grafiki i obliczeń, kolejki i listy poleceń, deskryptory i deskryptory sterty, sygnały korzenia, dostęp nieuporządkowany, Samplery, sygnały poleceń, stałe korzenia, niezależne renderowanie, metody Clear*() i Copy*(). W libvkd3d-shader zrealizowano translację kodu bajtowego modeli shaderów do pośredniego formatu SPIR-V. Obsługiwane są shadery wierzchołków, pikseli, tesselacyjne, obliczeniowe i proste shadery geometryczne, serializacja i deserializacja sygnału korzenia. Z instrukcji shaderowych zrealizowane zostały operacje arytmetyczne, atomowe i bitowe, operatory porównania i zarządzania przepływem danych, instrukcje sample, gather i load, operacje dostępu nieuporządkowanego (UAV, Unordered Access View).

W nowej wersji:

  • W implementacji języka szaderów HLSL dodano wstępną obsługę pamięci współdzielonej grup wątków, rozszerzono wsparcie dla szaderów geometrycznych, dodano parser dla zasobów StructuredBuffer.
  • Kontynuowane jest rozwijanie implementacji języka szaderów MSL (Metal Shading Language), wykorzystywanego przez firmę Apple w API graficznym Metal. Na przykład, w MSL dodano wsparcie dla pętli, pośredniego adresowania buforów stałych, próbkowania tekstur oraz różnych operacji arytmetyki całkowitej i porównania.
  • W bibliotece libvkd3d w implementacji interfejsu ID3D12Device5 dodano metodę EnumerateMetaCommands().
  • Dodano nowy typ szaderów „tx” (VKD3D_SHADER_SOURCE_TX), używany do ładowania szaderów przetwarzających tekstury.

Ź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