La nuova versione di vkd3d 1.3 è già stata rilasciata

Dopo un anno e mezzo di sviluppo, eIl progetto Wine ha annunciato il lancio di la nuova versione del pacchetto «vkd3d 1.3″ con un'implementazione Direct3D 12 che funziona attraverso la traduzione delle chiamate all'API grafica Vulkan.

Questa versione contiene vari miglioramenti e di cui in questa nuova versione i punti salienti sono i supporto iniziale per la build HLSL, così come il Supporto per array di descrittori Shader Model 5.1, supporto per lo smontaggio degli shader Direct3D e altro ancora.

Per coloro che non sono a conoscenza del pacchetto, dovrebbero saperlo include librerie libvkd3d con implementazioni Direct3D 12, libvkd3d-shader con traduttore shader modello 4 e 5 e libvkd3d-utils con funzioni per semplificare la migrazione delle applicazioni Direct3D 12, oltre a un set di demo, incluso il port glxgears a Direct3D 12. Il codice del progetto è distribuito con licenza LGPLv2.1.

La biblioteca libvkd3d supporta la maggior parte delle funzionalità di Direct3D 12, incluse funzioni di calcolo e grafico, elenchi di comandi e code, descrittori e descrittori di heap, firme radice, accesso non ordinato, campionatori, firme di comando, costanti radice, rappresentazione proxy, ecc.

libvkd3d-shader implementa la traduzione del byte code 4 e 5 dei modelli di shading nella rappresentazione intermedia SPIR-V. Sono supportati vertici, pixel, tassellazione, shader di geometria computazionale e semplice, serializzazione della firma radice e deserializzazione.

Le istruzioni dello shader includono operazioni aritmetiche, atomiche e bit per bit, controllo del flusso di dati e operatori di confronto, istruzioni di campionamento, raccolta e caricamento, operazioni di accesso non ordinato (UAV, vista di accesso non ordinato).

Nell'attuale fase di sviluppo, non tutte le chiamate a Direct3D 12 sono implementate e i test sono stati effettuati principalmente su una serie di applicazioni demo.

Principali novità di Vkd3d 1.3

In questa nuova versione di vkd3d 1.3 presentata, viene evidenziato che aggiunto il supporto iniziale per la compilazione e il pre-rendering degli shader in HLSL (linguaggio shader di alto livello), fornito da DirectX 9.0.

Un altro dei cambiamenti che spicca in questa nuova versione è il supporto per operazioni in virgola mobile a doppia precisione negli shader, nonché l'indirizzamento indiretto per gli shader di tassellazione, l'esportazione di modelli dagli shader, il modificatore di shader "preciso" e le barriere globali per le risorse in memoria.

Possiamo anche scoprire che il possibilità di disassemblare gli shader Direct3D dal codice di byte alla rappresentazione dell'assembler, oltre al supporto aggiunto per l'analisi del vecchio formato bytecode Direct3D utilizzato nei modelli di shader Direct3D 1, 2 e 3.

libvkd3d ha aggiunto le funzionalità di Direct3D 12, come firme di root, contatori di ricerca non ordinati, booleani di unione di output, modalità di indirizzamento delle texture mirror_once e aggiunta della struttura vkd3d_host_time_domain_info.

Delle altre modifiche che si distinguono da questa nuova versione:

  • vkd3d_shader_preprocess_info estende la struttura vkd3d_shader_compile_info e può essere utilizzato per specificare parametri di preelaborazione come le definizioni delle macro del preprocessore.
  • vkd3d_shader_hlsl_source_info estende la struttura vkd3d_shader_compile_info e può essere utilizzato per specificare HLSL e costruire parametri come il profilo di destinazione e il punto di ingresso.
  • Collega i modelli Direct3D 12 e Vulkan
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION può essere utilizzato per specificare la versione dell'API libvkd3d-shader di destinazione dell'applicazione. Se non specificato, verrà utilizzato VKD3D_SHADER_API_VERSION_1_2.
  • vkd3d-compiler utilizzerà per impostazione predefinita l'output a colori se può determinare che il file
    l'output è una telescrivente a colori.
  • Aggiunto supporto per array di descrittori definiti in Shader Model 5.1.

Infine se vuoi saperne di più su questa nuova versione è possibile consultare l'elenco completo delle modifiche nel seguente link

Come installare vkd3d su Linux?

Per coloro che sono interessati a poter installare vkd3d sul proprio sistema, dovrebbero ottenere il codice sorgente e procedere con la compilazione, anche se per motivi pratici o per i neofiti, possono provare questa libreria senza troppi sforzi. Per questo, devono solo installare lutris e all'interno delle sue configurazioni.

Per quanto riguarda chi è interessato alla compilazione, deve ottenere il codice con:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

Infine, i livelli Vulkan devono essere abilitati:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.