ืคืจื•ื™ืงื˜ Wine ืคืจืกื ืืช Vkd3d 1.7 ืขื ื™ื™ืฉื•ื Direct3D 12

ืคืจื•ื™ืงื˜ Wine ืคืจืกื ืืช ื”ืฉื—ืจื•ืจ ืฉืœ ื—ื‘ื™ืœืช vkd3d 1.7 ืขื ื™ื™ืฉื•ื ืฉืœ 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, ื›ื•ืœืœ ืžืชืงื ื™ ื’ืจืคื™ืงื” ื•ืžื—ืฉื•ื‘, ืชื•ืจื™ื ื•ืจืฉื™ืžื•ืช ืคืงื•ื“ื•ืช, ื ืงื•ื“ื•ืช ืื—ื™ื–ื” ื•ื ืงื•ื“ื•ืช ืื—ื™ื–ื”, ื—ืชื™ืžื•ืช ืฉื•ืจืฉ, ื’ื™ืฉื” ืžื—ื•ืฅ ืœืกื“ืจ, ื“ื’ื™ืžื•ืช, ื—ืชื™ืžื•ืช ืคืงื•ื“ื•ืช, ืงื‘ื•ืขื™ ืฉื•ืจืฉ, ืขื™ื‘ื•ื“ ืขืงื™ืฃ, ืฉื™ื˜ื•ืช ื ืงื” *( ) ื•ื”ืขืชืง*(). ื‘-libvkd3d-shader, ืžื™ื•ืฉื ื”ืชืจื’ื•ื ืฉืœ bytecode ืฉืœ ื“ื’ืžื™ ื”ืฆืœืœื” 4 ื•-5 ืœื™ื™ืฆื•ื’ SPIR-V ื‘ื™ื ื™ื™ื. ืชื•ืžืš ื‘ื”ืฆืœืœื•ืช ืงื•ื“ืงื•ื“, ืคื™ืงืกืœ, ื˜ืกืœ, ื—ื™ืฉื•ื‘ ื•ื’ื™ืื•ืžื˜ืจื™ื” ืคืฉื•ื˜ื”, ืกืจื™ืืœื™ื–ืฆื™ื” ื•ืกื™ืจื™ืืœื™ื–ืฆื™ื” ืฉืœ ื—ืชื™ืžื•ืช ืฉื•ืจืฉ. ื”ื•ืจืื•ืช Shader ื›ื•ืœืœื•ืช ืคืขื•ืœื•ืช ืืจื™ืชืžื˜ื™ื•ืช, ืื˜ื•ืžื™ื•ืช ื•ืกื™ื‘ื™ื•ืช, ืžืคืขื™ืœื™ ื‘ืงืจืช ื”ืฉื•ื•ืื” ื•ื–ืจื™ืžืช ื ืชื•ื ื™ื, ื“ื’ื™ืžื”, ื”ื•ืจืื•ืช ืื™ืกื•ืฃ ื•ื˜ืขื™ื ื”, ืคืขื•ืœื•ืช ื’ื™ืฉื” ืœื ืžืกื•ื“ืจื•ืช (ืžืœ"ื˜, ืชืฆื•ื’ืช ื’ื™ืฉื” ืœื ืžืกื•ื“ืจืช).

ื‘ื’ืจืกื” ื”ื—ื“ืฉื”:

  • ื”ืขื‘ื•ื“ื” ื ืžืฉื›ื” ืœืฉื™ืคื•ืจ ืžื”ื“ืจ ื”ืฆืœืœื” ื‘-HLSL (High-Level Shader Language):
    • ื”ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœืงืจื•ื ืœืคื•ื ืงืฆื™ื•ืช ืžื•ืชืืžื•ืช ืื™ืฉื™ืช ื•ืœื”ืฉืชืžืฉ ื‘ืžืขืจื›ื™ื ื›ืคืจืžื˜ืจื™ื ืœืคื•ื ืงืฆื™ื•ืช ืžื•ืชืืžื•ืช ืื™ืฉื™ืช.
    • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืคืจืžื˜ืจื™ื SV_DispatchThreadID, SV_GroupID ื•-SV_GroupThreadID.
    • ื ื•ืกืคื• ืคื•ื ืงืฆื™ื•ืช ืžื•ื‘ื ื•ืช all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt () , step(), transpose().
    • ื ื•ืกืคื” ืชืžื™ื›ื” ืจืืฉื•ื ื™ืช ืœืกื•ื’ื™ ื ืงื•ื“ื” ืฆืคื” ื‘ืจืžืช ื“ื™ื•ืง ื ืžื•ื›ื” ื›ื’ื•ืŸ "min16float".
  • ืชืžื™ื›ื” ืžืฉื•ืคืจืช ืžืฉืžืขื•ืชื™ืช ื‘ืคืจื•ืคื™ืœื™ ื“ื’ืžื™ ื”ืฆืœืœื” Direct3D 1/2/3.
  • ื ื•ืกืฃ API ืฆื™ื‘ื•ืจื™ ืขื‘ื•ืจ ื ื™ืชื•ื— (vkd3d_shader_parse_dxbc) ื•ืกื“ืจื” (vkd3d_shader_serialize_dxbc) ืฉืœ ื ืชื•ื ื™ื ื‘ื™ื ืืจื™ื™ื DXBC.

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

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