โครงการ Wine ได้เผยแพร่ Vkd3d 1.5 พร้อมการใช้งาน Direct3D 12

โครงการ Wine ได้เผยแพร่การเปิดตัวแพ็คเกจ vkd3d 1.5 พร้อมการใช้งาน Direct3D 12 ที่ทำงานผ่านการออกอากาศการโทรไปยัง Vulkan Graphics 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 (High-Level Shader Language), предоставляемом начиная с DirectX 9.0. В том числе в структурах и массивах улучшена поддержка объектных типов HLSL, таких как Texture2D, добавлена поддержка встроенных функций dot(), ldexp() и lerp(), для 4 и 5 моделей шейдеров добавлена поддержка логических операторов «and», «or» и «not», а также возможность приведения булевых типов.
  • Реализована опция VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV для загрузки неупорядоченного представления доступа (UAV) для многокомпонентных форматов SPIR-V (DXGI_FORMAT).

ที่มา: opennet.ru

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