Collabora သည် DirectX ၏ထိပ်တွင် OpenCL နှင့် OpenGL ကိုအသုံးပြုရန်အတွက် အပိုပရိုဂရမ်တစ်ခုကို ဖန်တီးသည်။

ကုမ္ပဏီ ပူးပေါင်းဆောင်ရွက်ခြင်း တင်ဆက် DirectX 1.2 (D3.3D12) ကို ပံ့ပိုးသည့် ဒရိုင်ဘာများထိပ်တွင် OpenCL 3 နှင့် OpenGL 12 APIs များ လုပ်ဆောင်ရန် အလွှာတစ်ခုကို အကောင်အထည်ဖော်သည့် Mesa အတွက် Gallium ဒရိုက်ဘာအသစ်။ ကုဒ် ပုံနှိပ်ထုတ်ဝေ MIT လိုင်စင်အောက်တွင်။

အဆိုပြုထားသော ဒရိုက်ဘာသည် သင့်အား OpenCL နှင့် OpenGL တို့ကို မပံ့ပိုးသော စက်များတွင် Mesa ကို အသုံးပြုခွင့်ပေးပြီး D3D12 ၏ထိပ်တွင် လုပ်ဆောင်ရန် OpenGL/OpenCL အပလီကေးရှင်းများကို ပို့ရန်အတွက် အစမှတ်အဖြစ် ခွင့်ပြုထားသည်။ GPU ထုတ်လုပ်သူများအတွက်၊ D3D12 ပံ့ပိုးမှုရှိသော drivers များသာရရှိနိုင်ပါက OpenCL နှင့် OpenGL အတွက် ပံ့ပိုးမှုပေးစွမ်းနိုင်စေပါသည်။

ချက်ခြင်းအစီအစဥ်များထဲတွင် OpenCL 1.2 နှင့် OpenGL 3.3 တို့၏ လိုက်ဖက်ညီသော စမ်းသပ်မှုများကို အပြည့်အ၀ ကျော်ဖြတ်နိုင်ခြင်း၊ အပလီကေးရှင်းများနှင့် လိုက်ဖက်ညီမှုကို စစ်ဆေးခြင်းနှင့် Mesa ၏ အဓိကဖွဲ့စည်းမှုတွင် တိုးတက်မှုများ ပါဝင်ခြင်းတို့ဖြစ်သည်။ ဖွံ့ဖြိုးတိုးတက်မှုကို Microsoft အင်ဂျင်နီယာများနှင့်အတူ တီထွင်ဖန်တီးခြင်းဖြစ်ပါသည်။ ဖွင့်လှစ် ကိရိယာများ D3D11On12 ဂိမ်းများကို D3D11 မှ D3D12 သို့ လွှဲပြောင်းခြင်းနှင့် စာကြည့်တိုက်အတွက် D3D12TranslationLayerD3D12 ၏ထိပ်တွင် standard graphic primitives များကိုအကောင်အထည်ဖော်ပေးသည်။

အကောင်အထည်ဖော်မှုတွင် Gallium driver၊ OpenCL compiler၊ OpenCL runtime နှင့် NIR-to-DXIL shader compiler တို့ပါဝင်ပြီး Mesa တွင်အသုံးပြုသော NIR shaders များ၏အလယ်အလတ်ကိုယ်စားပြုမှုကို DXIL (DirectX Intermediate Language) binary format သို့ပြောင်းလဲပေးသည့် DirectX 12 နှင့်အခြေခံ၍ LLVM 3.7 ဘစ်ကုဒ် (DirectX ကို Shader Compiler Microsoft မှ အဓိကအားဖြင့် LLVM 3.7 ၏ တိုးချဲ့လမ်းဆုံတစ်ခုဖြစ်သည်။ OpenCL compiler သည် LLVM ပရောဂျက်နှင့် ကိရိယာများ၏ တိုးတက်မှုများအပေါ် အခြေခံ၍ ပြင်ဆင်ထားသည်။ SPIRV-LLVM.

OpenCL တိုးချဲ့မှုများပါရှိသော ရင်းမြစ်များကို LLVM အလယ်အလတ် pseudocode (LLVM IR) သို့ clang ဖြင့် စုစည်းပြီး SPIR-V ဖော်မတ်ရှိ OpenCL kernels ၏ အလယ်အလတ်ကိုယ်စားပြုအဖြစ်သို့ ပြောင်းလဲသွားပါသည်။ SPIR-V ကိုယ်စားပြုမှုရှိ Cores များကို DirectX 12-based runtime ကို အသုံးပြု၍ GPU များပေါ်တွင် လုပ်ဆောင်ရန်အတွက် သင့်လျော်သော၊ DirectX XNUMX-based runtime ကိုအသုံးပြု၍ တွက်ချက်ရန်အတွက် NIR-to-DXIL သို့ ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ပြီး NIR-to-DXIL သို့ လွှဲပြောင်းပေးပါသည်။
Clover အစား Mesa တွင်အသုံးပြုထားသော OpenCL အကောင်အထည်ဖော်မှုသည် OpenCL runtime အသစ်ကို အဆိုပြုထားပြီး DirectX 12 API သို့ တိုက်ရိုက်ကူးပြောင်းမှုများကို ခွင့်ပြုပေးပါသည်။

Collabora သည် DirectX ၏ထိပ်တွင် OpenCL နှင့် OpenGL ကိုအသုံးပြုရန်အတွက် အပိုပရိုဂရမ်တစ်ခုကို ဖန်တီးသည်။

OpenCL နှင့် OpenGL ဒရိုက်ဘာများကို Mesa တွင်ပေးထားသော Gallium interface ကိုအသုံးပြု၍ သင်အား OpenGL သီးသန့်အသေးစိတ်အချက်အလက်များသို့မ၀င်ဘဲ ယာဉ်မောင်းများကိုဖန်တီးနိုင်ပြီး OpenGL ခေါ်ဆိုမှုများကို ခေတ်မီ GPU များလုပ်ဆောင်သည့်ဂရပ်ဖစ်အခြေခံများနှင့်ပိုမိုနီးကပ်စွာဘာသာပြန်ရန်ခွင့်ပြုသည်။ Gallium ဒရိုက်ဘာ၊ OpenGL ညွှန်ကြားချက်များကို လက်ခံပြီး NIR-to-DXIL ဘာသာပြန်သူကို အသုံးပြုသည့်အခါ
D3D12 ဒရိုက်ဘာကို အသုံးပြု၍ GPU တွင် လုပ်ဆောင်သည့် အမိန့်ပေး buffers များကို ထုတ်ပေးသည်။

source: opennet.ru

မှတ်ချက် Add