Wine төсөл нь Direct3D 1.2 хэрэгжүүлэлттэй Vkd3d 12 хувилбарыг гаргасан

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

libvkd3d номын сан дэмждэг Direct3D 12-ийн ихэнх функцууд, үүнд график болон тооцооллын хэрэгсэл, дараалал болон тушаалын жагсаалт, бариул болон овоолгын бариул, үндсэн гарын үсэг, захиалгат хандалт, дээж авагч, тушаалын гарын үсэг, үндсэн тогтмолууд, шууд бус дүрслэл, Clear*() аргууд орно. болон Хуулах*().

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

Хамгийн чухал хүмүүсийн дунд инноваци Vkd3d 1.2-д дараахь зүйлийг онцлон тэмдэглэв.

  • libvkd3d-shader номын сан нь гуравдагч талын төслүүдэд ашиглахад бэлэн болсон.
  • Tessellation shader дэмжлэг.
  • Үндсэн гарын үсгийг хөрвүүлэх, цуваа болгох, цуваа арилгахад дэмжлэг үзүүлэх (vkd3d_serialize_versioned_root_signature() ба vkd3d_create_versioned_root_signature_deserializer()).
  • Урсгалын гаралтыг дэмжих.
  • Өмнө нь ашиглах боломжгүй байсан Direct3D 12 функцуудыг хэрэгжүүлэх, үүнд олон түүвэрлэлтийг дэмжих, нөөц нөөцлөх,
    шууд бус индексжүүлсэн дүрслэл, пиксел шэйдергүйгээр гүн дүрслэл, өөр өөр тушаалын дарааллаас нөөцөд нэгэн зэрэг хандах, Null-views.

  • Орчны хувьсагчдыг нэмсэн: libvkd3d горимыг өөрчлөх сонголтуудыг тохируулахын тулд VKD3D_CONFIG, Vulkan API-д зориулсан төхөөрөмжийг хүчингүй болгох VKD3D_VULKAN_DEVICE.
  • Bufinfo shader зааварчилгааг дэмжих нэмэлт,
    үнэлгээний_центроид,
    үнэлгээний_түүвэр_индекс,
    ld2ms,
    жишээ_б,
    жишээ_d,
    жишээ_мэдээлэл,
    дээж.

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

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