Փական ընկերություն
Թեստավորումն ավարտվելուց և ֆունկցիոնալությունը ավարտվելուց հետո նախատեսվում է ACO-ն առաջարկել հիմնական Mesa կազմի մեջ ներառելու համար:
Valve-ի առաջարկած կոդը նպատակաուղղված է ապահովելու կոդերի ստեղծում, որը հնարավորինս օպտիմալ է խաղի հավելվածների շեյդերների համար, ինչպես նաև հասնելու շատ բարձր կոմպիլյացիայի արագության: Mesa-ի շեյդեր կոմպիլյատորն օգտագործում է LLVM բաղադրիչներ, որոնք չեն ապահովում կոմպիլյացիայի ցանկալի արագությունը և թույլ չեն տալիս վերահսկողության հոսքի ամբողջական վերահսկում, ինչը նախկինում լուրջ սխալներ է առաջացրել։ Բացի այդ, LLVM-ից հեռանալը հնարավորություն է տալիս իրականացնել անհամապատասխանությունների ավելի ագրեսիվ վերլուծություն և ռեգիստրի բեռի ավելի նուրբ վերահսկում, ինչը թույլ է տալիս ստեղծել ավելի արդյունավետ գործարկվող նյութեր:
ACO-ն գրված է C++-ով, նախագծված է JIT կոմպիլյացիան մտքում և օգտագործում է արագ կրկնվող տվյալների կառուցվածքներ՝ խուսափելով ցուցիչի վրա հիմնված կառուցվածքներից, ինչպիսիք են կապակցված ցուցակները և def-use շղթաները: Միջանկյալ ծածկագրի ներկայացումն ամբողջությամբ հիմնված է
Ներկայումս AMD դիսկրետ GPU-ների վրա (dGPU VI+) աջակցվում են միայն պիքսելային (հատված) և հաշվողական ստվերներ: Այնուամենայնիվ, ACO-ն արդեն ճիշտ է հավաքում շեյդերները բոլոր փորձարկված խաղերի համար, ներառյալ՝ Shadow of the Tomb Raider-ի և Wolfenstein II-ի բարդ շեյդերները: Փորձարկման համար առաջարկված ACO-ի նախատիպը կոմպիլյացիայի արագության առումով գրեթե երկու անգամ ավելի արագ է, քան AMDGPU shader կոմպիլյատորը և ցույց է տալիս FPS-ի աճ որոշ խաղերում, երբ աշխատում է RADV դրայվերով համակարգերում:
Source: opennet.ru