เดตเตˆเตป เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต Direct3D 1.2 เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฒเต‹เดŸเต† Vkd3d 12 เดชเตเดฑเดคเตเดคเดฟเดฑเด•เตเด•เดฟ

ะŸั€ะพะตะบั‚ Wine เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเต เดชเดพเด•เตเด•เต‡เดœเต เดฑเดฟเดฒเต€เดธเต vkd3d 1.2 ั ั€ะตะฐะปะธะทะฐั†ะธะตะน Direct3D 12, ั€ะฐะฑะพั‚ะฐัŽั‰ะตะน ั‡ะตั€ะตะท ั‚ั€ะฐะฝัะปัั†ะธัŽ ะฒั‹ะทะพะฒะพะฒ ะฒ ะณั€ะฐั„ะธั‡ะตัะบะธะน API Vulkan. ะ’ ัะพัั‚ะฐะฒ ะฟะฐะบะตั‚ะฐ ะฒั…ะพะดัั‚ ะฑะธะฑะปะธะพั‚ะตะบะธ libvkd3d ั ั€ะตะฐะปะธะทะฐั†ะธะน Direct3D 12, libvkd3d-shader c ั‚ั€ะฐะฝัะปัั‚ะพั€ะพะผ 4 ะธ 5 ะผะพะดะตะปะธ ัˆะตะนะดะตั€ะพะฒ ะธ libvkd3d-utils ั ั„ัƒะฝะบั†ะธัะผะธ ะดะปั ัƒะฟั€ะพั‰ะตะฝะธั ะฟะพั€ั‚ะธั€ะพะฒะฐะฝะธั ะฟั€ะธะปะพะถะตะฝะธะน Direct3D 12, ะฐ ั‚ะฐะบะถะต ะฝะฐะฑะพั€ ะดะตะผะพะฝัั‚ั€ะฐั†ะธะพะฝะฝั‹ั… ะฟั€ะธะผะตั€ะพะฒ, ะฒะบะปัŽั‡ะฐั ะฟะพั€ั‚ glxgears ะฝะฐ Direct3D 12. ะšะพะด ะฟั€ะพะตะบั‚ะฐ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดคเดคเต LGPLv2.1 เดชเตเดฐเด•เดพเดฐเด‚ เดฒเตˆเดธเตปเดธเต.

ะ‘ะธะฑะปะธะพั‚ะตะบะฐ libvkd3d เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต ะฑะพะปัŒัˆัƒัŽ ั‡ะฐัั‚ัŒ ะฒะพะทะผะพะถะฝะพัั‚ะตะน Direct3D 12, ะฒะบะปัŽั‡ะฐั ัั€ะตะดัั‚ะฒะฐ ะดะปั ะณั€ะฐั„ะธะบะธ ะธ ะฒั‹ั‡ะธัะปะตะฝะธะน, ะพั‡ะตั€ะตะดะธ ะธ ัะฟะธัะบะธ ะบะพะผะฐะฝะด, ะดะตัะบั€ะธะฟั‚ะพั€ั‹ ะธ ะดะตัะบั€ะธะฟั‚ะพั€ั‹ ะบัƒั‡ะธ, ะบะพั€ะฝะตะฒั‹ะต ะฟะพะดะฟะธัะธ, ะฝะตัƒะฟะพั€ัะดะพั‡ะตะฝะฝั‹ะน ะดะพัั‚ัƒะฟ, Sampler-ั‹, ัะธะณะฝะฐั‚ัƒั€ั‹ ะบะพะผะฐะฝะด, ะบะพั€ะฝะตะฒั‹ะต ะบะพะฝัั‚ะฐะฝั‚ั‹, ะฝะตะฟั€ัะผัƒัŽ (indirect) ะพั‚ั€ะธัะพะฒะบัƒ, ะผะตั‚ะพะดั‹ Clear*() ะธ Copy*().

libvkd3d-shader-เตฝ, เดทเต‡เดกเตผ เดฎเต‹เดกเดฒเตเด•เตพ 4, 5 เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดฌเตˆเดฑเตเดฑเตเด•เต‹เดกเต เด’เดฐเต เด‡เตปเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต SPIR-V เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดตเต†เตผเดŸเตเดŸเต†เด•เตเดธเต, เดชเดฟเด•เตเดธเตฝ, เดŸเต†เดธเตเดธเดฒเต‡เดทเตป, เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเต, เดธเดฟเดฎเตเดชเดฟเตพ เดœเตเดฏเดพเดฎเดฟเดคเดฟ เดทเต‡เดกเดฑเตเด•เตพ, เดฑเต‚เดŸเตเดŸเต เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป, เดกเดฟเดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เดŽเดจเตเดจเดฟเดต เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. เดทเต‡เดกเตผ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเดฟเตฝ เด…เดฐเดฟเดคเตเดฎเต†เดฑเตเดฑเดฟเด•เต, เด†เดฑเตเดฑเต‹เดฎเดฟเด•เต, เดฌเดฟเดฑเตเดฑเต เด“เดชเตเดชเดฑเต‡เดทเดจเตเด•เตพ, เดคเดพเดฐเดคเดฎเตเดฏเดตเตเด‚ เดกเดพเดฑเตเดฑเดพ เดซเตเดฒเต‹ เด•เตบเดŸเตเดฐเต‹เตพ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเตผ, เดธเดพเดฎเตเดชเดฟเตพ, เดถเต‡เด–เดฐเดฟเด•เตเด•เตฝ, เดฒเต‹เดกเต เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ, เด“เตผเดกเตผ เดšเต†เดฏเตเดฏเดพเดคเตเดค เด†เด•เตเดธเดธเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ (UAV, เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เด†เด•เตเดธเดธเต เด•เดพเดดเตเดš) เดŽเดจเตเดจเดฟเดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต.

ะกั€ะตะดะธ ะฝะฐะธะฑะพะปะตะต ะทะฝะฐั‡ะธั‚ะตะปัŒะฝั‹ั… เดชเตเดคเตเดฎเด•เตพ ะฒ Vkd3d 1.2 ะฒั‹ะดะตะปััŽั‚ัั:

  • ะ“ะพั‚ะพะฒะฝะพัั‚ัŒ ะฑะธะฑะปะธะพั‚ะตะบะธ libvkd3d-shader ะดะปั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะฒ ัั‚ะพั€ะพะฝะฝะธั… ะฟั€ะพะตะบั‚ะฐั….
  • ะŸะพะดะดะตั€ะถะบะฐ ั‚ะตััะตะปัั†ะธะพะฝะฝั‹ั… ัˆะตะนะดะตั€ะพะฒ.
  • ะŸะพะดะดะตั€ะถะบะฐ ะฟั€ะตะพะฑั€ะฐะทะพะฒะฐะฝะธั, ัะตั€ะธะฐะปะธะทะฐั†ะธะธ ะธ ะดะตัะตั€ะธะฐะปะธะทะฐั†ะธะธ ะบะพั€ะฝะตะฒั‹ั… ัะธะณะฝะฐั‚ัƒั€ (vkd3d_serialize_versioned_root_signature() ะธ vkd3d_create_versioned_root_signature_deserializer()).
  • ะŸะพะดะดะตั€ะถะบะฐ ะฟะพั‚ะพะบะพะฒะพะณะพ ะฒั‹ะฒะพะดะฐ.
  • ะ ะตะฐะปะธะทะฐั†ะธั ะผะฝะพะณะธั… ั€ะฐะฝะตะต ะฝะตะดะพัั‚ัƒะฟะฝั‹ั… ะฒะพะทะผะพะถะฝะพัั‚ะตะน Direct3D 12, ะฒะบะปัŽั‡ะฐั ะฟะพะดะดะตั€ะถะบัƒ ะผัƒะปัŒั‚ะธััะผะฟะปะธะฝะณะฐ, ั€ะตะทะตั€ะฒะธั€ะพะฒะฐะฝะธั ั€ะตััƒั€ัะพะฒ,
    ะบะพัะฒะตะฝะฝะพะน ะธะฝะดะตะบัะธั€ะพะฒะฐะฝะฝะพะน ะพั‚ั€ะธัะพะฒะบะธ, ั€ะตะฝะดะตั€ะธะฝะณะฐ ะณะปัƒะฑะธะฝั‹ ะฑะตะท ะฟะธะบัะตะปัŒะฝั‹ั… ัˆะตะนะดะตั€ะพะฒ, ะพะดะฝะพะฒั€ะตะผะตะฝะฝะพะณะพ ะดะพัั‚ัƒะฟะฐ ะบ ั€ะตััƒั€ัะฐะผ ะธั… ั€ะฐะทะฝั‹ั… ะพั‡ะตั€ะตะดะตะน ะบะพะผะฐะฝะด, ะฝัƒะปะตะฒั‹ั… ะฟั€ะตะดัั‚ะฐะฒะปะตะฝะธะน (Null-views).

  • ะ”ะพะฑะฐะฒะปะตะฝั‹ ะฟะตั€ะตะผะตะฝะฝั‹ะต ะพะบั€ัƒะถะตะฝะธั: VKD3D_CONFIG ะดะปั ัƒัั‚ะฐะฝะพะฒะบะธ ะพะฟั†ะธะน ะดะปั ะธะทะผะตะฝะตะฝะธั ะฟะพะฒะตะดะตะฝะธั libvkd3d ะธ VKD3D_VULKAN_DEVICE ะดะปั ะฟะตั€ะตะพะฟั€ะตะดะตะปะตะฝะธั ัƒัั‚ั€ะพะนัั‚ะฒะฐ ะดะปั API Vulkan.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัˆะตะนะดะตั€ะฝั‹ั… ะธะฝัั‚ั€ัƒะบั†ะธะน bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    samplepos.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•