Wine ပရောဂျက်သည် Direct3D 1.2 အကောင်အထည်ဖော်မှုဖြင့် Vkd3d 12 ကို ထုတ်ပြန်ခဲ့သည်။

ဝိုင်ပရောဂျက် ပုံနှိပ်ထုတ်ဝေ အထုပ်လွှတ် vkd3d ၁.၂ Vulkan ဂရပ်ဖစ် API သို့ အသံလွှင့်ခေါ်ဆိုမှုများမှတစ်ဆင့် လုပ်ဆောင်သည့် Direct3D 12 အကောင်အထည်ဖော်မှု။ ပက်ကေ့ဂျ်တွင် Direct3D 3 ၏ အကောင်အထည်ဖော်မှုများပါရှိသော libvkd12d စာကြည့်တိုက်များ၊ shader မော်ဒယ် 3 နှင့် 4 ၏ ဘာသာပြန်ဆိုသူနှင့် Libvkd5d-shader နှင့် Direct3D 3 အပလီကေးရှင်းများ၏ ပို့ခြင်းကို ရိုးရှင်းစေရန် လုပ်ဆောင်ချက်များ ပါဝင်သည့်အပြင် ဆိပ်ကမ်းတစ်ခုအပါအဝင် နမူနာနမူနာအစုံ glxgears မှ Direct12D 3. ပရောဂျက်ကုဒ် ဖြန့်ဝေသည် LGPLv2.1 အရ လိုင်စင်ရထားသည်။

libvkd3d စာကြည့်တိုက် အထောက်အပံ့များ Direct3D 12 ၏ အင်္ဂါရပ်အများစုဖြစ်သည့် ဂရပ်ဖစ်နှင့် ကွန်ပျူတာဆိုင်ရာ အထောက်အကူပစ္စည်းများ၊ တန်းစီခြင်းများနှင့် အမိန့်ပေးစာရင်းများ၊ လက်ကိုင်များနှင့် အစုအပုံများ၊ အမြစ်လက်မှတ်များ၊ အမိန့်ပြင်ပသို့ ဝင်ရောက်မှု၊ နမူနာများ၊ အမိန့်ပေးလက်မှတ်များ၊ အမြစ်အဆက်မပြတ်များ၊ သွယ်ဝိုက်ဖော်ပြခြင်း၊ ရှင်းလင်းခြင်း*() နည်းလမ်းများ နှင့် Copy*()။

libvkd3d-shader တွင်၊ shader မော်ဒယ် 4 နှင့် 5 ၏ bytecode ကို အလယ်အလတ် SPIR-V ကိုယ်စားပြုမှုအဖြစ်သို့ ဘာသာပြန်ဆိုခြင်းကို လုပ်ဆောင်ပါသည်။ Vertex၊ pixel၊ tessellation၊ compute နှင့် simple geometry shaders၊ root signature serialization နှင့် deserialization ကို ပံ့ပိုးထားပါသည်။ Shader လမ်းညွှန်ချက်များတွင် ဂဏန်းသင်္ချာ၊ အက်တမ်နှင့် ဘစ်လုပ်ဆောင်ချက်များ၊ နှိုင်းယှဉ်မှုနှင့် ဒေတာစီးဆင်းမှု ထိန်းချုပ်မှု အော်ပရေတာများ၊ နမူနာများ၊ လမ်းညွှန်ချက်များကို စုဆောင်းပြီး တင်ရန်၊ အစီအစဉ်မချထားသည့် ဝင်ရောက်လည်ပတ်မှု (UAV၊ Unordered Access View) ပါဝင်သည်။

အထူးခြားဆုံးတွေထဲမှာ တီထွင်ဆန်းသစ်မှုများ Vkd3d 1.2 တွင် အောက်ပါတို့ကို မီးမောင်းထိုးပြထားသည်။

  • libvkd3d-shader စာကြည့်တိုက်သည် ပြင်ပပရောဂျက်များတွင် အသုံးပြုရန် အသင့်ဖြစ်နေပါပြီ။
  • Tessellation shader ပံ့ပိုးမှု။
  • အမြစ်လက်မှတ်များကို ပြောင်းလဲခြင်း၊ အမှတ်စဉ်ပြုလုပ်ခြင်းနှင့် ဖယ်ထုတ်ခြင်းအတွက် ပံ့ပိုးမှု (vkd3d_serialize_versioned_root_signature() နှင့် vkd3d_create_versioned_root_signature_deserializer())။
  • ထုတ်လွှင့်မှုအထွက်အတွက် ပံ့ပိုးမှု။
  • နမူနာမျိုးစုံ၊ ရင်းမြစ် ကြိုတင်မှာယူမှု ပံ့ပိုးမှု အပါအဝင် ယခင်က မရရှိနိုင်သော Direct3D 12 အင်္ဂါရပ်များစွာကို အကောင်အထည်ဖော်ခြင်း၊
    သွယ်ဝိုက်အညွှန်းရေးထားသော ပုံဖေါ်ခြင်း၊ pixel shaders မပါဘဲ အနက်ရောင်ပြန်ဆိုခြင်း၊ မတူညီသော command တန်းစီများမှ အရင်းအမြစ်များသို့ တပြိုင်နက်ဝင်ရောက်ခွင့်၊ Null-views။

  • ထပ်ထည့်ထားသော ပတ်ဝန်းကျင် ကိန်းရှင်များ- VKD3D_CONFIG သည် libvkd3d အပြုအမူကို ပြောင်းလဲရန် ရွေးချယ်မှုများ သတ်မှတ်ရန်နှင့် Vulkan API အတွက် စက်ပစ္စည်းကို အစားထိုးရန် VKD3D_VULKAN_DEVICE။
  • buffinfo shader ညွှန်ကြားချက်များအတွက် ပံ့ပိုးမှု ထပ်လောင်း၊
    eval_centroid၊
    eval_sample_index၊
    ld2ms၊
    နမူနာ_ခ၊
    နမူနာ_d၊
    နမူနာ_အချက်အလက်၊
    နမူနာပို.

source: opennet.ru

မှတ်ချက် Add