Inilabas ng proyekto ng Wine ang Vkd3d 1.4 na may pagpapatupad ng Direct3D 12

Inilathala ng proyekto ng Wine ang paglabas ng vkd3d 1.4 package na may pagpapatupad ng Direct3D 12 na gumagana sa pamamagitan ng mga broadcasting na tawag sa Vulkan graphics API. Kasama sa package ang mga library ng libvkd3d na may mga pagpapatupad ng Direct3D 12, libvkd3d-shader na may tagasalin ng mga modelo ng shader 4 at 5 at mga libvkd3d-utils na may mga function para sa pagpapasimple ng pag-port ng Direct3D 12 na mga application, pati na rin ang isang hanay ng mga halimbawa ng demo, kabilang ang isang port ng glxgears sa Direct3D 12. Ang code ng proyekto ay ipinamahagi na lisensyado sa ilalim ng LGPLv2.1.

Sinusuportahan ng libvkd3d library ang karamihan sa mga feature ng Direct3D 12, kabilang ang mga graphics at computation facility, queues at command list, handle at heap handle, root signature, out-of-order access, Sampler, command signature, root constants, indirect rendering, Clear method *( ) at Kopyahin*().

Sa libvkd3d-shader, ang pagsasalin ng bytecode ng shader models 4 at 5 sa isang intermediate na representasyon ng SPIR-V ay ipinatupad. Sinusuportahan ang vertex, pixel, tessellation, compute at simpleng geometry shaders, root signature serialization at deserialization. Kasama sa mga tagubilin ng shader ang arithmetic, atomic at bit operations, paghahambing at data flow control operator, sample, gather and load instructions, unordered access operations (UAV, Unordered Access View).

Sa bagong bersyon:

  • Maraming mga pagpapabuti ang ginawa sa HLSL (High-Level Shader Language) shader compiler na ibinigay mula sa DirectX 9.0.
  • Ang isang bagong pagpapatupad ng Descriptor Heap ay iminungkahi, gamit ang Vulkan extension na VK_EXT_descriptor_indexing.
  • Nagdagdag ng bagong pagpapatupad ng bakod batay sa extension ng Vulkan na K_KHR_timeline_semaphore.

Pinagmulan: opennet.ru

Magdagdag ng komento