వాల్వ్ కంపెనీ
పరీక్ష పూర్తయిన తర్వాత మరియు కార్యాచరణను ఖరారు చేసిన తర్వాత, ప్రధాన మీసా కూర్పులో చేర్చడం కోసం ACO అందించబడుతుంది.
వాల్వ్ యొక్క ప్రతిపాదిత కోడ్ గేమ్ అప్లికేషన్ షేడర్ల కోసం సాధ్యమైనంత అనుకూలమైన కోడ్ ఉత్పత్తిని అందించడం, అలాగే చాలా ఎక్కువ కంపైలేషన్ వేగాన్ని సాధించడం లక్ష్యంగా పెట్టుకుంది. Mesa యొక్క షేడర్ కంపైలర్ LLVM భాగాలను ఉపయోగిస్తుంది, ఇది కావలసిన కంపైలేషన్ వేగాన్ని అందించదు మరియు నియంత్రణ ప్రవాహంపై పూర్తి నియంత్రణను అనుమతించదు, ఇది గతంలో తీవ్రమైన లోపాలను కలిగించింది. అదనంగా, LLVM నుండి దూరంగా వెళ్లడం వలన మరింత ఉగ్రమైన వ్యత్యాస విశ్లేషణ మరియు రిజిస్టర్ లోడ్ యొక్క సూక్ష్మ నియంత్రణను అమలు చేయడం సాధ్యపడుతుంది, ఇది మరింత సమర్థవంతమైన ఎక్జిక్యూటబుల్లను రూపొందించడానికి మిమ్మల్ని అనుమతిస్తుంది.
ACO అనేది C++లో వ్రాయబడింది, JIT సంకలనాన్ని దృష్టిలో ఉంచుకుని రూపొందించబడింది మరియు వేగవంతమైన పునరుక్తి డేటా నిర్మాణాలను ఉపయోగిస్తుంది, లింక్డ్ జాబితాలు మరియు డిఫ్-యూజ్ చైన్ల వంటి పాయింటర్-ఆధారిత నిర్మాణాలను తప్పించింది. ఇంటర్మీడియట్ కోడ్ ప్రాతినిధ్యం పూర్తిగా ఆధారపడి ఉంటుంది
ప్రస్తుతం, వివిక్త AMD GPUలలో (dGPU VI+) పిక్సెల్ (ఫ్రాగ్మెంట్) మరియు కంప్యూట్ షేడర్లకు మాత్రమే మద్దతు ఉంది. అయినప్పటికీ, షాడో ఆఫ్ టోంబ్ రైడర్ మరియు వుల్ఫెన్స్టెయిన్ II నుండి కాంప్లెక్స్ షేడర్లతో సహా పరీక్షించిన అన్ని గేమ్ల కోసం ACO ఇప్పటికే సరిగ్గా షేడర్లను సేకరిస్తుంది. పరీక్ష కోసం ప్రతిపాదించబడిన ACO ప్రోటోటైప్ కంపైలేషన్ వేగం పరంగా AMDGPU షేడర్ కంపైలర్ కంటే దాదాపు రెండు రెట్లు వేగంగా ఉంటుంది మరియు RADV డ్రైవర్తో సిస్టమ్లపై నడుస్తున్నప్పుడు కొన్ని గేమ్లలో FPS పెరుగుదలను ప్రదర్శిస్తుంది.
మూలం: opennet.ru