ผู้สมัครรุ่น Wine 8.0 และรุ่น vkd3d 1.6

การทดสอบได้เริ่มต้นขึ้นกับผู้สมัครรุ่นแรก Wine 8.0 ซึ่งเป็นการใช้งาน WinAPI แบบเปิด ฐานโค้ดได้เข้าสู่ระยะหยุดนิ่งก่อนการเปิดตัว ซึ่งคาดว่าจะเกิดขึ้นในช่วงกลางเดือนมกราคม นับตั้งแต่เปิดตัว Wine 7.22 รายงานข้อผิดพลาด 52 รายการได้ถูกปิดลง และมีการเปลี่ยนแปลง 538 รายการ

การเปลี่ยนแปลงที่สำคัญที่สุด:

  • แพ็คเกจ vkd3d พร้อมการใช้งาน Direct3D 12 ที่ทำงานผ่านการแปลการโทรไปยัง Vulkan graphics API ได้รับการอัปเดตเป็นเวอร์ชัน 1.6
  • การเพิ่มประสิทธิภาพของตัวแปลงการโทรของระบบ (thunks) สำหรับ Vulkan และ OpenGL ได้ดำเนินการแล้ว
  • WinPrint ได้ขยายการสนับสนุนสำหรับตัวประมวลผลการพิมพ์
  • ปรับปรุงแผงควบคุมจอยสติ๊ก
  • งานเสร็จสมบูรณ์เพื่อให้การสนับสนุนประเภท 'long' ในโค้ดฟังก์ชัน 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

นอกจากนี้ เราสามารถสังเกตการเผยแพร่โดยโครงการ Wine ของแพ็คเกจ vkd3d 1.6 พร้อมการใช้งาน Direct3D 12 ซึ่งทำงานผ่านการแปลการเรียกไปยัง Vulkan กราฟิก API แพ็คเกจนี้ประกอบด้วยไลบรารี libvkd3d ที่มีการปรับใช้ Direct3D 12, libvkd3d-shader พร้อมตัวแปลของ shader รุ่น 4 และ 5 และ libvkd3d-utils พร้อมฟังก์ชันเพื่อทำให้การพอร์ตแอปพลิเคชัน Direct3D 12 ง่ายขึ้น รวมถึงชุดตัวอย่างการสาธิต รวมถึงพอร์ต ของ glxgears ถึง Direct3D 12 รหัสโครงการได้รับการเผยแพร่ภายใต้ลิขสิทธิ์ LGPLv2.1

ไลบรารี libvkd3d รองรับคุณสมบัติ Direct3D 12 ส่วนใหญ่ รวมถึงสิ่งอำนวยความสะดวกด้านกราฟิกและการคำนวณ คิวและรายการคำสั่ง ตัวจัดการและตัวจัดการฮีป ลายเซ็นรูท การเข้าถึงที่ไม่อยู่ในลำดับ แซมเพลอร์ ลายเซ็นคำสั่ง ค่าคงที่รูท การเรนเดอร์ทางอ้อม วิธีการล้าง *( ) และคัดลอก*() ใน libvkd3d-shader มีการใช้การแปลไบต์โค้ดของ shader รุ่น 4 และ 5 ไปเป็นการแสดง SPIR-V ระดับกลาง รองรับจุดสุดยอด พิกเซล เทสเซลเลชัน การคำนวณ และเชเดอร์เรขาคณิตแบบง่าย การทำให้ซีเรียลไลซ์ลายเซ็นราก และการดีซีเรียลไลซ์ คำสั่งเชเดอร์ประกอบด้วยการดำเนินการทางคณิตศาสตร์ อะตอมมิกและบิต ตัวดำเนินการเปรียบเทียบและควบคุมการไหลของข้อมูล คำแนะนำในการสุ่มตัวอย่าง รวบรวม และโหลด การดำเนินการเข้าถึงแบบไม่เรียงลำดับ (UAV, มุมมองการเข้าถึงแบบไม่เรียงลำดับ)

เวอร์ชันใหม่ยังคงปรับปรุงคอมไพเลอร์เชเดอร์ใน HLSL (ภาษาเชเดอร์ระดับสูง) โดยเริ่มต้นด้วย DirectX 9.0 การปรับปรุงที่เกี่ยวข้องกับ HLSL ได้แก่ :

  • มีการนำการสนับสนุนเบื้องต้นสำหรับตัวเชเดอร์การคำนวณไปใช้แล้ว
  • การสนับสนุนที่ได้รับการปรับปรุงสำหรับการเริ่มต้นและการกำหนดวัตถุคอมโพสิต เช่น โครงสร้างและอาร์เรย์
  • เพิ่มความสามารถในการโหลดและบันทึกทรัพยากรพื้นผิวโดยใช้การเข้าถึงที่ไม่อยู่ในลำดับ (UAV)
  • เพิ่มการรองรับคุณลักษณะของฟังก์ชันและใช้งานฟังก์ชันในตัว asuint(), length(), Normalize()
  • เพิ่มการรองรับโมดูลจุดลอยตัว
  • ใช้แฟล็ก VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS เพื่อระบุการทำงานของอะตอมมิกในตัวอธิบายการเข้าถึงแบบไม่เรียงลำดับ (UAV)

ที่มา: opennet.ru

เพิ่มความคิดเห็น