Proiectul Wine a publicat Vkd3d 1.17 cu implementarea Direct3D 12

Proiectul Wine a publicat versiunea pachetului vkd3d 1.17 cu implementarea Direct3D 12, funcționând prin traducerea apelurilor în API-ul grafic Vulkan. Pachetul include bibliotecile libvkd3d cu implementarea Direct3D 12, libvkd3d-shader cu un translator pentru modelele de șabloane 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 portarea glxgears pe Direct3D 12. Codul proiectului este distribuit sub licența LGPLv2.1.

Biblioteca libvkd3d suportă majoritatea funcțiilor Direct3D 12, inclusiv instrumente pentru grafică și calcul, cozi și liste de comenzi, descrieri și descrieri de grămadă, semnături de rădăcină, acces neordonat, Sampler-e, semnături de comenzi, constante de rădăcină, desenare indirectă, metode Clear*() și Copy*(). În libvkd3d-shader este implementată translatia codului binar al modelelor de șader în reprezentare intermediară SPIR-V. Sunt suportate șaderi de vârf, pixel, teselare, calcul și șaderi geometrice simple, serializare și deserializare a semnăturii de rădăcină. Instrucțiunile de șader includ operații aritmetice, atomice și bitwise, operatori de comparație și control al fluxului de date, instrucțiuni de sample, gather și load, operații de acces neordonat (UAV, Unordered Access View).

În noua versiune:

  • În implementarea limbajului de șabloane HLSL a fost adăugată suport inițial pentru memoria partajată a grupurilor de fire, a fost extins suportul pentru șabloanele geometrice și a fost adăugat un parser pentru resurse StructuredBuffer.
  • A fost continuată dezvoltarea implementării limbajului de șabloane MSL (Metal Shading Language), utilizat de Apple în API-ul grafic Metal. De exemplu, în MSL a fost adăugat suport pentru bucle, adresare indirectă a bufferelor constante, eșantionarea texturilor și diverse operații de aritmetică și comparație între întregi.
  • În biblioteca libvkd3d, în implementarea interfeței ID3D12Device5 a fost adăugată metoda EnumerateMetaCommands().
  • A fost adăugat un nou tip de șabloane „tx” (VKD3D_SHADER_SOURCE_TX), utilizat pentru încărcarea șabloanelor de procesare a texturilor.

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