Mradi wa Mvinyo umetoa Vkd3d 1.2 na utekelezaji wa Direct3D 12

Mradi wa Mvinyo kuchapishwa kutolewa kwa kifurushi vkd3d 1.2 na utekelezaji wa Direct3D 12 ambao hufanya kazi kupitia simu za utangazaji kwa API ya michoro ya Vulkan. Kifurushi hiki ni pamoja na maktaba za libvkd3d zilizo na utekelezaji wa Direct3D 12, libvkd3d-shader na mtafsiri wa mifano ya shader 4 na 5 na libvkd3d-utils zilizo na kazi za kurahisisha utumaji wa programu za Direct3D 12, na pia seti ya mifano ya onyesho, pamoja na bandari. ya glxgears hadi Direct3D 12. Msimbo wa mradi kusambazwa na iliyopewa leseni chini ya LGPLv2.1.

maktaba ya libvkd3d huunga mkono Vipengele vingi vya Direct3D 12, pamoja na michoro na vifaa vya kompyuta, foleni na orodha za amri, vipini na vishikizo vya rundo, saini za mizizi, ufikiaji wa nje ya agizo, Sampuli, saini za amri, vidhibiti vya mizizi, utoaji usio wa moja kwa moja, Njia za wazi*() na Nakili*().

libvkd3d-shader hutumia tafsiri ya bytecode ya miundo ya shader 4 na 5 hadi uwakilishi wa kati wa SPIR-V. Inaauni vertex, pixel, tessellation, compute na vivuli rahisi vya jiometri, usanifu wa saini za mizizi na uondoaji. Maagizo ya Shader ni pamoja na hesabu, oparesheni za atomiki na biti, ulinganishaji na waendeshaji wa udhibiti wa mtiririko wa data, sampuli, maagizo ya kukusanya na kupakia, shughuli za ufikiaji zisizo na mpangilio (UAV, Mwonekano wa Ufikiaji Usio na Mipangilio).

Miongoni mwa muhimu zaidi ubunifu katika Vkd3d 1.2 yafuatayo yameangaziwa:

  • Maktaba ya libvkd3d-shader iko tayari kutumika katika miradi ya watu wengine.
  • Msaada wa shader ya Tessellation.
  • Usaidizi wa ubadilishaji, ujumuishaji na uondoaji wa saini za mizizi (vkd3d_serialize_versioned_root_signature() na vkd3d_create_versioned_root_signature_deserializer()).
  • Usaidizi wa pato la utiririshaji.
  • Utekelezaji wa vipengele vingi vya Direct3D 12 ambavyo havikupatikana hapo awali, ikiwa ni pamoja na usaidizi wa sampuli nyingi, uhifadhi wa rasilimali,
    uwasilishaji ulio na faharasa usio wa moja kwa moja, uwasilishaji wa kina bila vivuli vya pikseli, ufikiaji kwa wakati mmoja kwa rasilimali kutoka kwa foleni za amri tofauti, Mionekano isiyo na maana.

  • Viwango vya mazingira vilivyoongezwa: VKD3D_CONFIG ili kuweka chaguo za kubadilisha tabia ya libvkd3d na VKD3D_VULKAN_DEVICE kubatilisha kifaa kwa API ya Vulkan.
  • Msaada ulioongezwa kwa maagizo ya bufinfo shader,
    eval_centroid,
    eval_sampuli_faharasa,
    ld2ms,
    sampuli_b,
    sampuli_d,
    sampuli_maelezo,
    mifano.

Chanzo: opennet.ru

Kuongeza maoni