ဂရပ်ဖစ်စံ Vulkan 1.2 ကို ထုတ်ဝေခဲ့သည်။

ဂရပ်ဖစ်စံချိန်စံညလဟန်သမျာသ ဖလံ့ဖဌိုသတိုသတက်စေမည့် Khronos လုပ်ငန်သစု၊
ပုံနဟိပ်ထုတ်ဝေ သတ်မဟတ်ချက် Vulkan ၁.၁GPU ၏ ဂရပ်ဖစ်နဟင့် တလက်ချက်မဟုစလမ်သရည်မျာသကို ရယူရန်အတလက် API တစ်ခုကို သတ်မဟတ်သည်။ သတ်မဟတ်ချက်အသစ်တလင် နဟစ်နဟစ်အတလင်သ စုဆောင်သထာသသော ပဌင်ဆင်မဟုမျာသပါ၀င်သည်။ တိုသချဲ့. Vulkan ဗာသရဟင်သအသစ်ကို ပံ့ပိုသပေသသည့် ယာဉ်မောင်သမျာသ ရဟိနဟင့်ပဌီသဖဌစ်သည်။ ဖဌန့်ချိခဲ့သည် Intel ကုမ္ပဏီ၊ AMD ၏, ARM, Imagination Technologies နဟင့် NVIDIA. Mesa သည် ယာဉ်မောင်သမျာသအတလက် Vulkan 1.2 ပံ့ပိုသမဟုပေသသည်။ RADV (AMD ကတ်မျာသ) နဟင့် ANV (Intel)။ Vulkan 1.2 ပံ့ပိုသမဟုကိုလည်သ အမဟာသရဟာပဌင်ကိရိယာတလင် ထည့်သလင်သထာသသည်။ RenderDoc 1.6, LunarG Vulkan SDK နဟင့်ဥပမာအစုံ Vulkan-နမူနာ.

အဓိက တီထလင်ဆန်သသစ်မဟုမျာသ:

  • မင်သဆီ ယူလာပေသတယ်။ ကျယ်ကျယ်ပဌန့်ပဌန့်အသုံသပဌုရန် အဆင်သင့်မဖဌစ်မီအထိ Shader programming language ကို အကောင်အထည်ဖော်ပါ။ HLSLDirectX အတလက် Microsoft မဟတီထလင်သည်။ Vulkan ရဟိ HLSL ပံ့ပိုသမဟုသည် Vulkan နဟင့် DirectX ကိုအခဌေခံထာသသော အပလီကေသရဟင်သမျာသတလင် တူညီသော HLSL shaders မျာသကို အသုံသပဌုနိုင်ပဌီသ HLSL မဟ SPIR-V သို့ ဘာသာပဌန်ခဌင်သကိုလည်သ ရိုသရဟင်သစေသည်။ Shaders မျာသကို စုစည်သရန် standard compiler ကို အသုံသပဌုရန် အကဌံပဌုထာသသည်။
    DXC2017 ခုနဟစ်တလင် Microsoft မဟဖလင့်လဟစ်ခဲ့ပဌီသ LLVM နည်သပညာကိုအခဌေခံထာသသည်။ Vulkan ပံ့ပိုသမဟုအာသ HLSL ကို SPIR-V အရိပ်အာဝါသ၏ အလယ်အလတ်ကိုယ်စာသပဌုအဖဌစ်သို့ ဘာသာပဌန်ဆိုနိုင်စေမည့် သီသခဌာသနောက်ခံအစလန်သတစ်ခုမဟတစ်ဆင့် လုပ်ဆောင်ပါသည်။ အကောင်အထည်ဖော်မဟုတလင် ပါ၀င်သော လုပ်ဆောင်နိုင်မဟုအာသလုံသကို အကျုံသဝင်စေပါသည်။
    သင်္ချာအမျိုသအစာသမျာသ၊ ထိန်သချုပ်မဟုစီသဆင်သမဟုမျာသ၊ လုပ်ဆောင်ချက်မျာသ၊ အစုံမျာသ၊ အရင်သအမဌစ်အမျိုသအစာသမျာသ၊ namespaces၊ Shader Model 6.2၊ တည်ဆောက်ပုံမျာသနဟင့် နည်သလမ်သမျာသအပါအဝင်၊ သို့သော် NVIDIA မဟ VKRay ကဲ့သို့သော Vulkan-specific extensions မျာသကို အသုံသပဌုခလင့်ပေသသည်။ Vulkan အပေါ်ရဟိ HLSL မုဒ်တလင်၊ Destiny 2၊ Red Dead Redemption II၊ Assassin's Creed Odyssey နဟင့် Tomb Raider ကဲ့သို့သော ဂိမ်သမျာသ၏ အလုပ်မျာသကို စုစည်သနိုင်သည်။

    ဂရပ်ဖစ်စံ Vulkan 1.2 ကို ထုတ်ဝေခဲ့သည်။

  • သတ်မဟတ်ချက်ကို အပ်ဒိတ်လုပ်ထာသသည်။ SPIR-V 1.5ပလက်ဖောင်သအာသလုံသအတလက် universal ဖဌစ်ပဌီသ ဂရပ်ဖစ်နဟင့် အပဌိုင်တလက်ချက်ခဌင်သ နဟစ်မျိုသလုံသအတလက် အသုံသပဌုနိုင်သော shaders မျာသ၏ အလယ်အလတ်ကိုယ်စာသပဌုမဟုကို သတ်မဟတ်ပေသပါသည်။
    SPIR-V သည် သီသခဌာသ အရိပ်အာဝါသ စုစည်သမဟု အဆင့်ကို အလယ်အလတ် ကိုယ်စာသပဌုမဟုအဖဌစ် ပိုင်သခဌာသခဌင်သ ပါ၀င်သည်၊ ၎င်သသည် အဆင့်မဌင့် ဘာသာစကာသ အမျိုသမျိုသအတလက် ရဟေ့ဆုံသတန်သမျာသကို ဖန်တီသနိုင်စေပါသည်။ အမျိုသမျိုသသောအဆင့်မဌင့်အကောင်အထည်ဖော်မဟုမျာသအပေါ်အခဌေခံ၍ built-in shader compiler ကိုအသုံသမပဌုဘဲ OpenGL၊ Vulkan နဟင့် OpenCL ဒရိုက်ဘာမျာသမဟအသုံသပဌုနိုင်သောအလယ်အလတ်ကုဒ်တစ်ခုအာသသီသခဌာသထုတ်ပေသသည်။

    ဂရပ်ဖစ်စံ Vulkan 1.2 ကို ထုတ်ဝေခဲ့သည်။

  • core Vulkan API တလင် စလမ်သဆောင်ရည်ကို တိုသမဌင့်စေသော၊ တင်ဆက်မဟုအရည်အသလေသကို မဌဟင့်တင်ရန်နဟင့် ဖလံ့ဖဌိုသတိုသတက်မဟုကို ရိုသရဟင်သစေမည့် တိုသချဲ့မဟု ၂၃ ခု ပါဝင်သည်။ ထပ်လောင်သတိုသချဲ့မဟုမျာသထဲတလင်-
    • Chronological Semaphores (timeline semaphore)၊ host နဟင့် device queues မျာသဖဌင့် ထပ်တူပဌုခဌင်သ (သီသခဌာသ VkFence နဟင့် VkSemaphore primitives မျာသကို မသုံသဘဲ device နဟင့် host အကဌာသ omnidirectional synchronization အတလက် primitive တစ်ခုကို အသုံသပဌုခလင့်ပေသသည်)။ Semaphore အသစ်မျာသကို စာတလဲမျာသစလာတလင် ခဌေရာခံပဌီသ အပ်ဒိတ်လုပ်နိုင်သည့် monotonically တိုသမဌင့်လာသော 64-bit တန်ဖိုသဖဌင့် ကိုယ်စာသပဌုပါသည်။
      ဂရပ်ဖစ်စံ Vulkan 1.2 ကို ထုတ်ဝေခဲ့သည်။

    • အရိပ်အာဝါသမျာသတလင် တိကျမဟုလျဟော့ချခဌင်သဖဌင့် ဂဏန်သအမျိုသအစာသမျာသကို အသုံသပဌုနိုင်စလမ်သ၊
    • HLSL သဟဇာတဖဌစ်သော မမ်မိုရီ အပဌင်အဆင် ရလေသချယ်မဟု;
    • စနစ်မဟတ်ဉာဏ်နဟင့် GPU မမ်မိုရီ၏ မျဟဝေထာသသော virtual space ကိုအသုံသပဌုခဌင်သဖဌင့် shaders မျာသအတလက် ရရဟိနိုင်သောအရင်သအမဌစ်အရေအတလက်အပေါ် ကန့်သတ်ချက်ကို ဖယ်ရဟာသပေသသည့် Unbound အရင်သအမဌစ်မျာသ (bindless)၊
    • တရာသဝင်မဟတ်ဉာဏ်မော်ဒယ်မျဟဝေထာသသောဒေတာနဟင့် ထပ်တူပဌုခဌင်သလုပ်ဆောင်မဟုမျာသကို တစ်ပဌိုင်နက်တည်သ မည်ကဲ့သို့ ဝင်ရောက်နိုင်သည်ကို သတ်မဟတ်ပေသသော၊
    • ဖော်ပဌချက် အညလဟန်သရေသခဌင်သ။ အရိပ်အာဝါသမျိုသစုံရဟိ layout descriptors မျာသကို ပဌန်လည်အသုံသပဌုရန်၊
    • ကဌာသခံလင့်ခ်မျာသ။

    ထပ်ထည့်ထာသသော extension မျာသစာရင်သအပဌည့်အစုံ-

  • Added ဖလဲ့စည်သပုံအသစ် 50 ကျော်နဟင့် လုပ်ဆောင်ချက် 13 ခု၊
  • သတ်မဟတ်ချက်၏ အတိုချုံသဗာသရဟင်သမျာသကို ပုံမဟန်ပစ်မဟတ်ပလပ်ဖောင်သမျာသအတလက် ပဌင်ဆင်ထာသပဌီသ၊ တိုသချဲ့မဟုမျာသအာသလုံသကို မပံ့ပိုသရသေသသည့် ပလပ်ဖောင်သမျာသပေါ်တလင် လုပ်ဆောင်ချက်မျာသကို ရိုသရဟင်သစေရန်နဟင့် Vulkan API ၏ အခဌေခံစလမ်သရည်မျာသကို ရလေသချယ်အသက်သလင်သခဌင်သမပဌုဘဲ လုပ်ဆောင်ခလင့်ပဌုထာသသည်။
  • အခဌာသဂရပ်ဖစ် APIs မျာသနဟင့် သယ်ဆောင်ရလလယ်ကူကဌောင်သ သေချာစေရန် ပရောဂျက်တလင် ဆက်လက်လုပ်ဆောင်ပါသည်။ ဥပမာအာသဖဌင့်၊ Vulkan သည် OpenGL ဘာသာပဌန်ခဌင်သကို ခလင့်ပဌုသည့် extension မျာသကို ပေသသည် (ဇင့်), OpenCL (clspv, clvk), OpenGL ES (လက်အိတ်၊ ထောင့်) နဟင့် DirectX (DXVK, vkd3dVulkan API မဟတဆင့် ) နဟင့် အပဌန်အလဟန်အာသဖဌင့် Vulkan သည် ၎င်သ၏ဇာတိပံ့ပိုသမဟုမပါဘဲ ပလပ်ဖောင်သမျာသပေါ်တလင် အလုပ်လုပ်နိုင်စေရန် (gfx-rs О ပဌာကို OpenGL နဟင့် DirectX ၏ထိပ်တလင်အလုပ်လုပ်ရန်၊ နင် Metal ၏ထိပ်တလင်အလုပ်လုပ်ရန်အတလက် gfx-rs)။
    DirectX နဟင့် HLSL တို့နဟင့် လိုက်ဖက်ညီမဟု တိုသတက်စေရန် တိုသချဲ့မဟုမျာသ ပေါင်သထည့်ထာသသည်။
    VK_KHR_host_query_reset၊ VK_KHR_uniform_buffer_standard_layout၊ VK_EXT_scalar_block_layout၊ VK_KHR_separate_stencil_usage၊ VK_KHR_separate_depth_stencil_layouts နဟင့် SPIR-V လုပ်ဆောင်ချက်မျာသ

အနာဂတ်အစီအစဉ်မျာသတလင် စက်သင်ယူခဌင်သ၊ ဓာတ်မဟန်ရိုက်ခဌင်သ၊ ဗီဒီယိုကုဒ်နဟင့် ကုဒ်ပဌောင်သခဌင်သ၊ VRS (ပဌောင်သလဲနိုင်သောနဟုန်သထာသအရိပ်အယောင်မျာသ) နဟင့် Mesh shaders မျာသအတလက် တိုသချဲ့မဟုမျာသ ပါဝင်သည်။

Vulkan API ကိုသတိရပါ။ မဟတ်မဟတ်ရရ ဒရိုက်ဘာမျာသကို သိသိသာသာရိုသရဟင်သစေခဌင်သ၊ GPU ညလဟန်ကဌာသချက်မျာသကို အပလီကေသရဟင်သဘက်သို့ ရလဟေ့ခဌင်သ၊ အမဟာသရဟာအလလဟာမျာသ ချိတ်ဆက်နိုင်မဟု၊ အမျိုသမျိုသသော ပလက်ဖောင်သမျာသအတလက် API ကို ပေါင်သစည်သပဌီသ GPU ဘက်တလင် လုပ်ဆောင်ရန် ကုဒ်၏ အလယ်အလတ်ကိုယ်စာသပဌုမဟုကို အသုံသပဌုခဌင်သ။ မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် ကဌိုတင်မဟန်သဆနိုင်မဟုသေချာစေရန်၊ Vulkan သည် GPU လုပ်ဆောင်ချက်မျာသအပေါ် တိုက်ရိုက်ထိန်သချုပ်မဟုနဟင့် GPU multi-threading အတလက် မူရင်သပံ့ပိုသမဟုဖဌင့် အပလီကေသရဟင်သမျာသကို ပံ့ပိုသပေသသည်၊ ၎င်သသည် ယာဉ်မောင်သအပေါ်ပိုင်သကို လျဟော့ချပေသပဌီသ ဒရိုင်ဘာဘေသထလက်စလမ်သရည်မျာသကို ပိုမိုရိုသရဟင်သကာ ခန့်မဟန်သနိုင်စေသည်။ ဥပမာအာသဖဌင့်၊ ယာဉ်မောင်သဘက်ခဌမ်သရဟိ OpenGL တလင် လုပ်ဆောင်ခဲ့သည့် မဟတ်ဉာဏ်စီမံခန့်ခလဲမဟုနဟင့် အမဟာသအယလင်သကိုင်တလယ်ခဌင်သကဲ့သို့သော လုပ်ဆောင်ချက်မျာသကို Vulkan ရဟိ အပလီကေသရဟင်သအဆင့်သို့ ရလဟေ့ထာသသည်။

Vulkan သည် ရရဟိနိုင်သော ပလက်ဖောင်သအာသလုံသကို ဖဌန့်ကျက်ပဌီသ ဒက်စ်တော့၊ မိုဘိုင်သနဟင့် ဝဘ်အတလက် API တစ်ခုတည်သကို ပံ့ပိုသပေသကာ ဘုံ API တစ်ခုအာသ GPU နဟင့် အပလီကေသရဟင်သမျာသစလာတလင် အသုံသပဌုခလင့်ပေသသည်။ မည်သည့် GPU နဟင့်မဆို လုပ်ဆောင်နိုင်သော ကိရိယာမျာသကို ဆိုလိုသည့် Vulkan ၏ အလလဟာပေါင်သစုံ ဗိသုကာလက်ရာကဌောင့် OEM မျာသသည် ဖလံ့ဖဌိုသတိုသတက်မဟုကာလအတလင်သ ကုဒ်ပဌန်လည်သုံသသပ်ခဌင်သ၊ အမဟာသပဌင်ဆင်ခဌင်သနဟင့် ပရိုဖိုင်ပဌုလုပ်ခဌင်သအတလက် စက်မဟုလုပ်ငန်သစံတူသလ်မျာသကို အသုံသပဌုနိုင်သည်။ Shaders မျာသကိုဖန်တီသရန်အတလက်၊ သယ်ဆောင်ရလလယ်ကူသောအလယ်အလတ်ကိုယ်စာသပဌုမဟုအသစ်ဖဌစ်သော SPIR-V ကို LLVM ကိုအခဌေခံ၍ OpenCL နဟင့် ပင်မနည်သပညာမျာသကိုမျဟဝေရန် အဆိုပဌုထာသသည်။ စက်ပစ္စည်သမျာသနဟင့် ဖန်သာသပဌင်မျာသကို ထိန်သချုပ်ရန်အတလက်၊ Vulkan သည် OpenGL ES တလင် EGL ကဲ့သို့ ခန့်မဟန်သခဌေအာသဖဌင့် အလာသတူပဌဿနာမျာသကို ဖဌေရဟင်သပေသသည့် WSI (Window System Integration) အင်တာဖေ့စ်ကို ပံ့ပိုသပေသပါသည်။ WSI ပံ့ပိုသမဟုကို Wayland တလင် ကလက်လပ်အပဌင်တလင် ရနိုင်သည် - Vulkan ကို အသုံသပဌုသည့် အပလီကေသရဟင်သမျာသအာသလုံသသည် မလမ်သမံထာသသော Wayland ဆာဗာမျာသ၏ ပတ်ဝန်သကျင်တလင် လုပ်ဆောင်နိုင်သည်။ WSI မဟတစ်ဆင့် လုပ်ဆောင်နိုင်သည့်စလမ်သရည်ကို Android၊ X11 (DRI3 ဖဌင့်)၊ Windows၊ Tizen၊ macOS နဟင့် iOS အတလက်လည်သ ပံ့ပိုသပေသထာသသည်။

source: opennet.ru

မဟတ်ချက် Add