vkd3d 1.7 ได้เปิดตัวแล้วและนี่คือข่าวของมัน

vkd3d

vkd3d เป็นเลเยอร์การแปล Direct3D 12 เป็น Vulkan ของ Wine

โครงการ ไวน์เปิดตัว เมื่อไม่กี่วันที่ผ่านมามีการเปิดตัวเวอร์ชันใหม่ของ แพ็คเกจ vkd3d 1.7 ด้วยการใช้งาน Direct3D 12 ที่ทำงานผ่านการแปลการเรียกไปยัง Vulkan graphics API

บรรจุภัณฑ์ รวมถึงไลบรารี libvkd3d ด้วยการปรับใช้ Direct3D 12, libvkd3d-shader พร้อม shader model translate 4 และ 5 และ libvkd3d-utils พร้อมฟังก์ชันเพื่อลดความซับซ้อนในการย้ายแอปพลิเคชัน Direct3D 12 ตลอดจนชุดสาธิต รวมถึงพอร์ตของ glxgears ไปยัง Direct3D 12

ไลบรารี libvkd3d รองรับคุณสมบัติ Direct3D 12 ส่วนใหญ่ รวมถึงกราฟิกและการคำนวณ, รายการคำสั่งและคิว, คำอธิบายและคำอธิบายฮีป, ลายเซ็นรูท, การเข้าถึงแบบไม่เรียงลำดับ, ตัวอย่าง, ลายเซ็นคำสั่ง, ค่าคงที่รูท, การแทนทางอ้อม, วิธี Clear*() และ Copy*()

นอกจากนั้นแล้ว libvkd3d-shader ใช้การแปลของ bytecode 4 และ 5 ของแบบจำลองการแรเงาในการแสดงระดับกลางของ SPIR-V รองรับจุดสุดยอด พิกเซล เทสเซลเลชัน การคำนวณและเชดเดอร์รูปทรงเรขาคณิตอย่างง่าย การซีเรียลไลเซชันของรูทซิกเนเจอร์

การดำเนินการทางเลขคณิต อะตอม และบิต การเปรียบเทียบและตัวดำเนินการควบคุมการไหลของข้อมูล ตัวอย่าง รวบรวม และโหลดคำแนะนำ การดำเนินการเข้าถึงที่ไม่อยู่ในลำดับ (UAV มุมมองการเข้าถึงที่ไม่อยู่ในลำดับ) ถูกนำมาใช้จากคำแนะนำการทำแชโดว์

คุณสมบัติใหม่หลักของ vkd3d 1.7

ในเวอร์ชั่นใหม่นี้ที่นำเสนอ vkd3d 1.7 โดดเด่นกว่า él ทำงานอย่างต่อเนื่องเพื่อปรับปรุงคอมไพเลอร์ HLSL shader (High-Level Shader Language) รวมทั้งเพิ่มความสามารถในการเรียกใช้ฟังก์ชันที่ผู้ใช้กำหนด และใช้อาร์เรย์เป็นพารามิเตอร์ของฟังก์ชันที่ผู้ใช้กำหนด

การเปลี่ยนแปลงอีกอย่างที่โดดเด่นในเวอร์ชันใหม่คือ การสนับสนุนที่ดีขึ้นอย่างมากสำหรับโปรไฟล์ โมเดลเชดเดอร์ Direct3D 1/2/3, นอกจากนี้ยังเพิ่มการสนับสนุนเริ่มต้นสำหรับประเภททศนิยมที่มีความแม่นยำต่ำ เช่น min16float

ยังเน้นย้ำว่า เพิ่มการรองรับพารามิเตอร์ SV_DispatchThreadID, SV_GroupID และ SV_GroupThreadID และมีการเพิ่ม API สาธารณะในการแยกวิเคราะห์ (vkd3d_shader_parse_dxbc) และทำให้เป็นอันดับ (vkd3d_shader_serialize_dxbc) ข้อมูลไบนารี DXBC

ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น ของเวอร์ชันใหม่:

  • รองรับพารามิเตอร์ "offset" ที่เป็นทางเลือกของวัตถุพื้นผิว Load()
    กระบวนการ.
  • รองรับฟังก์ชั่นที่แท้จริงทั้งหมด ()
  • รองรับฟังก์ชั่นระยะทาง () ที่แท้จริง
  • รองรับฟังก์ชั่นที่แท้จริง exp() และ exp2()
  • รองรับ frac() ฟังก์ชันภายใน
  • รองรับฟังก์ชั่น lit() ที่แท้จริง
  • รองรับฟังก์ชั่นการสะท้อนกลับ ()
  • รองรับฟังก์ชันที่แท้จริง sin() และ cos()
  • รองรับฟังก์ชั่นภายในของ SmoothStep()
  • รองรับฟังก์ชัน sqrt() และ rsqrt() ในตัว
  • รองรับ step() ฟังก์ชันภายใน
  • รองรับฟังก์ชันที่แท้จริง transpose()
  • รองรับตัวแปรของ float และ dword data ที่ไม่คำนึงถึงขนาดตัวพิมพ์
    ประเภท
  • การสนับสนุนบางส่วนสำหรับประเภทข้อมูลที่มีความแม่นยำขั้นต่ำ เช่น "min16float" ปัจจุบันสิ่งเหล่านี้ถูกตีความว่าเป็นคู่หูปกติ
    ปรับปรุงการรองรับการขยายพันธุ์อย่างต่อเนื่อง โดยเฉพาะอย่างยิ่งการขยายพันธุ์อย่างต่อเนื่องผ่านสวิซเซิล
  • สามารถใช้ตัวเลือกการคอมไพล์ VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE เพื่อระบุว่า SPIR-V shaders ที่กำหนดเป้าหมายสภาพแวดล้อม Vulkan ควรเขียนขนาดพอยต์สำหรับ geometry และ tessellation shaders หรือไม่ หากไม่ได้ระบุ ขนาดพอยต์จะถูกเขียน

ในที่สุด สำหรับผู้สนใจต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้พวกเขาควรทราบว่ารหัสโครงการได้รับอนุญาตภายใต้ LGPLv2.1 และพวกเขาสามารถศึกษารายละเอียดของรุ่นใหม่นี้ได้ ในลิงค์ต่อไปนี้.

จะติดตั้ง vkd3d 1.7 ได้อย่างไร?

สำหรับ สนใจสามารถติดตั้ง vkd3d ได้ พวกเขาต้องรู้ว่าต้องคอมไพล์ซอร์สโค้ด ดังนั้นเราต้องได้รับมันก่อน สิ่งสำคัญคือต้องระบุว่า Vkd3d ขึ้นอยู่กับ SPIRV-Headers และ Vulkan-Headers (>= 1.2.139)

ในการดำเนินการคอมไพล์ เราต้องเปิดเทอร์มินัล และในนั้นเราจะพิมพ์คำสั่งต่อไปนี้:

git clone https://gitlab.winehq.org/wine/vkd3d.git

เมื่อเสร็จแล้ว เราจะเข้าสู่ไดเร็กทอรีที่ดาวน์โหลดล่าสุดด้วย:

cd vkd3d

และเราดำเนินการรวบรวมโดยใช้คำสั่งต่อไปนี้:

./configure

make

make install

Si คุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการรวบรวม ของ vkd3d คุณสามารถตรวจสอบรายละเอียดได้ใน ลิงค์นี้


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา