NVK-ն՝ NVIDIA գրաֆիկական քարտերի բաց դրայվերը, աջակցում է Vulkan 1.0-ին

Khronos կոնսորցիումը, որը մշակում է գրաֆիկական ստանդարտներ, ճանաչել է բաց NVK դրայվերի ամբողջական համատեղելիությունը NVIDIA վիդեո քարտերի համար Vulkan 1.0 բնութագրիչով: Վարորդը հաջողությամբ անցել է CTS-ի (Kronos Conformance Test Suite) բոլոր թեստերը և ներառված է հավաստագրված վարորդների ցանկում: Թյուրինգի միկրոճարտարապետության վրա հիմնված NVIDIA GPU-ների սերտիֆիկացումն ավարտված է (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000): Թեստն իրականացվել է Linux միջուկ 6.5, X.Org X սերվեր 1.20.14, XWayland 22.1.9 և GNOME Shell 44.4 միջավայրում: Հավաստագրի ձեռքբերումը թույլ է տալիս պաշտոնապես հայտարարել գրաֆիկական ստանդարտների հետ համատեղելիության մասին և օգտագործել հարակից Khronos ապրանքանիշերը:

NVK-ի դրայվերը զրոյից ստեղծվել է մի թիմի կողմից, ներառյալ Karol Herbst-ը (Nouveau-ի մշակող Red Hat-ում), David Airlie-ն (DRM-ի սպասարկող Red Hat-ում) և Jason Ekstrand-ը (Mesa-ի ակտիվ մշակող Collabora-ում): Վարորդը ստեղծելիս մշակողները օգտագործել են պաշտոնական վերնագրի ֆայլեր և բաց միջուկի մոդուլներ, որոնք հրապարակվել են NVIDIA-ի կողմից։ NVK կոդը որոշ տեղերում օգտագործում էր Nouveau OpenGL վարորդի որոշ հիմնական բաղադրիչներ, սակայն NVIDIA վերնագրի ֆայլերի անունների տարբերությունների և Nouveau-ում հակադարձ նախագծված անունների պատճառով կոդի ուղղակի փոխառությունը դժվար է և մեծ մասամբ: շատ բաներ պետք էր վերաիմաստավորել ու զրոյից իրագործել:

Մշակումն իրականացվել է Mesa-ի համար Vulkan-ի նոր տեղեկատու դրայվեր ստեղծելու նպատակով, որի կոդը կարող է փոխառվել այլ դրայվերներ ստեղծելիս: Դա անելու համար, երբ աշխատում էին NVK վարորդի վրա, նրանք փորձեցին հաշվի առնել Vulkan դրայվերների մշակման ողջ առկա փորձը, պահպանել կոդերի բազան օպտիմալ ձևով և նվազագույնի հասցնել կոդերի փոխանցումը այլ Vulkan վարորդներից՝ անելով այնպես, ինչպես պետք է լիներ դրա համար: օպտիմալ և որակյալ աշխատանք, այլ ոչ թե կուրորեն պատճենել, թե ինչպես է արվել այլ վարորդների մեջ: Վարորդն արդեն ներառված է Mesa-ում, իսկ Nouveau DRM դրայվերի API-ի անհրաժեշտ փոփոխությունները ներառված են Linux 6.6 միջուկում:

Հայտարարության մեջ կատարված փոփոխություններից Մեսան նշում է նաև NVK-ի համար նոր backend կոմպիլյատորի ընդունումը, որը գրված է Rust լեզվով և հին կոմպիլյատորում խնդիրների լուծումը, որը խանգարում էր Kronos տեքստերի անցմանը, ինչպես նաև վերացնում է որոշ հիմնարար սահմանափակումները: ճարտարապետություն, որը հնարավոր չէր շտկել առանց հին կոմպիլյատորի ամբողջական վերամշակման: Ապագայի պլանների շարքում նոր հետնախորշում նշվում է Maxwell միկրոճարտարապետության վրա հիմնված GPU-ի աջակցության ավելացումը և Vulkan 1.3 API-ի ամբողջական աջակցության իրականացումը:

Source: opennet.ru

Добавить комментарий