Il progetto Wine ha rilasciato Vkd3d 1.3 con l'implementazione di Direct3D 12

Dopo un anno e mezzo di sviluppo, il progetto Wine ha pubblicato il pacchetto vkd3d 1.3, che implementa Direct3D 12, funzionante tramite la traduzione delle chiamate nell'API grafica Vulkan. Il pacchetto include le librerie libvkd3d con implementazione di Direct3D 12, libvkd3d-shader con traduttore per shader di modelli 4 e 5, e libvkd3d-utils con funzioni per semplificare il porting delle applicazioni Direct3D 12, insieme a un insieme di esempi dimostrativi, incluso il porting di glxgears su Direct3D 12. Il codice del progetto è distribuito sotto licenza LGPLv2.1.

La libreria libvkd3d supporta gran parte delle funzionalità di Direct3D 12, comprese le risorse per grafica e calcolo, code e liste di comandi, descrittori e descrittori di heap, firme radice, accesso non ordinato, sampler, firme di comando, costanti radice, rendering indiretto, metodi Clear*() e Copy*().

In libvkd3d-shader, the translation of bytecode for shader models 4 and 5 into the SPIR-V intermediate representation has been implemented. It supports vertex, pixel, tessellation, compute, and simple geometry shaders, as well as serialization and deserialization of the root signature. Arithmetic, atomic, and bitwise operations, comparison and control flow operators, sample, gather, and load instructions, and unordered access operations (UAV, Unordered Access View) are all implemented from the shader instructions.

Among the most significant innovations in Vkd3d 1.3 are:

  • Initial support for compiling and preprocessing shaders in High-Level Shader Language (HLSL), provided since DirectX 9.0, has been added.
  • Support for descriptor arrays defined in shader model 5.1 has been added.
  • Support has been provided for double-precision floating-point operations in shaders, indirect addressing for tessellation shaders, exporting stencils from shaders, the 'precise' shader modifier, and global barriers for memory resources.
  • The ability to disassemble Direct3D shaders from bytecode into assembly representation has been implemented.
  • È stata aggiunta la supporto per l'analisi del vecchio formato del bytecode Direct3D, utilizzato nei modelli di shader Direct3D 1, 2 e 3.
  • In libvkd3d sono state aggiunte funzionalità come le firme radice, i contatori di vista per accesso non ordinato, operatori logici di fusione per l'output e la modalità di indirizzamento delle texture mirror_once. È stata aggiunta la struttura vkd3d_host_time_domain_info.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster