மேசா 20.2 பதிப்பை உருவாக்க பயன்படுத்தப்படும் குறியீடு தளத்தில், RADV இயக்கி, AMD சில்லுகளுக்கான வல்கன் பின்தளத்தில் மாறியது தொகுக்க இயல்புநிலை ஷேடர்கள் »ACO«, வால்வு உருவாக்கியது எல்.எல்.வி.எம் ஷேடர் கம்பைலருக்கு மாற்றாக.
இந்த குறிப்பிட்ட மாற்றம் விளையாட்டுகளின் உற்பத்தித்திறன் அதிகரிப்பதன் மூலம் செய்யப்பட்டது மற்றும் அதன் வெளியீட்டு நேரத்தின் குறைப்பு.
மாற்றம் RADV கட்டுப்படுத்தியிலிருந்து புதிய பின்தளத்தில் பழைய AMD உருவாக்கிய பின்தளத்தில் ACO செயல்பாட்டில் சமநிலையை அடைந்த பிறகு சாத்தியமானது AMDGPU இயக்கிக்கு, இது ரேடியான்எஸ்ஐ ஓபன்ஜிஎல் இயக்கியில் தொடர்ந்து பயன்படுத்தப்படுகிறது.
வால்வின் சோதனை, ஏ.சி.ஓ AMDGPU ஷேடர் பில்ட் கம்பைலரை விட கிட்டத்தட்ட இரு மடங்கு வேகமாக இருப்பதைக் காட்டியது மற்றும் RADV இயக்கியுடன் கணினிகளில் இயங்கும்போது சில விளையாட்டுகளில் FPS இன் அதிகரிப்பை நிரூபிக்கிறது.
ஏஎம்டி ஓபன்ஜிஎல் மற்றும் வல்கன் டிரைவர்கள் தற்போது எல்எல்விஎம் அப்ஸ்ட்ரீம் திட்டத்தின் ஒரு பகுதியாக இருக்கும் ஷேடர் கம்பைலரைப் பயன்படுத்துகின்றனர். அந்த திட்டம் மிகப்பெரியது மற்றும் பல்வேறு குறிக்கோள்களைக் கொண்டுள்ளது, மேலும் கேம் ஷேடர்களின் ஆன்லைன் தொகுப்பு அவற்றில் ஒன்று.
இது அபிவிருத்தி பரிமாற்றங்களுக்கு வழிவகுக்கும், அங்கு விளையாட்டு-குறிப்பிட்ட செயல்பாட்டை மேம்படுத்துவது மற்றபடி இருப்பதை விட கடினம், அல்லது எல்.எல்.வி.எம் டெவலப்பர்கள் பிற விஷயங்களில் பணிபுரியும் விளையாட்டு-குறிப்பிட்ட அம்சங்கள் பெரும்பாலும் தற்செயலாக உடைக்கப்படுகின்றன.
இன் பின்தளத்தில் குறியீடு மிகவும் உகந்த முறையில் உருவாக்கப்படுவதை உறுதி செய்வதை ACO நோக்கமாகக் கொண்டுள்ளது விளையாட்டு பயன்பாட்டு ஷேடர்களுக்கு சாத்தியம் மற்றும் மிக உயர்ந்த தொகுப்பு வேகத்தை அடையலாம்.
ACO இது சி ++ இல் எழுதப்பட்டுள்ளது, JIT தொகுப்பிற்கான பொருந்தக்கூடிய தன்மையை மனதில் கொண்டு உருவாக்கப்பட்டது, தரவு கட்டமைப்புகளை மீண்டும் இயக்க விரைவானவற்றைப் பயன்படுத்தவும், இணைக்கப்பட்ட பட்டியல்கள் மற்றும் சரங்கள் போன்ற சுட்டிக்காட்டி அடிப்படையிலான கட்டமைப்புகளை டெஃப் பயன்படுத்துவதைத் தவிர்க்கிறது. குறியீட்டின் இடைநிலை பிரதிநிதித்துவம் முற்றிலும் எஸ்எஸ்ஏ (ஒற்றை நிலையான ஒதுக்கீடு) அடிப்படையிலானது மற்றும் பதிவுகளை ஒதுக்க அனுமதிக்கிறது, நிழலின் அடிப்படையில் பதிவை துல்லியமாக கணக்கிடுகிறது.
குறியீட்டின் இடைநிலை பிரதிநிதித்துவம் முற்றிலும் எஸ்எஸ்ஏ (ஒற்றை நிலையான ஒதுக்கீடு) அடிப்படையிலானது மற்றும் பதிவுகளை ஒதுக்க அனுமதிக்கிறது, நிழலின் அடிப்படையில் பதிவை துல்லியமாக கணக்கிடுகிறது.
தற்போது பிக்சல்கள் மட்டுமே ஆதரிக்கப்படுகின்றன (துண்டுகள்) மற்றும் தனித்துவமான AMD GPU களில் ஷேடர்களைக் கணக்கிடுங்கள் (dGPU VI +). இருப்பினும், ஏ.சி.ஓ ஏற்கனவே சோதனை செய்யப்பட்ட அனைத்து விளையாட்டுகளுக்கும் ஷேடர்களை சரியாக சேகரிக்கிறது, இதில் நிழல் தி டோம்ப் ரைடர் மற்றும் வொல்ஃபென்ஸ்டீன் II ஆகியவற்றிலிருந்து சிக்கலான ஷேடர்கள் அடங்கும்.
முன்மொழியப்பட்ட ACO முன்மாதிரி சோதனைக்கு இது AMDGPU ஷேடர் கம்பைலரை விட கிட்டத்தட்ட இரு மடங்கு வேகமாக உள்ளது மற்றும் RADV கட்டுப்படுத்தியுடன் கணினிகளில் இயங்கும்போது சில விளையாட்டுகளில் FPS இன் அதிகரிப்பு நிரூபிக்கிறது.
வால்வின் குறியீட்டை ஏற்றுக்கொள்வதன் பொருத்தத்தைப் பற்றி இன்னும் கொஞ்சம் புரிந்துகொள்ள, அதை முன்னறிவிப்பது முக்கியம் சாத்தியமான மிகவும் உகந்த குறியீடு உருவாக்கத்திற்கு உத்தரவாதம் அளிப்பதே இதன் நோக்கம் விளையாட்டு பயன்பாட்டு ஷேடர்களுக்கும், மிக உயர்ந்த தொகுப்பு வேகத்திற்கும்.
மேசாவில் கிடைக்கும் ஷேடர் கம்பைலர் எல்.எல்.வி.எம் கூறுகளைப் பயன்படுத்துகிறது, அவை விரும்பிய தொகுப்பு வேகத்தை அடைய அனுமதிக்காது மற்றும் கட்டுப்பாட்டு ஓட்டத்தின் முழு கட்டுப்பாட்டையும் அனுமதிக்காது, இது கடந்த காலத்தில் ஏற்கனவே கடுமையான பிழைகளை ஏற்படுத்தியுள்ளது.
கூடுதலாக, எல்.எல்.வி.எம் தவிர்ப்பது மிகவும் ஆக்கிரோஷமான பகுப்பாய்வை செயல்படுத்துவதை சாத்தியமாக்குகிறது முரண்பாடுகள் மற்றும் சிறந்த பதிவு சுமை மேலாண்மை, மேலும் திறமையான இயங்கக்கூடிய கோப்பு உருவாக்கத்தை செயல்படுத்துகிறது.
இறுதியாக, அதுவும் இந்த நேரத்தில் ACO மெசா RADV வல்கன் கட்டுப்படுத்திக்கு மட்டுமே செயல்படுகிறது என்பதை கவனத்தில் கொள்ள வேண்டும். ஆனால் ACO டெவலப்பர்கள் தங்கள் அடுத்த கட்டமாக OpenGL RadeonSI இயக்கியை ஆதரிப்பதற்காக ACO இன் திறன்களை விரிவுபடுத்துவதற்கான பணியைத் தொடங்குவதாக உறுதிப்படுத்தியுள்ளனர், இதனால் எதிர்காலத்திலும் இந்த இயக்கிக்கும் ACO இயல்புநிலை LLVM ஷேடர் தொகுப்பினை மாற்ற முடியும். .
எவ்வளவு முன்பு பயன்படுத்தப்பட்ட பின்தளத்தில் தொடர விரும்புவோர் எல்.எல்.வி.எம் ஷேடர் கம்பைலரிலிருந்து, அவர்கள் அதற்குச் செல்லலாம், அவை ஒரு மாறியை மாற்ற வேண்டும்.
இந்த மாற்றத்தை செய்ய வழங்கப்பட்ட சூழல் மாறி "RADV_DEBUG = llvm".
ஒரு விளையாட்டை இயக்க எந்த பின்தளத்தில் ஒரு பயனர் எவ்வாறு தேர்வு செய்கிறார்? எந்த கோப்புகளை மாற்ற வேண்டும்?