Ang proyekto sa bino nagpagawas sa Vkd3d 1.3 nga adunay pagpatuman sa Direct3D 12

Pagkahuman sa usa ka tuig ug tunga nga pag-uswag, gipatik sa proyekto sa Wine ang pagpagawas sa vkd3d 1.3 nga pakete nga adunay pagpatuman sa Direct3D 12 nga nagtrabaho pinaagi sa mga tawag sa pagsibya sa Vulkan graphics API. Ang package naglakip sa libvkd3d nga mga librarya nga adunay mga pagpatuman sa Direct3D 12, libvkd3d-shader nga adunay tighubad sa shader models 4 ug 5 ug libvkd3d-utils nga adunay mga function alang sa pagpasimple sa porting sa Direct3D 12 nga mga aplikasyon, ingon man usa ka hugpong sa mga pananglitan sa demo, lakip ang usa ka pantalan. sa glxgears ngadto sa Direct3D 12. Ang project code kay giapod-apod nga lisensyado ubos sa LGPLv2.1.

Gisuportahan sa librarya sa libvkd3d ang kadaghanan nga mga bahin sa Direct3D 12, lakip ang mga graphic ug pasilidad sa pag-compute, mga pila ug mga lista sa command, mga gunitanan ug mga heap handle, mga pirma sa ugat, out-of-order nga pag-access, Samplers, command signature, root constants, dili direkta nga paghubad, Tin-aw nga mga pamaagi *( ) ug Copy*().

Ang libvkd3d-shader nagpatuman sa paghubad sa bytecode sa shader models 4 ug 5 ngadto sa intermediate nga representasyon sa SPIR-V. Nagsuporta sa vertex, pixel, tessellation, compute ug simple geometry shaders, root signature serialization ug deserialization. Ang mga instruksyon sa shader naglakip sa arithmetic, atomic ug bit operations, pagtandi ug data flow control operators, sample, gather and load instructions, unordered access operations (UAV, Unordered Access View).

Lakip sa labing hinungdanon nga mga inobasyon sa Vkd3d 1.3 mao ang:

  • Gidugang inisyal nga suporta alang sa pag-compile ug preprocessing shaders sa HLSL (High-Level Shader Language), nga gihatag sugod sa DirectX 9.0.
  • Gidugang nga suporta alang sa mga arrays sa mga deskriptor nga gihubit sa 5.1 shader model.
  • Naghatag suporta alang sa doble nga katukma nga floating-point nga mga operasyon sa mga shader, dili direkta nga pagtubag sa mga shader sa tessellation, pag-eksport sa mga stencil gikan sa mga shader, usa ka "tukma" nga shader modifier, ug global nga mga babag sa mga kapanguhaan sa memorya.
  • Ang abilidad sa pag-disassemble sa Direct3D shaders gikan sa bytecode ngadto sa representasyon sa asembliya gipatuman.
  • Gidugang nga suporta alang sa pag-parse sa daan nga Direct3D bytecode format nga gigamit sa Direct3D 1, 2 ug 3 shader nga mga modelo.
  • Gidugang sa libvkd3d ang Direct3D 12 nga mga bahin sama sa mga pirma sa ugat, out-of-order view counter, logical merge operators para sa output, ug mirror_once texture addressing mode. Gidugang vkd3d_host_time_domain_info structure.

Source: opennet.ru

Idugang sa usa ka comment