Progetto Vino
libreria libvkd3d
In libvkd3d-shader è implementata la traduzione del bytecode dei modelli shader 4 e 5 in una rappresentazione SPIR-V intermedia. Sono supportati vertici, pixel, tassellatura, calcolo e shader di geometria semplice, serializzazione e deserializzazione della firma radice. Le istruzioni shader includono operazioni aritmetiche, atomiche e di bit, operatori di confronto e di controllo del flusso di dati, istruzioni di campionamento, raccolta e caricamento, operazioni di accesso non ordinato (UAV, Unordered Access View).
Tra i più significativi
- La libreria libvkd3d-shader è pronta per l'uso in progetti di terze parti.
- Supporto dello shader di tassellatura.
- Supporto per conversione, serializzazione e deserializzazione delle firme root (vkd3d_serialize_versioned_root_signature() e vkd3d_create_versioned_root_signature_deserializer()).
- Supporto per l'output in streaming.
- Implementazione di molte funzionalità Direct3D 12 precedentemente non disponibili, incluso il supporto per il multicampionamento, la prenotazione delle risorse,
rendering indicizzato indiretto, rendering di profondità senza pixel shader, accesso simultaneo alle risorse da diverse code di comandi, visualizzazioni Null. - Aggiunte variabili di 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 il supporto per le istruzioni dello shader bufinfo,
eval_centroide,
eval_sample_index,
ld2ms,
campione_b,
campione_d,
informazioni_campione,
campionepos.
Fonte: opennet.ru