Da non confondere con il downstream di Valve, VKD3D-Proton, utilizzato da Steam Play, ma lo stesso codebase VKD3D di Wine è uscito oggi con una nuova versione di questa implementazione Direct3D 12 su Vulkan.

Henri Verbeet di CodeWeavers ha rilasciato oggi VKD3D 1.7 come la versione più recente di questa implementazione Direct3D 12 su cui si basa il codice Wine originale. Come con la maggior parte delle versioni di VKD3D, si tratta di implementare più funzionalità D3D12/HLSL con più elementi intrinseci ora disponibili, oltre al supporto dei profili Shader Model 1/2/3 migliorato, miglioramenti dello shader di calcolo e altro ancora.

-Nuove funzionalità per il tipo di sorgente HLSL:
-Supporto per la chiamata di funzioni definite dall’utente.
-Supporto per parametri di matrice per funzioni definite dall’utente.
-Supporto notevolmente migliorato per i profili del modello 1/2/3 dello shader Direct3D.
-Supporto per la semantica dei valori di sistema degli shader di calcolo SV_DispatchThreadID, SV_GroupID e SV_GroupThreadID.
-Supporto per il parametro opzionale”offset”del metodo Load() dell’oggetto texture.
-Supporto per la funzione intrinseca all().
-Supporto per la funzione intrinseca distance().
-Supporto per le funzioni intrinseche exp() e exp2().
-Supporto per la funzione intrinseca frac().
-Supporto per la funzione intrinseca lit().
-Supporto per la funzione intrinseca reflect().
-Supporto per le funzioni intrinseche sin() e cos().
-Supporto per la funzione intrinseca smoothstep().
-Supporto per le funzioni intrinseche sqrt() e rsqrt().
-Supporto per la funzione intrinseca step().
-Supporto per la funzione intrinseca transpose().
-Supporto per le varianti senza distinzione tra maiuscole e minuscole dei tipi di dati”float”e”dword”.
-Supporto parziale per tipi di dati con precisione minima come”min16float”. Questi sono attualmente interpretati come le loro controparti regolari.
-Migliorato il supporto alla propagazione costante, in particolare alla propagazione costante tramite swizzles.

-Le variabili statiche HLSL ora sono correttamente inizializzate a zero.

-Il disassembler del modello 4 e 5 dello shader Direct3D restituisce i conteggi dei campioni per le dichiarazioni di risorse multi-campionate.

-Nuove interfacce:
-vkd3d_shader_parse_dxbc () fornisce il supporto per l’analisi dei BLOB DXBC.
-vkd3d_shader_serialize_dxbc() fornisce il supporto per la serializzazione dei BLOB DXBC.
-vkd3d_shader_free_dxbc() viene utilizzato per liberare le strutture vkd3d_shader_dxbc_desc, come restituito da vkd3d_shader_parse_dxbc().
-L’opzione di compilazione VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE può essere utilizzata per specificare se gli shader SPIR-V destinati agli ambienti Vulkan debbano scrivere le dimensioni in punti per gli shader di geometria e tassellazione. Se non specificato, verranno scritte le dimensioni in punti.

VKD3D 1.7 dovrebbe essere inserito nella prossima versione di sviluppo bisettimanale di Wine, mentre coloro che desiderano questa libreria D3D12-on-Vulkan possono scaricare subito la nuova versione di VKD3D tramite WineHQ Git.

Categories: IT Info