Вентил компанија
По завршувањето на тестирањето и финализирањето на функционалноста, ACO се планира да се понуди за вклучување во главниот состав на Mesa.
Предложениот код на Valve има за цел да обезбеди генерирање код што е што е можно пооптимално за шејдерите на апликациите за игри, како и постигнување многу голема брзина на компилација. Шејдер компајлерот на Mesa користи LLVM компоненти, кои не ја обезбедуваат саканата брзина на компилација и не дозволуваат целосна контрола на контролниот тек, што предизвикува сериозни грешки во минатото. Дополнително, оддалечувањето од LLVM овозможува имплементација на поагресивна анализа на несовпаѓање и пофина контрола на оптоварувањето на регистарот, што ви овозможува да генерирате поефикасни извршни датотеки.
ACO е напишана во C++, дизајнирана имајќи ја предвид компилацијата JIT и користи брзи итеративни структури на податоци, избегнувајќи структури базирани на покажувачи како што се поврзани списоци и синџири за дефинитивна употреба. Претставувањето на средното код е целосно засновано на
Во моментов, само шејдерите за пиксели (фрагмент) и пресметките се поддржани на дискретни AMD графички процесори (dGPU VI+). Сепак, ACO веќе правилно собира шејдери за сите тестирани игри, вклучувајќи сложени шејдери од Shadow of the Tomb Raider и Wolfenstein II. Прототипот ACO предложен за тестирање е речиси двојно побрз од компајлерот за шејдер AMDGPU во однос на брзината на компилација и демонстрира зголемување на FPS во некои игри кога работи на системи со двигател RADV.
Извор: opennet.ru