Wine төсөл Direct3D 1.7 хэрэгжүүлэлттэй Vkd3d 12-г нийтлэв

Wine төсөл нь Vulkan график API руу дуудлагыг дамжуулах замаар ажилладаг Direct3D 1.7-ийн хэрэгжилт бүхий vkd3d 12 багцыг нийтлэв. Энэхүү багцад Direct3D 3-ийн хэрэгжилт бүхий libvkd12d номын сангууд, 3, 4-р шэйдер загваруудын орчуулагчтай libvkd5d-shader, Direct3D 3 програмуудыг зөөвөрлөхөд хялбар болгох функц бүхий libvkd12d-utils, портыг багтаасан үзүүлэнгийн жишээнүүд багтсан болно. of glxgears Direct3D 12. Төслийн кодыг LGPLv2.1-ийн дагуу лицензээр түгээсэн.

Libvkd3d номын сан нь график болон тооцооллын хэрэгсэл, дараалал болон тушаалын жагсаалт, бариул болон овоолгын бариул, үндсэн гарын үсэг, захиалгат хандалт, дээж авах, тушаалын гарын үсэг, үндсэн тогтмолууд, шууд бус дүрслэх, цэвэрлэх аргууд зэрэг Direct3D 12-ын ихэнх функцуудыг дэмждэг *( ) болон Хуулах*(). libvkd3d-shader-д шэйдерийн 4 ба 5-р загваруудын байт кодыг завсрын SPIR-V дүрслэл болгон хөрвүүлэх ажлыг гүйцэтгэдэг. Орой, пиксел, tessellation, тооцоолох болон энгийн геометрийн шэйдер, root гарын үсгийн цуваа болон цуваа салалтыг дэмждэг. Шэйдерийн зааварт арифметик, атомын болон битийн үйлдлүүд, харьцуулах болон өгөгдлийн урсгалын хяналтын операторууд, дээж авах, цуглуулах, ачаалах заавар, захиалгагүй хандалтын үйлдлүүд (UAV, Unordered Access View) багтана.

Шинэ хувилбарт:

  • HLSL (High-Level Shader Language) дэх шэйдер хөрвүүлэгчийг сайжруулах ажил үргэлжилж байна:
    • Захиалгат функцуудыг дуудаж, массивыг захиалгат функцүүдэд параметр болгон ашиглах боломжийг нэмсэн.
    • SV_DispatchThreadID, SV_GroupID болон SV_GroupThreadID параметрүүдийн дэмжлэгийг нэмсэн.
    • All(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt функцуудыг нэмсэн. (), алхам (), шилжүүлэн суулгах ().
    • "min16float" гэх мэт бага нарийвчлалтай хөвөх цэгийн төрлүүдийн анхны дэмжлэгийг нэмсэн.
  • Direct3D 1/2/3 шэйдер загварын профайлуудын дэмжлэгийг мэдэгдэхүйц сайжруулсан.
  • DXBC хоёртын өгөгдлийг задлан шинжлэх (vkd3d_shader_parse_dxbc) болон цуваа болгох (vkd3d_shader_serialize_dxbc) олон нийтийн API нэмсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх