เป‚เบ„เบ‡เบเบฒเบ™ Wine เป„เบ”เป‰เบ›เปˆเบญเบ Vkd3d 1.3 เบ”เป‰เบงเบเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ” Direct3D 12

เบซเบผเบฑเบ‡เบˆเบฒเบเบซเบ™เบถเปˆเบ‡เบ›เบตเปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เป‚เบ„เบ‡เบเบฒเบ™ Wine เป„เบ”เป‰เบˆเบฑเบ”เบžเบตเบกเบกเบฒเบเบฒเบ™เบ›เปˆเบญเบเบŠเบธเบ” vkd3d 1.3 เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” Direct3D 12 เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”เบเบฒเบ™เป‚เบ—เป„เบ›เบซเบฒ Vulkan graphics API. เบŠเบธเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ›เบฐเบเบญเบšเบกเบตเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” libvkd3d เบ—เบตเปˆเบกเบตเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ” Direct3D 12, libvkd3d-shader เบเบฑเบšเบ•เบปเบงเปเบ›เบ‚เบญเบ‡เปเบšเบš shader 4 เปเบฅเบฐ 5 เปเบฅเบฐ libvkd3d-utils เบ—เบตเปˆเบกเบตเบŸเบฑเบ‡เบŠเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ‚เบญเบ‡เบเบฒเบ™ porting เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ Direct3D 12, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบŠเบธเบ”เบ•เบปเบงเบขเปˆเบฒเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡, เบฅเบงเบกเบ—เบฑเบ‡เบžเบญเบ”. เบ‚เบญเบ‡ glxgears เบเบฑเบš Direct3D 12. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเป‚เบ”เบเบญเบฐเบ™เบธเบเบฒเบ”เบžเบฒเบเปƒเบ•เป‰ LGPLv2.1.

เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” libvkd3d เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ” Direct3D 12 เบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบฅเบงเบกเบ—เบฑเบ‡เบฎเบนเบšเบžเบฒเบšเปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ, เปเบ–เบงเปเบฅเบฐเบฅเบฒเบเบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, handles เปเบฅเบฐ heap handles, root signatures, out-of-order access, Samplers, command signatures, root constants, indirect rendering, clear method *( ) เปเบฅเบฐเบชเบณเป€เบ™เบปเบฒ*().

เปƒเบ™ libvkd3d-shader, เบเบฒเบ™เปเบ›เบ‚เบญเบ‡ bytecode เบ‚เบญเบ‡เบ•เบปเบงเปเบšเบš shader 4 เปเบฅเบฐ 5 เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™ SPIR-V เบฅเบฐเบ”เบฑเบšเบ›เบฒเบ™เบเบฒเบ‡เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. Vertex, pixels, tessellation, compute and simple geometry shaders, root signature serialization เปเบฅเบฐ deserialization เปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ‚เบญเบ‡ Shader เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเป€เบฅเบเบ„เบฐเบ™เบดเบ”, เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฐเบฅเปเบฒเบกเบฐเบ™เบนเปเบฅเบฐเบšเบดเบ”, เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเปเบฅเบฐเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป„เบซเบผเป€เบ‚เบปเป‰เบฒเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเปเบฅเบฐเบเบฒเบ™เป‚เบซเบผเบ”เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ, เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ unordered (UAV, Unordered Access View).

เปƒเบ™เบšเบฑเบ™เบ”เบฒเบเบฒเบ™เบ›เบฐเบ”เบดเบ”เบชเป‰เบฒเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เปƒเบ™ Vkd3d 1.3 เปเบกเปˆเบ™:

  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเปเบฅเบฐเบ›เบธเบ‡เปเบ•เปˆเบ‡ shaders เปƒเบ™ HLSL (High-Level Shader Language), เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ DirectX 9.0.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš array เบ‚เบญเบ‡ descriptors เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™ 5.1 shader model.
  • เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบˆเบธเบ”เป€เบฅเบทเปˆเบญเบ™เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบŠเบฑเบ”เป€เบˆเบ™เบชเบญเบ‡เป€เบ—เบปเปˆเบฒเปƒเบ™ shaders, เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบฒเบ‡เบญเป‰เบญเบกเบชเปเบฒเบฅเบฑเบš tessellation shaders, เบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบเบ‚เบญเบ‡ stencils เบˆเบฒเบ shaders, เบ•เบปเบงเปเบเป‰เป„เบ‚ shader "เบŠเบฑเบ”เป€เบˆเบ™", เปเบฅเบฐเบญเบธเบ›เบฐเบชเบฑเบเบ—เบปเปˆเบงเป‚เบฅเบเบ•เปเปˆเบเบฑเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ.
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™ disassemble Direct3D shaders เบˆเบฒเบ bytecode เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เบ›เบฐเบเบญเบšเบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เปเบเบเปเบเบฐเบฎเบนเบšเปเบšเบšเป„เบšเบ•เปŒเบ‚เบญเบ‡ Direct3D เปเบšเบšเป€เบเบปเปˆเบฒเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เปเบšเบš Direct3D 1, 2 เปเบฅเบฐ 3 shader.
  • libvkd3d เป€เบžเบตเปˆเบกเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” Direct3D 12 เป€เบŠเบฑเปˆเบ™: เบฅเบฒเบเป€เบŠเบฑเบ™เบฎเบฒเบ, เบ•เบปเบงเบ™เบฑเบšเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบชเบฑเปˆเบ‡, เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบฅเบงเบกเบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš, เปเบฅเบฐเบฎเบนเบšเปเบšเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡ mirror_once. เป€เบžเบตเปˆเบกเป‚เบ„เบ‡เบชเป‰เบฒเบ‡ vkd3d_host_time_domain_info.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™