vkd3d 1.2 มาพร้อมกับการปรับปรุงความเข้ากันได้การแรเงาและอื่น ๆ

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

vkd3d 1.2 เวอร์ชันใหม่นี้ ประกอบด้วยการปรับปรุงต่างๆ แต่ตัวหลักที่โดดเด่นคือ ความพร้อมใช้งานของ libvkd3d-shader เป็นห้องสมุดสาธารณะ, รองรับ shader tessellation เช่นเดียวกับการสนับสนุนการไหลออก

แพคเกจและรวมไลบรารี 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 ไม่ครบทั้งหมด และการทดสอบส่วนใหญ่ดำเนินการในชุดแอปพลิเคชันสาธิต รุ่นนี้ไม่รวมคุณสมบัติในการพัฒนาเช่นการรองรับเฉดสีเรขาคณิตที่ซับซ้อนและการเทสเซลเลชั่นตลอดจนการปรับปรุงหลายอย่างที่เกี่ยวข้องกับวิธีการและเฉดสีพื้นฐานของ Direct3D 12 ฟีเจอร์เหล่านี้จะนำเสนอในรุ่นอนาคต

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

การเปลี่ยนแปลงที่สำคัญที่สุดที่นำเสนอในเวอร์ชันใหม่คือไฟล์ ความพร้อมใช้งานของไลบรารี libvkd3d-shader สำหรับใช้ในโครงการของบุคคลที่สามตั้งแต่ เพิ่มฟังก์ชัน Direct3D 12 ต่างๆเช่น:

  • หลายการสุ่มตัวอย่าง
  • ทรัพยากรที่สงวนไว้
  • อัตราการส่งผ่านข้อมูลอินสแตนซ์
  • API "ข้อมูลส่วนตัว" สำหรับอินเทอร์เฟซทั้งหมด
  • การแมปองค์ประกอบมุมมองทรัพยากร Shader
  • VK_KHR_draw_indirect_count ส่วนขยาย
  • การแสดงเพรดิเคต / เงื่อนไข
  • การเรนเดอร์ความลึกโดยไม่มี Pixel Shader
  • ตัวตัดความลึก สิ่งนี้ต้องการส่วนขยาย VK_EXT_depth_clip_enable
  • ทิ้งแรสเตอร์
  • การผสมแหล่งคู่
  • การทำแผนที่ทรัพยากรที่วางไว้
  • วิธีการ ReadFromSubresource () และ WriteToSubresource () ID3D12Resource
  • เข้าถึงทรัพยากรหลายคิวพร้อมกัน
  • มุมมอง Null นั่นคือมุมมองที่ไม่มีทรัพยากรพื้นฐาน
  • คำถามเกี่ยวกับการสนับสนุนคุณสมบัติอื่น ๆ อีกมากมาย

นอกเหนือจากนี้ นอกจากนี้ยังมีการเพิ่มการสนับสนุนสำหรับการแปลงการทำให้เป็นอนุกรมและการแยกส่วนลายเซ็น root (vkd3d_serialize_versioned_root_signature () และ vkd3d_create_versioned_root_signature_deserializer () รวมทั้งการสนับสนุนสำหรับเอาต์พุตการสตรีม

การเปลี่ยนแปลงที่โดดเด่นอีกประการหนึ่งคือ การใช้งานตัวแปรสภาพแวดล้อม: VKD3D_CONFIG เพื่อตั้งค่าตัวเลือกเพื่อเปลี่ยนลักษณะการทำงานของ libvkd3d และ VKD3D_VULKAN_DEVICE เพื่อแทนที่อุปกรณ์สำหรับ Vulkan API

นอกเหนือจากนั้น เพิ่มการรองรับคำแนะนำในการแรเงา bufino, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos และการสนับสนุนเบื้องต้นสำหรับเฉดสี 5.1 รุ่น

และยังรองรับสภาพแวดล้อมเป้าหมาย OpenGL SPIR-V สิ่งนี้ช่วยให้ SPIR-V ที่ผลิตโดย libvkd3d-shader สามารถใช้กับ GL_ARB_gl_spirv ได้ ซึ่งรวมถึงการรองรับตัวนับอะตอม OpenGL และตัวอย่างรวม

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

จะติดตั้ง 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. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา