vkd3d 1.2 arriba amb millores de compatibilitat, ombrejat i mes

El Projecte Wine ha publicat una nova versió de l'paquet vkd3d 1.2 amb una implementació de Direct3D 12 que funciona traduint les crides a la API de gràfics Vulkan.

Aquesta nova versió de vkd3d 1.2 conté diverses millores, però de les principals que es destaquen són la disponibilitat de libvkd3d-shader com a biblioteca pública, el suport per ombrejadors de teselación, així com el suport de sortida de flux.

el paqueti inclou biblioteques libvkd3d amb implementacions de Direct3D 12, libvkd3d-shader amb traductor de shader model 4 i 5 i libvkd3d-utils amb funcions per simplificar la migració d'aplicacions Direct3D 12, així com un conjunt de demostracions, inclòs el port glxgears a Direct3D 12. El codi de el projecte es distribueix llicenciat sota LGPLv2.1.

la biblioteca libvkd3d admet la majoria de les funcions de Direct3D 12, incloses les funcions de gràfics i computació, llistes i cues de comandes, descriptors i descriptors de munt, signatures arrel, accés no ordenat, mostrejadors, signatures d'ordres, constants arrel, representació indirecta, etc.

Libvkd3d-shader implementa la traducció de el codi de bytes 4 i 5 dels models d'ombrejat en la representació intermèdia SPIR-V. S'admeten vèrtexs, píxels, teselación, ombrejadors de geometria simple i computacional, serialització de signatures arrel i deserialització.

Les instruccions de l'ombreig inclouen operacions aritmètiques, atòmiques i bit a bit, operadors de control de flux de dades i comparació, instruccions de mostreig, recopilació i càrrega, operacions d'accés no ordenat (UAV, Vista d'accés no ordenat).

En l'etapa actual de desenvolupament, no totes les trucades a Direct3D 12 estan implementades i les proves es van dur a terme principalment en un conjunt d'aplicacions de demostració. La versió no inclou característiques en desenvolupament com a suport per teselación i ombrejadors de geometria complexa, així com un seguit de millores relacionades amb ombrejadors i mètodes bàsics de Direct3D 12. Aquestes característiques s'oferiran en una versió futura.

Principals novetats de Vkd3d 1.2

Dels canvis més importants que es presenten en la nova versió, és la disponibilitat de la biblioteca libvkd3d-shader per al seu ús en projectes de tercers, ja que es van afegir diverses funcions Direct3D 12, com ara:

  • Multisampling.
  • Recursos reservats.
  • Taxes de pas de dades d'instància.
  • API de «dades privades» per a totes les interfícies.
  • Assignacions de components de vista de recursos d'ombreig.
  • Extensió VK_KHR_draw_indirect_count.
  • Representació predicada / condicional.
  • Representació de profunditat sense ombreig de píxels.
  • Retall de profunditat. Això requereix l'extensió VK_EXT_depth_clip_enable.
  • Descarti de l'rasterizador.
  • Barreja de doble font.
  • Mapeig de recursos col·locats.
  • Els mètodes ReadFromSubresource () i WriteToSubresource () ID3D12Resource.
  • Accés simultani a recursos de múltiples cues.
  • Vistes nul·les. És a dir, vistes sense un recurs subjacent.
  • Diverses consultes de suport de funcions més.

A més d'això, també es destaca el suport afegit per convertir, serialitzar i deserializar signatures root (vkd3d_serialize_versioned_root_signature () i vkd3d_create_versioned_root_signature_deserializer (), així com també el suport per sortida de transmissió.

Un altre dels canvi que es destaca és la implementació de variables d'entorn: VKD3D_CONFIG per establir opcions per canviar el comportament de libvkd3d i VKD3D_VULKAN_DEVICE per anul·lar el dispositiu per a la API de Vulkan.

A més de que es va agregar suport per a les instruccions d'ombrejat bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos i el suport preliminar per shaders model 5.1.

I també el suport per a entorns de destinació OpenGL SPIR-V. Això permet SPIR-V produït per libvkd3d-shader per a un ús GL_ARB_gl_spirv. Això inclou suport per a comptadors atòmics OpenGL i mostrejadors combinats.

Finalment si vols conèixer més a l'respecte sobre aquesta nova versió, pots consultar la llista completa de canvis en el següent enllaç.

Com instal·lar vkd3d a Linux?

Per als que estiguin interessats en poder instal·lar vkd3d en el sistema, hauran d'obtenir el codi font i procedir a realitzar la compilació, encara que per a fins pràctiques o per a aquells novells, poden provar aquesta biblioteca sense gaire esforç. Per a això només s'han d'instal·lar lutris i dins de les configuracions d'aquest.

Quant als interessats en la compilació han d'obtenir el codi amb:

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

Finalment es hauran d'habilitar les capes de Vulkan:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.