Il team Wine ha rilasciato Versione VKD3D 2.0 — una versione principale della libreria che implementa il funzionamento delle applicazioni con Diretto3D 12 su VulcanoVKD3D viene utilizzato nel normale flusso di Wine per supportare le applicazioni D3D12; non deve essere confuso con VKD3D-Protone, una divisione di sviluppo giochi separata di Valve, utilizzata in Proton/Steam Play.
Il progetto è distribuito sotto la licenza Licenza pubblica generale minore GNU 2.1 o successiva. Rilascia il codice sorgente Il codice, pubblicato su WineHQ, è disponibile anche tramite i repository di Wine.
VKD3D 2.0 è diventato una transizione dal ramo 1.19 Passaggio diretto alla nuova versione principale. L'obiettivo principale è lo sviluppo del sottosistema shader e la compatibilità di basso livello con Direct3D 12.
Modifiche principali:
Elaborazione migliorata degli shader HLSL. Il supporto per il linguaggio HLSL è stato ampliato: sono state implementate più operazioni, che ora vengono elaborate correttamente dal compilatore e dal traduttore VKD3D. Questo è importante per l'esecuzione di applicazioni che utilizzano shader HLSL nativi, e non solo bytecode precompilato.
Supporto migliorato per il bytecode Direct3D legacy. Gestione migliorata dei tipi di bytecode Direct3D meno recenti per garantire la compatibilità con i formati shader e gli strumenti meno recenti ancora presenti in applicazioni e motori grafici.
Funzionamento migliorato con DXIL. VKD3D 2.0 continua a perfezionare la gestione di DXIL, la moderna rappresentazione intermedia degli shader DirectX. Si tratta di un formato chiave per D3D12, pertanto queste modifiche hanno un impatto diretto sul corretto avvio delle applicazioni più recenti.
Sono stati apportati miglioramenti agli effetti. Questa release include modifiche relative agli effetti, ovvero i meccanismi per descrivere e applicare gli effetti grafici nello stack Direct3D. Si tratta più che altro di un componente infrastrutturale, ma è importante per la compatibilità con il codice grafico esistente.
È stato aggiunto il supporto sperimentale per MSL. VKD3D 2.0 ha ricevuto supporto sperimentale per la generazione MSL — Metal Shading Language. L'obiettivo è la portabilità degli shader tra piattaforme in cui Vulkan viene tipicamente utilizzato, attraverso livelli di compatibilità aggiuntivi.
Interfacce e funzionalità di debug ampliate. Gli sviluppatori hanno aggiunto nuove interfacce e migliorato gli strumenti di debug di VKD3D, il che dovrebbe semplificare lo sviluppo, la diagnostica degli errori e l'ulteriore sviluppo del supporto a Direct3D 12 in Wine.
Vale la pena sottolinearlo separatamente: per la maggior parte degli utenti di Steam, Linux il componente principale D3D12 rimane VKD3D-Protone, piuttosto che il normale VKD3D. Tuttavia, VKD3D rimane una parte importante di Wine stesso e funge da implementazione di base di Direct3D 12 su Vulkan nel progetto upstream.
Fonte: linux.org.ru
