U prughjettu di u vinu publicatu Vkd3d 1.7 cù implementazione Direct3D 12

U prughjettu di u Vinu hà publicatu a liberazione di u pacchettu vkd3d 1.7 cù una implementazione di Direct3D 12 chì travaglia attraversu e chjama di trasmissione à l'API grafica Vulkan. U pacchettu include librerie libvkd3d cù implementazioni di Direct3D 12, libvkd3d-shader cù un traduttore di mudelli di shader 4 è 5 è libvkd3d-utils cù funzioni per simplificà u porting di l'applicazioni Direct3D 12, è ancu un inseme di esempi demo, cumpresu un portu di glxgears à Direct3D 12. U codice di u prugettu hè distribuitu licenziatu sottu LGPLv2.1.

A libreria libvkd3d supporta a maiò parte di e funzioni di Direct3D 12, cumprese gràfiche è strutture informatiche, file di coda è listi di cumandamenti, manichi è manichi di mucchi, firme di root, accessu fora di ordine, Samplers, firme di cumandamenti, custanti radice, rendering indirettu, metudi Clear *( ) è Copia * (). In libvkd3d-shader, a traduzzione di bytecode di mudelli shader 4 è 5 in una rapprisintazioni SPIR-V intermedia hè implementata. Supporta vertex, pixel, tessellation, compute è sfumature di geometria simplice, serializazione è deserializazione di a radica. L'istruzzioni di Shader includenu operazioni aritmetiche, atomiche è di bit, paraguni è operatori di cuntrollu di flussu di dati, struzzioni di campionamentu, raccolta è carica, operazioni d'accessu senza ordine (UAV, Unordered Access View).

In a nova versione:

  • U travagliu cuntinuava à migliurà u compilatore di shader in HLSL (High-Level Shader Language):
    • Aggiunta a capacità di chjamà funzioni persunalizati è aduprà array cum'è paràmetri à e funzioni persunalizati.
    • Aghjunghje supportu per i paràmetri SV_DispatchThreadID, SV_GroupID è SV_GroupThreadID.
    • Aggiunte funzioni integrate all(), distance (), exp (), exp2 (), frac (), lit (), reflect (), sin (), cos (), smoothstep (), sqrt (), rsqrt () , passu (), traspone ().
    • Aghjunghje un supportu iniziale per i tipi di punti flottanti di bassa precisione cum'è "min16float".
  • Supportu significativamente migliuratu per i profili di mudelli di shader Direct3D 1/2/3.
  • Aggiunta API publica per l'analisi (vkd3d_shader_parse_dxbc) è a serializazione (vkd3d_shader_serialize_dxbc) di dati binari DXBC.

Source: opennet.ru

Add a comment