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

Il progetto Wine ha pubblicato rilascio del pacchetto vkd3d 1.2 con l'implementazione di Direct3D 12, che funziona tramite la traduzione delle chiamate nell'API grafica Vulkan. Il pacchetto comprende le librerie libvkd3d con l'implementazione di Direct3D 12, libvkd3d-shader con il traduttore per le versioni 4 e 5 dei shader e libvkd3d-utils con funzioni per semplificare il porting delle applicazioni Direct3D 12, oltre a un insieme di esempi dimostrativi, tra cui il porting di glxgears su Direct3D 12. Il codice del progetto è distribuito è sotto licenza LGPLv2.1.

La libreria libvkd3d supporta la maggior parte delle funzionalità di Direct3D 12, inclusi strumenti per la grafica e il calcolo, code e liste di comandi, descrittori e pool di descrittori, firme radice, accesso non ordinato, sampler, firme di comando, costanti radice, visualizzazione indiretta, metodi Clear*() e Copy*().

In libvkd3d-shader è implementata la traduzione del bytecode delle versioni 4 e 5 dei shader in una rappresentazione intermedia SPIR-V. Sono supportati shader di vertice, pixel, tesselazione, calcolo e geometria semplice, serializzazione e deserializzazione della firma radice. Tra le istruzioni degli shader sono implementate operazioni aritmetiche, atomiche e bitwise, operatori di confronto e controllo del flusso di dati, istruzioni sample, gather e load, operazioni di accesso non ordinato (UAV, Unordered Access View).

Tra le più significative novità in Vkd3d 1.2 si evidenziano:

  • La disponibilità della libreria libvkd3d-shader per l'uso in progetti esterni.
  • Supporto per shader di tesselazione.
  • Supporto per la traduzione, serializzazione e deserializzazione delle firme radice (vkd3d_serialize_versioned_root_signature() e vkd3d_create_versioned_root_signature_deserializer()).
  • Supporto per l'output stream.
  • Implementazione di molte funzionalità di Direct3D 12 precedentemente non disponibili, incluso il supporto per il multisampling, il riservamento delle risorse,
    il rendering indicato indirettamente, il rendering della profondità senza pixel shader, accesso simultaneo alle risorse da queue di comando diverse, visualizzazioni nulle (Null-views).
  • Aggiunte le variabili d'ambiente: VKD3D_CONFIG per impostare le opzioni per modificare il comportamento di libvkd3d e VKD3D_VULKAN_DEVICE per sovrascrivere il dispositivo per l'API Vulkan.
  • Aggiunto supporto per istruzioni shader bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    samplepos.

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