Mesa 19.3.0-ի թողարկում, OpenGL-ի և Vulkan-ի անվճար իրականացում

Ներկայացվել է OpenGL-ի և Vulkan API-ի անվճար ներդրման թողարկում - Մեսա 19.3.0. Mesa 19.3.0 մասնաճյուղի առաջին թողարկումն ունի փորձնական կարգավիճակ՝ կոդի վերջնական կայունացումից հետո կթողարկվի կայուն 19.3.1 տարբերակը: Մեսա 19.3-ում իրականացվել է Ամբողջական OpenGL 4.6 աջակցություն Intel GPU-ների համար (i965, iris դրայվերներ), OpenGL 4.5 աջակցություն AMD (r600, radeonsi) և NVIDIA (nvc0) GPU-ների համար, և Vulkan 1.1 աջակցություն Intel և AMD քարտերի համար: Երեկ փոփոխությունները նույնպես աջակցում են OpenGL 4.6-ին ավելացրել է radeonsi վարորդի մեջ, բայց դրանք ներառված չեն եղել Mesa 19.3 մասնաճյուղում:

Մեջ փոփոխությունները:

  • RADV-ի համար (Vulkan driver AMD չիպերի համար) առաջարկվել է շեյդերների կոմպիլյացիայի նոր բեքենդ:ACO«, որը մշակվում է Valve-ի կողմից՝ որպես LLVM shader կոմպիլյատորի այլընտրանք: Backend-ը միտված է ապահովելու խաղային հավելվածների շեյդերների համար հնարավորինս օպտիմալ կոդի ստեղծում, ինչպես նաև հավաքման շատ բարձր արագություն: ACO-ն գրված է C++-ով, նախագծված է JIT կոմպիլյացիան մտքում և օգտագործում է արագ կրկնվող տվյալների կառուցվածքներ՝ խուսափելով ցուցիչի վրա հիմնված կառուցվածքներից: Կոդի միջանկյալ ներկայացումն ամբողջությամբ հիմնված է SSA-ի վրա (Static Single Assignment) և թույլ է տալիս ռեգիստրի տեղաբաշխում՝ ճշգրիտ նախապես հաշվարկելով ռեգիստրը՝ կախված ստվերից: ACO-ն կարող է ակտիվացվել Vega 8, Vega 9, Vega 10 և Navi 10 GPU-ների համար՝ սահմանելով «RADV_PERFTEST=aco» միջավայրի փոփոխականը;
  • Gallium3D վարորդը ներառված է կոդի բազայում Zink, որն իրականացնում է OpenGL API-ն Vulkan-ի վերևում: Zink-ը թույլ է տալիս ստանալ ապարատային արագացված OpenGL, եթե համակարգն ունի վարորդներ, որոնք սահմանափակվում են միայն Vulkan API-ի աջակցությամբ;
  • ANV Vulkan դրայվերը և iris OpenGL դրայվերը նախնական աջակցություն են տրամադրում Intel չիպերի 12-րդ սերնդին (Tiger Lake, gen12): Linux միջուկում Tiger Lake-ին աջակցելու բաղադրիչները ներառվել են 5.4-ի թողարկումից հետո;
  • i965-ի և iris-ի դրայվերները ապահովում են SPIR-V ստվերների միջանկյալ ներկայացման աջակցություն, ինչը հնարավորություն է տվել հասնել այս դրայվերների ամբողջական աջակցությանը: OpenGL 4.6- ը;
  • RadeonSI դրայվերն ավելացնում է AMD Navi 14 GPU-ների աջակցությունը և բարելավում է տեսանյութերի վերծանման արագացումը, օրինակ՝ ավելացնելով H.8 և VP265 ձևաչափերով 9K տեսանյութերի վերծանման աջակցություն;
  • Ավելացվեց աջակցություն RADV Vulkan վարորդի համար պաշտպանված հավաքածու, որում շեյդերների կազմման համար գործարկված թելերը մեկուսացված են՝ օգտագործելով seccomp մեխանիզմը։ Ռեժիմը միացված է RADV_SECURE_COMPILE_THREADS միջավայրի փոփոխականի միջոցով;
  • AMD չիպերի դրայվերներն օգտագործում են AMDGPU-ն, որը հայտնվել է միջուկի մոդուլում ծրագրային ինտերֆեյս GPU-ն վերականգնելու համար;
  • Աշխատանքներ են տարվել AMD Radeon APU-ներով համակարգերի վրա կատարողականությունը բարելավելու ուղղությամբ: Բարելավվել է նաև Gallium3D դրայվեր Iris-ի կատարումը Intel GPU-ների համար.
  • Gallium3D վարորդի LLVMpipe-ում, որն ապահովում է ծրագրաշարի մատուցում, հայտնվեց հաշվողական ստվերների աջակցություն;
  • Shader caching համակարգ սկավառակի վրա օպտիմիզացված 4-ից ավելի պրոցեսորի միջուկ ունեցող համակարգերի համար;
  • Միացրեց Meson build համակարգը Windows-ում MSVC-ի և MinGW-ի միջոցով կոմպիլյացիայի համար: Կառուցման համար սկոնների օգտագործումը հնացել է ոչ Windows համակարգերում;
  • Իրականացված EGL ընդլայնում EGL_EXT_image_flush_external;
  • Ավելացվեց նոր OpenGL ընդարձակումներ.
  • RADV Vulkan դրայվերին ավելացված ընդլայնումներ (դրամային քարտերի համար).
  • Ավելացված ընդլայնումներ ANV Vulkan վարորդին (Intel քարտերի համար).

Բացի այդ, կարող եք նշել հրապարակումը դրամով փաստաթղթավորում համաձայն «Vega» 7nm APU-ի հրամանի ճարտարապետության՝ հիմնված GCN (Graphics Core Next) միկրոճարտարապետության վրա:

Source: opennet.ru

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