Proiectul Wine a publicat vkd3d 1.12 cu implementarea Direct3D 12

Proiectul Wine a publicat o versiune a pachetului vkd3d 1.12 cu implementarea Direct3D 12, care funcționează prin translația apelurilor în API-ul grafic Vulkan. Pachetul include biblioteci libvkd3d cu implementarea Direct3D 12, libvkd3d-shader cu traductorul pentru modele de shader 4 și 5, și libvkd3d-utils cu funcții pentru simplificarea portării aplicațiilor Direct3D 12, precum și un set de exemple demonstrative, inclusiv portul glxgears pe Direct3D 12. Codul proiectului este distribuit sub licența LGPLv2.1.

Biblioteca libvkd3d suportă majoritatea caracteristicilor Direct3D 12, inclusiv instrumente pentru grafică și calcul, cozi și liste de comenzi, descriere și descriere a unui heap, semnături rădăcină, acces nesortat, Sample-uri, semnături de comenzi, constante rădăcină, randare indirectă, metode Clear*() și Copy*(). În libvkd3d-shader este implementată translația bytecode-ului shaderelor la reprezentări intermediare SPIR-V. Se suportă shadere de vârf, pixel, tesselație, calcul, și shadere geometrice simple, serializarea și deserializarea semnăturii rădăcină. Din instrucțiunile shaderului sunt implementate operații aritmetice, atomice și bitwise, operatori de comparație și control al fluxului de date, instrucțiuni sample, gather și load, operații de acces nesortat (UAV, Unordered Access View).

În noua versiune:

  • Compilatorul HLSL a adăugat suport pentru compilarea directă în cod de asamblare pentru shadere Direct3D și tipuri țintă SPIR-V.
  • În compilatorul HLSL s-a îmbunătățit suportul pentru profilele de modele de shader 1, 2 și 3.
  • Pentru HLSL au fost implementate funcții încorporate cosh(), determinant(), refract(), sinh() și tanh().
  • În libvkd3d a fost adăugat suport pentru formatele DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM și DXGI_FORMAT_B4G4R4A4_UNORM, dacă sunt suportate de implementarea existentă a API-ului Vulkan.
  • S-a adăugat suport pentru interfețele ID3D12ShaderCacheSession și ID3D12Device9. În interfața ID3D12Device8 au fost adăugate metodele CreateCommittedResource2(), CreatePlacedResource1(), GetCopyableFootprints1() și GetResourceAllocationInfo2().
  • Au fost implementate cereri de verificare D3D12_FEATURE_D3D12_OPTIONS14, D3D12_FEATURE_D3D12_OPTIONS15, D3D12_FEATURE_D3D12_OPTIONS16, D3D12_FEATURE_D3D12_OPTIONS17 și D3D12_FEATURE_D3D12_OPTIONS18.
  • În libvkd3d-shader pentru limbajul intermediar DXIL (DirectX Intermediate Language) a fost adăugat suport experimental pentru majoritatea metodelor și instrucțiunilor din modelul 6 al shaderului Direct3D.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster