ืคืจื•ื™ืงื˜ Wine ื”ื•ืฆื™ื ืืช Vkd3d 1.2 ืขื ื™ื™ืฉื•ื Direct3D 12

ืคืจื•ื™ืงื˜ ื™ื™ืŸ ืคื•ืจืกื ืฉื—ืจื•ืจ ื—ื‘ื™ืœื” vkd3d 1.2 ืขื ืžื™ืžื•ืฉ Direct3D 12 ืฉืคื•ืขืœ ื‘ืืžืฆืขื•ืช ืฉื™ื“ื•ืจ ืงืจื™ืื•ืช ืœ-Vulkan graphics API. ื”ื—ื‘ื™ืœื” ื›ื•ืœืœืช ืกืคืจื™ื•ืช libvkd3d ืขื ื”ื˜ืžืขื•ืช ืฉืœ Direct3D 12, libvkd3d-shader ืขื ืžืชืจื’ื ืฉืœ Shader ืžื•ื“ืœื™ื 4 ื•- 5 ื•-libvkd3d-utils ืขื ืคื•ื ืงืฆื™ื•ืช ืœืคื™ืฉื•ื˜ ื”ื”ืขื‘ืจื” ืฉืœ ื™ื™ืฉื•ืžื™ Direct3D 12, ื›ืžื• ื’ื ืกื˜ ืฉืœ ื“ื•ื’ืžืื•ืช ื”ื“ื’ืžื”, ื›ื•ืœืœ ืคื•ืจื˜ ืฉืœ glxgears ืœ-Direct3D 12. ืงื•ื“ ืคืจื•ื™ืงื˜ ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืžื•ืจืฉื” ืชื—ืช LGPLv2.1.

ืกืคืจื™ื™ืช libvkd3d ืชื•ืžืš ืจื•ื‘ ื”ืชื›ื•ื ื•ืช ืฉืœ Direct3D 12, ื›ื•ืœืœ ืžืชืงื ื™ ื’ืจืคื™ืงื” ื•ืžื—ืฉื•ื‘, ืชื•ืจื™ื ื•ืจืฉื™ืžื•ืช ืคืงื•ื“ื•ืช, ื ืงื•ื“ื•ืช ืื—ื™ื–ื” ื•ื ืงื•ื“ื•ืช ืื—ื™ื–ื”, ื—ืชื™ืžื•ืช ืฉื•ืจืฉ, ื’ื™ืฉื” ืžื—ื•ืฅ ืœืกื“ืจ, ื“ื’ื™ืžื•ืช, ื—ืชื™ืžื•ืช ืคืงื•ื“ื•ืช, ืงื‘ื•ืขื™ ืฉื•ืจืฉ, ืขื™ื‘ื•ื“ ืขืงื™ืฃ, ืฉื™ื˜ื•ืช Clear*() ื•ื”ืขืชืง*().

libvkd3d-shader ืžื™ื™ืฉื ืชืจื’ื•ื ืฉืœ bytecode 4 ื•-5 ืฉืœ ืžื•ื“ืœื™ื shader ืœื™ื™ืฆื•ื’ ื‘ื™ื ื™ื™ื ืฉืœ SPIR-V. ืชื•ืžืš ื‘ื”ืฆืœืœื•ืช ืงื•ื“ืงื•ื“, ืคื™ืงืกืœ, ื˜ืกืœ, ื—ื™ืฉื•ื‘ ื•ื’ื™ืื•ืžื˜ืจื™ื” ืคืฉื•ื˜ื”, ืกืจื™ืืœื™ื–ืฆื™ื” ื•ืกื™ืจื™ืืœื™ื–ืฆื™ื” ืฉืœ ื—ืชื™ืžื•ืช ืฉื•ืจืฉ. ืคืขื•ืœื•ืช ืืจื™ืชืžื˜ื™ื•ืช, ืื˜ื•ืžื™ื•ืช ื•ื‘ื™ื˜, ืžืคืขื™ืœื™ ื”ืฉื•ื•ืื” ื•ื‘ืงืจืช ื–ืจื™ืžืช ื ืชื•ื ื™ื, ื“ื’ื™ืžื”, ืื™ืกื•ืฃ ื•ื˜ืขื™ื ื” ืฉืœ ื”ื•ืจืื•ืช, ืคืขื•ืœื•ืช ื’ื™ืฉื” ืœื ืžืกื•ื“ืจื•ืช (ืžืœ"ื˜, ืชืฆื•ื’ืช ื’ื™ืฉื” ืœื ืžืกื•ื“ืจืช) ืžื™ื•ืฉืžื•ืช ืžื”ื•ืจืื•ืช ื”ืฆืœืœื”.

ื‘ื™ืŸ ื”ืžืฉืžืขื•ืชื™ื™ื ื‘ื™ื•ืชืจ ื—ื™ื“ื•ืฉื™ื ื‘-Vkd3d 1.2 ืžื•ื“ื’ืฉื™ื ื”ื“ื‘ืจื™ื ื”ื‘ืื™ื:

  • ืกืคืจื™ื™ืช libvkd3d-shader ืžื•ื›ื ื” ืœืฉื™ืžื•ืฉ ื‘ืคืจื•ื™ืงื˜ื™ื ืฉืœ ืฆื“ ืฉืœื™ืฉื™.
  • ืชืžื™ื›ื” ื‘ื”ืฆืœืœืช ื˜ืกืกืœ.
  • ืชืžื™ื›ื” ื‘ื”ืžืจื”, ืกืจื™ืืœื™ื–ืฆื™ื” ื•ืกื™ื“ืจื™ืืœื™ื–ืฆื™ื” ืฉืœ ื—ืชื™ืžื•ืช ืฉื•ืจืฉ (vkd3d_serialize_versioned_root_signature() ื•-vkd3d_create_versioned_root_signature_deserializer()).
  • ืชืžื™ื›ื” ื‘ืคืœื˜ ืกื˜ืจื™ืžื™ื ื’.
  • ื™ื™ืฉื•ื ืฉืœ ืชื›ื•ื ื•ืช ืจื‘ื•ืช ืฉืœื ื”ื™ื• ื–ืžื™ื ื•ืช ื‘ืขื‘ืจ ืฉืœ Direct3D 12, ื›ื•ืœืœ ืชืžื™ื›ื” ื‘ืจื™ื‘ื•ื™ ื“ื’ื™ืžื•ืช, ืฉืžื™ืจืช ืžืฉืื‘ื™ื,
    ืขื™ื‘ื•ื“ ืื™ื ื“ืงืก ืขืงื™ืฃ, ืขื™ื‘ื•ื“ ืขื•ืžืง ืœืœื ื”ืฆืœืœื•ืช ืคื™ืงืกืœื™ื, ื’ื™ืฉื” ื‘ื•-ื–ืžื ื™ืช ืœืžืฉืื‘ื™ื ืžืชื•ืจื™ ืคืงื•ื“ื•ืช ืฉื•ื ื™ื, ืชืฆื•ื’ื•ืช Null.

  • ื ื•ืกืคื• ืžืฉืชื ื™ ืกื‘ื™ื‘ื”: VKD3D_CONFIG ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืืคืฉืจื•ื™ื•ืช ืœืฉื™ื ื•ื™ ื”ืชื ื”ื’ื•ืช libvkd3d ื•-VKD3D_VULKAN_DEVICE ื›ื“ื™ ืœืขืงื•ืฃ ืืช ื”ื”ืชืงืŸ ืขื‘ื•ืจ Vulkan API.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื”ื•ืจืื•ืช buffinfo shader,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    ื“ื•ื’ืžื™ื•ืช.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”