เวอร์ชันใหม่ของ vkd3d 1.3 ได้รับการเผยแพร่แล้ว

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

เวอร์ชันนี้มีการปรับปรุงต่างๆ และในเวอร์ชันใหม่นี้มีจุดเด่นอยู่ที่ การสนับสนุนการสร้าง HLS เริ่มต้นL เช่นเดียวกับ รองรับอาร์เรย์คำอธิบาย Shader Model 5.1, รองรับการเลิกเมาต์ Direct3D shader และอื่นๆ

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

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

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

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

ในขั้นตอนของการพัฒนาปัจจุบันมีการเรียกใช้ Direct3D 12 ไม่ครบทั้งหมด และการทดสอบส่วนใหญ่ดำเนินการกับชุดโปรแกรมสาธิต

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

ในเวอร์ชั่นใหม่นี้ของ vkd3d 1.3 ที่นำเสนอนั้นขอเน้นว่า เพิ่มการรองรับเบื้องต้นสำหรับการคอมไพล์และเรนเดอร์เรนเดอร์ล่วงหน้าใน HLSL (ภาษา shader ระดับสูง) ซึ่งให้บริการตั้งแต่ DirectX 9.0

การเปลี่ยนแปลงอีกอย่างที่โดดเด่นในเวอร์ชันใหม่นี้คือไฟล์ รองรับการทำงานของจุดลอยตัวที่มีความแม่นยำสองเท่าในเฉดสีเช่นเดียวกับทางอ้อมสำหรับ tessellation shader การส่งออกเทมเพลตจาก shader ตัวแก้ไข shader ที่ "แม่นยำ" และอุปสรรคส่วนกลางสำหรับทรัพยากรในหน่วยความจำ

เรายังพบว่า ความสามารถในการแยกส่วน Direct3D shaders จากโค้ด ของไบต์ในการแทนแอสเซมเบลอร์ ตลอดจนเพิ่มการสนับสนุนสำหรับการแยกวิเคราะห์รูปแบบไบต์โค้ด Direct3D เก่าที่ใช้ในโมเดล Direct3D 1, 2 และ 3 shader

libvkd3d เพิ่มคุณสมบัติ Direct3D 12เช่น ลายเซ็นรูท ตัวนับการค้นหาที่ไม่เรียงลำดับ บูลีนการรวมเอาต์พุต โหมดการกำหนดแอดเดรสพื้นผิว mirror_once และเพิ่มโครงสร้าง vkd3d_host_time_domain_info

จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่นกว่ารุ่นใหม่นี้:

  • vkd3d_shader_preprocess_info ขยายโครงสร้าง vkd3d_shader_compile_info และสามารถใช้เพื่อระบุพารามิเตอร์ก่อนการประมวลผล เช่น นิยามมาโครตัวประมวลผลล่วงหน้า
  • vkd3d_shader_hlsl_source_info ขยายโครงสร้าง vkd3d_shader_compile_info และสามารถใช้เพื่อระบุ HLSL และสร้างพารามิเตอร์ เช่น โปรไฟล์เป้าหมายและจุดเริ่มต้น
  • เชื่อมโยงรุ่น Direct3D 12 และ Vulkan
  • สามารถใช้ VKD3D_SHADER_COMPILE_OPTION_API_VERSION เพื่อระบุเวอร์ชัน API ของ libvkd3d-shader ที่แอปพลิเคชันกำหนดเป้าหมายได้ หากไม่ระบุ VKD3D_SHADER_API_VERSION_1_2 จะถูกใช้
  • คอมไพเลอร์ vkd3d จะใช้ค่าเริ่มต้นเป็นเอาต์พุตสีหากสามารถระบุได้ว่า
    เอาต์พุตเป็นเครื่องโทรสารที่สามารถใช้สีได้
  • เพิ่มการรองรับอาร์เรย์ descriptor ที่กำหนดไว้ใน Shader Model 5.1

ในที่สุด หากคุณต้องการทราบข้อมูลเพิ่มเติม เกี่ยวกับเวอร์ชันใหม่นี้ คุณสามารถดูรายการการเปลี่ยนแปลงทั้งหมดได้ ในลิงค์ต่อไปนี้.

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

สำหรับผู้ที่สนใจที่จะสามารถติดตั้ง vkd3d ในระบบของพวกเขาพวกเขาควรได้รับซอร์สโค้ดและดำเนินการรวบรวมแม้ว่าจะใช้งานได้จริงหรือสำหรับมือใหม่ก็สามารถลองใช้ไลบรารีนี้ได้โดยไม่ต้องใช้ความพยายามมากนัก สำหรับสิ่งนี้พวกเขาจะต้องติดตั้ง lutris และอยู่ในการกำหนดค่าเท่านั้น

สำหรับผู้ที่สนใจในการรวบรวมจะต้องได้รับรหัสด้วย:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

สุดท้ายต้องเปิดใช้งานเลเยอร์ Vulkan:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


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

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

*

*

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