Wine 8.0 release နှင့် vkd3d 1.6 ထွက်ရှိသည်။

WinAPI ၏ ပွင့်လင်းသော အကောင်အထည်ဖော်မှုဖြစ်သည့် Wine 8.0 တွင် စမ်းသပ်ခြင်း စတင်ခဲ့သည်။ ကုဒ်အခြေခံကို ဇန်နဝါရီ လလယ်တွင် ထုတ်ဝေရန် မျှော်လင့်ထားသည့် အအေးခန်းအဆင့်သို့ ထည့်သွင်းထားသည်။ Wine 7.22 ထွက်ရှိပြီးကတည်းက၊ bug အစီရင်ခံချက် 52 ခုကို ပိတ်ခဲ့ပြီး 538 အပြောင်းအလဲ ပြုလုပ်ခဲ့သည်။

အရေးကြီးဆုံးပြောင်းလဲမှုများ-

  • ခေါ်ဆိုမှုဘာသာပြန်ခြင်းမှတစ်ဆင့် လုပ်ဆောင်နေသော Direct3D 3 အကောင်အထည်ဖော်မှုနှင့်အတူ vkd12d ပက်ကေ့ဂျ်ကို Vulkan ဂရပ်ဖစ် API အား ဗားရှင်း 1.6 သို့ အပ်ဒိတ်လုပ်ထားသည်။
  • Vulkan နှင့် OpenGL အတွက် system call converters (thunks) ကို အကောင်းဆုံးဖြစ်အောင် လုပ်ဆောင်ပြီးပါပြီ။
  • WinPrint သည် Print ပရိုဆက်ဆာများအတွက် ပံ့ပိုးမှု တိုးချဲ့ထားသည်။
  • တိုးတက်သော Joystick ထိန်းချုပ်မှုဘောင်။
  • printf လုပ်ဆောင်ချက်ကုဒ်ရှိ 'ရှည်' အမျိုးအစားအတွက် ပံ့ပိုးမှုပေးရန် အလုပ်ပြီးမြောက်ခဲ့သည်။
  • ဂိမ်းများ၏လည်ပတ်မှုနှင့်ပတ်သက်သည့် အမှားအယွင်းအစီရင်ခံစာများကို ပိတ်လိုက်သည်- Tom Clancy's Rainbow Six: Vegas 2၊ The Void၊ Ragnarok Online၊ Drakan၊ Star Wars၊ Colin McRae၊ X-COM။
  • အပလီကေးရှင်းများ၏ လည်ပတ်ဆောင်ရွက်မှုနှင့်ပတ်သက်သည့် ပိတ်ထားသော အမှားအယွင်းအစီရင်ခံစာများ- TMUnlimiter 1.2.0.0၊ MDB Viewer Plus၊ Framemaker 8၊ Studio One Professional 5။

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

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

  • တွက်ချက်မှုအရိပ်အာဝါသအတွက် ကနဦးပံ့ပိုးမှုကို အကောင်အထည်ဖော်ခဲ့သည်။
  • တည်ဆောက်ပုံနှင့် arrays ကဲ့သို့သော ပေါင်းစပ်အရာဝတ္ထုများကို အစပြုခြင်းနှင့် သတ်မှတ်ခြင်းအတွက် ပိုမိုကောင်းမွန်သော ပံ့ပိုးမှု။
  • Out-order access (UAV) ကို အသုံးပြု၍ texture အရင်းအမြစ်များကို တင်ရန်နှင့် သိမ်းဆည်းရန် စွမ်းရည်ကို ထည့်သွင်းထားသည်။
  • လုပ်ဆောင်ချက် attributes များအတွက် ပံ့ပိုးမှု နှင့် ထည့်သွင်းထားသော လုပ်ဆောင်ချက် asuint(), length(), normalize()။
  • Floating Point modules များအတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားပါသည်။
  • အနုမြူလုပ်ဆောင်မှုများကို ညွှန်ပြရန်အတွက် VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS အလံကို အကောင်အထည်ဖော်ခဲ့သည်။

source: opennet.ru

မှတ်ချက် Add