RADV వల్కాన్ డ్రైవర్ ACO షేడర్ కంపైలేషన్ బ్యాకెండ్‌ని ఉపయోగించడానికి మార్చబడింది

Mesa 20.2 విడుదలను రూపొందించడానికి ఉపయోగించే కోడ్‌బేస్‌లో, అమలు షేడర్‌లను కంపైల్ చేయడానికి డిఫాల్ట్ బ్యాకెండ్‌ని ఉపయోగించడానికి AMD చిప్‌ల కోసం వల్కాన్ డ్రైవర్ RADVని మార్చడం "ACO“, ఇది LLVM షేడర్ కంపైలర్‌కు ప్రత్యామ్నాయంగా వాల్వ్ ద్వారా అభివృద్ధి చేయబడుతోంది. ఈ మార్పు గేమ్ పనితీరును పెంచడానికి మరియు ప్రారంభ సమయాన్ని తగ్గించడానికి దారి తీస్తుంది. పాత బ్యాకెండ్‌ని తిరిగి ఇవ్వడానికి, ఎన్విరాన్‌మెంట్ వేరియబుల్ “RADV_DEBUG=llvm” అందించబడింది.

AMDGPU డ్రైవర్ కోసం AMD అభివృద్ధి చేసిన పాత బ్యాకెండ్‌తో ACO కార్యాచరణలో సమానత్వాన్ని సాధించిన తర్వాత RADV డ్రైవర్‌ను కొత్త బ్యాకెండ్‌కు మార్చడం సాధ్యమైంది, ఇది RadeonSI OpenGL డ్రైవర్‌లో ఉపయోగించడం కొనసాగుతుంది. వాల్వ్ ద్వారా పరీక్ష బహిర్గతంACO కంపైలేషన్ వేగం పరంగా AMDGPU షేడర్ కంపైలర్ కంటే దాదాపు రెండు రెట్లు వేగంగా ఉంటుంది మరియు RADV డ్రైవర్‌తో సిస్టమ్‌లపై నడుస్తున్నప్పుడు కొన్ని గేమ్‌లలో FPS పెరుగుదలను ప్రదర్శిస్తుంది.

RADV వల్కాన్ డ్రైవర్ ACO షేడర్ కంపైలేషన్ బ్యాకెండ్‌ని ఉపయోగించడానికి మార్చబడింది

RADV వల్కాన్ డ్రైవర్ ACO షేడర్ కంపైలేషన్ బ్యాకెండ్‌ని ఉపయోగించడానికి మార్చబడింది

ACO బ్యాకెండ్ గేమింగ్ అప్లికేషన్ షేడర్‌ల కోసం సాధ్యమైనంత అనుకూలమైన కోడ్ ఉత్పత్తిని అందించడంతోపాటు చాలా ఎక్కువ కంపైలేషన్ వేగాన్ని సాధించడం లక్ష్యంగా పెట్టుకుంది. ACO అనేది C++లో వ్రాయబడింది, ఇది JIT సంకలనాన్ని దృష్టిలో ఉంచుకుని రూపొందించబడింది మరియు పాయింటర్-ఆధారిత నిర్మాణాలను తప్పించడం ద్వారా వేగవంతమైన పునరావృత డేటా నిర్మాణాలను ఉపయోగిస్తుంది. కోడ్ యొక్క ఇంటర్మీడియట్ ప్రాతినిధ్యం పూర్తిగా SSA (స్టాటిక్ సింగిల్ అసైన్‌మెంట్)పై ఆధారపడి ఉంటుంది మరియు షేడర్‌పై ఆధారపడి రిజిస్టర్‌ను ఖచ్చితంగా ముందుగా లెక్కించడం ద్వారా రిజిస్టర్ కేటాయింపును అనుమతిస్తుంది.

అదనంగా: ప్రస్తుతానికి, ACO Mesa RADV వల్కాన్ డ్రైవర్ కోసం మాత్రమే పని చేస్తుంది. కానీ ACO డెవలపర్లు ధ్రువీకరించారు, వారి తదుపరి దశ RadeonSI OpenGL డ్రైవర్‌కు మద్దతును అందించడానికి ACO యొక్క సామర్థ్యాలను విస్తరించే పనిని ప్రారంభించడం, తద్వారా భవిష్యత్తులో, ఈ డ్రైవర్ కోసం, ACO డిఫాల్ట్ LLVM షేడర్ కంపైలర్‌ను భర్తీ చేయగలదు.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి