Eya boṣewa Vulkan 1.2 atejade

Iṣọkan Khronos, eyiti o ṣe agbekalẹ awọn iṣedede awọn aworan,
atejade sipesifikesonu Vulkan 1.2, eyi ti o ṣe apejuwe API kan fun iraye si awọn eya aworan ati awọn agbara iširo ti GPU. Sipesifikesonu tuntun ṣafikun awọn atunṣe ti o ṣajọpọ ni ọdun meji ati gbooro. Awọn awakọ ti n ṣe atilẹyin ẹya tuntun ti Vulkan ti wa tẹlẹ tu silẹ Ile-iṣẹ Intel, AMD, ARM, Awọn imọ-ẹrọ oju inu ati NVIDIA. Mesa nfunni ni atilẹyin Vulkan 1.2 fun awọn awakọ RADV (Awọn kaadi AMD) ati ANV (Intel). Atilẹyin Vulkan 1.2 tun jẹ imuse ninu oluyipada RenderDoc 1.6, LunarG Vulkan SDK ati ki o kan ti ṣeto ti apẹẹrẹ Vulkan-Awọn ayẹwo.

akọkọ awọn imotuntun:

  • Ti mu wa fun ọ imuse ede siseto shader titi di igba ti o ṣetan fun lilo ni ibigbogbo HLSL, ni idagbasoke nipasẹ Microsoft fun DirectX. Atilẹyin HLSL ni Vulkan jẹ ki o ṣee ṣe lati lo awọn shaders HLSL kanna ni awọn ohun elo ti o da lori Vulkan ati DirectX, ati tun jẹ irọrun itumọ lati HLSL si SPIR-V. Lati ṣajọ awọn shaders, o daba lati lo alakojo boṣewa kan
    DXC, eyiti Microsoft ṣii ni ọdun 2017 ati pe o da lori imọ-ẹrọ LLVM. Atilẹyin Vulkan jẹ imuse nipasẹ ẹhin ti o yatọ, eyiti o fun ọ laaye lati tumọ HLSL sinu aṣoju agbedemeji ti awọn shaders SPIR-V. Awọn imuse ni wiwa ko nikan gbogbo-itumọ ti ni agbara
    HLSL, pẹlu awọn oriṣi mathematiki, ṣiṣan iṣakoso, awọn iṣẹ, awọn eto, awọn iru orisun, awọn aaye orukọ, Awoṣe Shader 6.2, awọn ẹya ati awọn ọna, ṣugbọn tun ngbanilaaye lilo awọn amugbooro Vulkan-pato gẹgẹbi VKRay lati NVIDIA. Ni ipo HLSL lori oke Vulkan, o ṣee ṣe lati ṣeto awọn iṣẹ ti awọn ere bii Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey ati Tomb Raider.

    Eya boṣewa Vulkan 1.2 atejade

  • Sipesifikesonu imudojuiwọn SPIR-V 1.5, eyi ti o ṣe apejuwe aṣoju agbedemeji ti awọn shaders ti o wa ni gbogbo agbaye fun gbogbo awọn iru ẹrọ ati pe o le ṣee lo fun awọn eya aworan mejeeji ati iṣiro ti o jọra.
    SPIR-V pẹlu yiya sọtọ ipele akojọpọ shader lọtọ si aṣoju agbedemeji, eyiti o fun ọ laaye lati ṣẹda awọn iwaju iwaju fun ọpọlọpọ awọn ede ipele giga. Da lori ọpọlọpọ awọn imuse ipele giga, koodu agbedemeji kan jẹ ipilẹṣẹ lọtọ, eyiti o le ṣee lo nipasẹ OpenGL, Vulkan ati awọn awakọ OpenCL laisi lilo akopọ shader ti a ṣe sinu.

    Eya boṣewa Vulkan 1.2 atejade

  • Vulkan API mojuto pẹlu awọn amugbooro 23 ti o mu iṣẹ pọ si, mu didara imudara pọ si, ati ki o rọrun idagbasoke. Lara awọn afikun afikun:
    • Semaphores Chronological (Semaphore Aago), imuṣiṣẹpọ iṣọkan pẹlu agbalejo ati awọn laini ẹrọ (n gba ọ laaye lati lo atijo kan fun amuṣiṣẹpọ gbogboogbo laarin ẹrọ ati agbalejo, laisi lilo VkFence lọtọ ati awọn alakoko VkSemaphore). Semaphores tuntun jẹ aṣoju nipasẹ iye 64-bit ti o pọ si monotonically ti o le tọpinpin ati imudojuiwọn kọja awọn okun lọpọlọpọ.
      Eya boṣewa Vulkan 1.2 atejade

    • Agbara lati lo awọn oriṣi nomba pẹlu idinku konge ni awọn shaders;
    • Aṣayan ifilelẹ iranti ibaramu HLSL;
    • Awọn ohun elo ti a ko ni ihamọ (ainidi), eyiti o yọkuro aropin lori nọmba awọn orisun ti o wa si awọn shaders nipa lilo aaye foju pin ti iranti eto ati iranti GPU;
    • Lodo awoṣe ti iranti, eyi ti o ṣe alaye bi awọn okun igbakanna ṣe le wọle si data ti a pin ati awọn iṣẹ amuṣiṣẹpọ;
    • Atọka Apejuwe lati tun lo awọn apejuwe akọkọ kọja ọpọ shaders;
    • Awọn ọna asopọ ifipamọ.

    Akojọ kikun ti awọn amugbooro ti a ṣafikun:

  • Fi kun diẹ sii ju awọn ẹya tuntun 50 ati awọn iṣẹ 13;
  • Awọn ẹya kuru ti sipesifikesonu ni a ti pese sile fun awọn iru ẹrọ ibi-afẹde aṣoju, iṣẹ irọrun lori awọn iru ẹrọ eyiti gbogbo awọn amugbooro ko ti ni atilẹyin, ati gbigba ọkan laaye lati ṣe laisi imuṣiṣẹ yiyan ti awọn agbara ipilẹ ti Vulkan API.
  • Iṣẹ tẹsiwaju lori iṣẹ akanṣe lati rii daju gbigbe pẹlu awọn API eya aworan miiran. Fun apẹẹrẹ, Vulkan nfunni ni awọn amugbooro ti o gba laaye OpenGL itumọ (sinkii), Ṣii CL (clsv, clvk), OpenGL ES (GLOVE, Angle) ati DirectX (DXVK, vkd3dnipasẹ Vulkan API, ati tun, ni idakeji, lati jẹ ki Vulkan ṣiṣẹ lori awọn iru ẹrọ laisi atilẹyin abinibi rẹ (gfx-rs и Ash fun ṣiṣẹ lori oke ti OpenGL ati DirectX, ApẹrẹVK ati gfx-rs lati ṣiṣẹ lori oke ti Irin).
    Awọn amugbooro ti a ṣafikun lati mu ilọsiwaju pọ si pẹlu DirectX ati 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, ati SPIR-V ṣe awọn agbara kan pato HL.SL.

Awọn ero fun ojo iwaju pẹlu idagbasoke awọn amugbooro fun ẹkọ ẹrọ, wiwapa ray, fifi koodu fidio ati iyipada, atilẹyin fun VRS (iṣaro-iwọn iyipada) ati Mesh shaders.

Ranti pe Vulkan API o lapẹẹrẹ awọn awakọ ti o rọrun pupọ, gbigbe iran ti awọn aṣẹ GPU si ẹgbẹ ohun elo, agbara lati sopọ awọn fẹlẹfẹlẹ yokokoro, isokan API fun ọpọlọpọ awọn iru ẹrọ ati lilo aṣoju agbedemeji agbedemeji ti iṣaaju ti koodu fun ipaniyan ni ẹgbẹ GPU. Lati rii daju pe iṣẹ ṣiṣe giga ati asọtẹlẹ, Vulkan pese awọn ohun elo pẹlu iṣakoso taara lori awọn iṣẹ GPU ati atilẹyin abinibi fun GPU pupọ-threading, eyiti o dinku awakọ awakọ ati mu ki awọn agbara ẹgbẹ awakọ rọrun pupọ ati asọtẹlẹ diẹ sii. Fun apẹẹrẹ, awọn iṣẹ bii iṣakoso iranti ati mimu aṣiṣe, ti a ṣe ni OpenGL ni ẹgbẹ awakọ, ni a gbe lọ si ipele ohun elo ni Vulkan.

Vulkan ṣe agbejade gbogbo awọn iru ẹrọ ti o wa ati pese API ẹyọkan fun tabili tabili, alagbeka, ati wẹẹbu, gbigba API ti o wọpọ lati ṣee lo kọja awọn GPU ati awọn ohun elo lọpọlọpọ. Ṣeun si faaji-pupọ pupọ ti Vulkan, eyiti o tumọ si awọn irinṣẹ ti o ṣiṣẹ pẹlu GPU eyikeyi, OEM le lo awọn irinṣẹ boṣewa ile-iṣẹ fun atunyẹwo koodu, n ṣatunṣe aṣiṣe, ati profaili lakoko idagbasoke. Fun ṣiṣẹda awọn shaders, aṣoju agbedemeji agbedemeji agbedemeji tuntun, SPIR-V, ti dabaa, da lori LLVM ati pinpin awọn imọ-ẹrọ pataki pẹlu OpenCL. Lati ṣakoso awọn ẹrọ ati awọn iboju, Vulkan nfunni ni wiwo WSI (Window System Integration), eyiti o yanju isunmọ awọn iṣoro kanna bi EGL ni OpenGL ES. Atilẹyin WSI wa lati inu apoti ni Wayland - gbogbo awọn ohun elo ti o lo Vulkan le ṣiṣẹ ni agbegbe ti awọn olupin Wayland ti ko yipada. Agbara lati ṣiṣẹ nipasẹ WSI tun pese fun Android, X11 (pẹlu DRI3), Windows, Tizen, macOS ati iOS.

orisun: opennet.ru

Fi ọrọìwòye kun