Wine 8.0 хувилбар болон vkd3d 1.6 хувилбар

WinAPI-ийн нээлттэй хувилбар болох Wine 8.0-ийн анхны хувилбарын туршилтыг эхлүүлсэн. Кодын суурь нь 7.22-р сарын дундуур гарах төлөвтэй байгаа хувилбараас өмнө царцаах үе шатанд орсон. Wine 52 гарсанаас хойш 538 алдааны мэдээг хааж, XNUMX өөрчлөлт хийсэн байна.

Хамгийн чухал өөрчлөлтүүд:

  • Vulkan график API руу дуудлагын орчуулга хийх замаар ажилладаг Direct3D 3 хэрэгжүүлэлт бүхий vkd12d багцыг 1.6 хувилбар болгон шинэчилсэн.
  • Vulkan болон OpenGL-ийн системийн дуудлагын хөрвүүлэгчийг (thunks) оновчтой болгох ажлыг хийсэн.
  • WinPrint нь Print процессоруудын дэмжлэгийг өргөжүүлсэн.
  • Сайжруулсан joystick хяналтын самбар.
  • Printf функцийн кодын "урт" төрлийг дэмжих ажил дууссан.
  • Тоглоомын ажиллагаатай холбоотой алдааны мэдээллүүд хаалттай байна: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Програмын ажиллагаатай холбоотой хаалттай алдааны тайлан: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Нэмж дурдахад бид Vulkan график API руу дуудлагыг орчуулах замаар Direct3D 1.6-ийн хэрэгжилт бүхий vkd3d 12 багцыг Wine төслөөр нийтлүүлсэнийг тэмдэглэж болно. Энэхүү багцад 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) багтана.

Шинэ хувилбар нь DirectX 9.0-ээс эхлэн HLSL (Өндөр түвшний Shader хэл) дэх шэйдер хөрвүүлэгчийг сайжруулсаар байна. HLSL-тэй холбоотой сайжруулалтууд нь:

  • Тооцооллын шэйдерүүдийн анхны дэмжлэгийг хэрэгжүүлсэн.
  • Бүтэц, массив гэх мэт нийлмэл объектуудыг эхлүүлэх, хуваарилахад зориулсан сайжруулсан дэмжлэг.
  • Захиалгагүй хандалт (UAV) ашиглан бүтэцтэй нөөцийг ачаалах, хадгалах чадварыг нэмсэн.
  • Функцийн шинж чанаруудын дэмжлэгийг нэмж, суурилуулсан функцуудыг asuint(), length(), normalize()
  • Хөвөгч цэгийн модулиудын дэмжлэгийг нэмсэн.
  • VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS тугийг дараалалгүй хандалтын дүрслэл (UAV) тодорхойлогч дээр атомын үйлдлүүдийг зааж өгсөн.

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

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