Projekt Wine zveřejnil Vkd3d 1.12 s implementací Direct3D 12

Projekt Wine vydal verzi balíku vkd3d 1.12 s implementací Direct3D 12, která funguje prostřednictvím překladů volání do grafického API Vulkan. Balíček obsahuje knihovny libvkd3d s implementací Direct3D 12, libvkd3d-shader s překladačem shaderů modelů 4 a 5 a libvkd3d-utils s funkcemi pro usnadnění portování aplikací Direct3D 12, stejně jako sadu demonstračních příkladů, včetně portu glxgears na Direct3D 12. Kód projektu je distribuován pod licencí LGPLv2.1.

Knihovna libvkd3d podporuje většinu funkcí Direct3D 12, včetně nástrojů pro grafiku a výpočty, front a seznamů příkazů, popisovačů a popisovačů hromady, kořenových podpisů, neuspořádaného přístupu, Sampler-ů, podpisů příkazů, kořenových konstant, nepřímého (indirect) vykreslování, metod Clear*() a Copy*(). V libvkd3d-shader byla implementována translace bajtkódu modelů shaderů do mezivrstvého formátu SPIR-V. Podporovány jsou vrcholové, pixelové, tesselační, výpočetní a jednoduché geometrické shadery, serializace a deserializace kořenového podpisu. Z instrukcí shaderu byly implementovány aritmetické, atomové a bitové operace, operátory porovnání a řízení toku dat, instrukce sample, gather a load, operace neuspořádaného přístupu (UAV, Unordered Access View).

V nové verzi:

  • Do překladače HLSL byla přidána podpora přímého překladů do assemblerového kódu shaderů Direct3D a cílových typů SPIR-V.
  • V překladači HLSL byla vylepšena podpora profilů modelů shaderů 1, 2 a 3.
  • Pro HLSL byly implementovány vestavěné funkce cosh(), determinant(), refract(), sinh() a tanh().
  • V libvkd3d byla přidána podpora formátů DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM a DXGI_FORMAT_B4G4R4A4_UNORM, pokud jsou podporovány v existující implementaci API Vulkan.
  • Byla přidána podpora rozhraní ID3D12ShaderCacheSession a ID3D12Device9. Do rozhraní ID3D12Device8 byly přidány metody CreateCommittedResource2(), CreatePlacedResource1(), GetCopyableFootprints1() a GetResourceAllocationInfo2().
  • Byly implementovány kontrolní dotazy D3D12_FEATURE_D3D12_OPTIONS14, D3D12_FEATURE_D3D12_OPTIONS15, D3D12_FEATURE_D3D12_OPTIONS16, D3D12_FEATURE_D3D12_OPTIONS17 a D3D12_FEATURE_D3D12_OPTIONS18.
  • V libvkd3d-shader pro mezilehlý jazyk DXIL (DirectX Intermediate Language) byla experimentálně přidána podpora většiny metod a instrukcí 6. modelu shaderu Direct3D.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster