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

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

libvkd3d စာကြည့်တိုက်သည် ဂရပ်ဖစ်နှင့် ကွန်ပျူတာဆိုင်ရာ အထောက်အကူပစ္စည်းများ၊ တန်းစီခြင်းနှင့် အမိန့်ပေးစာရင်းများ၊ လက်ကိုင်များနှင့် အစုအဝေးများ၊ အမြစ်လက်မှတ်များ၊ အမိန့်ပြင်ပသို့ ဝင်ရောက်မှု၊ နမူနာများ၊ ညွှန်ကြားချက်လက်မှတ်များ၊ အရင်းအနှီးများ၊ သွယ်ဝိုက်ဖော်ပြခြင်း၊ ရှင်းလင်းသည့်နည်းလမ်းများ *( ) နှင့် 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) ပါဝင်သည်။

ဗားရှင်းအသစ်တွင်-

  • DirectX 9.0 မှစတင်၍ ပံ့ပိုးပေးထားသည့် HLSL (High-Level Shader Language) Shader compiler တွင် တိုးတက်မှုများစွာကို ပြုလုပ်ထားပါသည်။ ဖွဲ့စည်းတည်ဆောက်ပုံနှင့် ခင်းကျင်းများတွင် Texture2D ကဲ့သို့သော Texture4D ကဲ့သို့သော အရာဝတ္ထုအမျိုးအစားများအတွက် ပိုမိုကောင်းမွန်သောပံ့ပိုးမှုအပါအဝင်၊ တပ်ဆင်ထားသောလုပ်ဆောင်ချက်များအတွက် dot(), ldexp() နှင့် lerp(), ယုတ္တိရှိသောအော်ပရေတာများအတွက် ထပ်လောင်းပံ့ပိုးမှု “and”, “သို့မဟုတ်” shader မော်ဒယ်များအတွက် 5 XNUMX နှင့် "not" တို့အပြင် Boolean အမျိုးအစားများကို ကာစ်လုပ်နိုင်စွမ်း။
  • SPIR-V ဘက်စုံဖော်မတ်များ (DXGI_FORMAT) အတွက် ခွဲမထားသော ဝင်ရောက်ခွင့်ကိုယ်စားပြု (UAV) ကို တင်ရန် VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV ရွေးချယ်မှုကို အကောင်အထည်ဖော်ခဲ့သည်။

source: opennet.ru

မှတ်ချက် Add