திட்டம் மது வெளியிடப்பட்டது சில நாட்களுக்கு முன்பு புதிய பதிப்பின் அறிமுகம் vkd3d 1.7 தொகுப்பு டைரக்ட்3டி 12 செயலாக்கத்துடன், வல்கன் கிராபிக்ஸ் ஏபிஐக்கு அழைப்புகளை மொழிபெயர்ப்பதன் மூலம் செயல்படுகிறது.
தொகுப்பு libvkd3d நூலகங்கள் அடங்கும் Direct3D 12 செயலாக்கங்களுடன், libvkd3d-shader with shader model 4 மற்றும் 5, மற்றும் libvkd3d-utils Direct3D 12 பயன்பாடுகளின் இடம்பெயர்வை எளிதாக்கும் செயல்பாடுகள், அத்துடன் Direct3D 12 க்கு glxgears போர்ட் உட்பட டெமோக்களின் தொகுப்பு.
libvkd3d நூலகம் பெரும்பாலான Direct3D 12 அம்சங்களை ஆதரிக்கிறது, கிராபிக்ஸ் மற்றும் கணக்கீடு, கட்டளை பட்டியல்கள் மற்றும் வரிசைகள், விளக்கங்கள் மற்றும் குவியல் விளக்கங்கள், ரூட் கையொப்பங்கள், வரிசைப்படுத்தப்படாத அணுகல், மாதிரிகள், கட்டளை கையொப்பங்கள், ரூட் மாறிலிகள், மறைமுக பிரதிநிதித்துவம், தெளிவான*() மற்றும் நகல்*() முறைகள்.
அது தவிர libvkd3d-shader பைட்கோட் 4 மற்றும் 5 இன் மொழிபெயர்ப்பை செயல்படுத்துகிறது SPIR-V இன் இடைநிலை பிரதிநிதித்துவத்தில் நிழல் மாதிரிகள். வெர்டெக்ஸ், பிக்சல், டெஸ்ஸலேஷன், கம்ப்யூடேஷன் மற்றும் சிம்பிள் ஜியோமெட்ரி ஷேடர்கள், ரூட் சிக்னேச்சர் வரிசைப்படுத்தல் மற்றும் டீரியலைசேஷன் ஆகியவற்றை ஆதரிக்கிறது.
எண்கணிதம், அணு மற்றும் பிட் செயல்பாடுகள், ஒப்பீடு மற்றும் தரவு ஓட்டக் கட்டுப்பாட்டு ஆபரேட்டர்கள், மாதிரி, சேகரித்தல் மற்றும் ஏற்றுதல் வழிமுறைகள், வரிசைக்கு வெளியே அணுகல் செயல்பாடுகள் (UAV, வரிசைக்கு வெளியே அணுகல் பார்வை) ஆகியவை நிழல் வழிமுறைகளிலிருந்து செயல்படுத்தப்படுகின்றன.
vkd3d 1.7 இன் முக்கிய புதிய அம்சங்கள்
இந்த புதிய பதிப்பில் vkd3d 1.7 தனித்து நிற்கிறதுஎச்எல்எஸ்எல் ஷேடர் கம்பைலரை மேம்படுத்தும் பணியைத் தொடர்ந்தேன் (உயர்-நிலை ஷேடர் மொழி), அத்துடன் பயனர் வரையறுக்கப்பட்ட செயல்பாடுகளை அழைக்கும் திறனைச் சேர்த்தல் மற்றும் பயனர் வரையறுக்கப்பட்ட செயல்பாடுகளின் அளவுருக்களாக அணிவரிசைகளைப் பயன்படுத்தவும்.
புதிய பதிப்பில் உள்ள மற்றொரு மாற்றம் சுயவிவரங்களுக்கான கணிசமாக மேம்பட்ட ஆதரவு ஷேடர் மாதிரி Direct3D 1/2/3, min16float போன்ற குறைந்த துல்லியமான மிதக்கும் புள்ளி வகைகளுக்கான ஆரம்ப ஆதரவையும் சேர்த்தது.
அதுவும் சிறப்பிக்கப்படுகிறது SV_DispatchThreadID, SV_GroupID மற்றும் SV_GroupThreadID அளவுருக்களுக்கான ஆதரவு சேர்க்கப்பட்டது மற்றும் DXBC பைனரி தரவுகளை அலசுவதற்கும் (vkd3d_shader_parse_dxbc) வரிசைப்படுத்துவதற்கும் (vkd3d_shader_serialize_dxbc) பொது API சேர்க்கப்பட்டுள்ளது.
இல் மற்ற மாற்றங்கள் புதிய பதிப்பின்:
- சுமை() அமைப்பு பொருளின் விருப்ப "ஆஃப்செட்" அளவுருவுக்கான ஆதரவு
முறை. - உள்ளார்ந்த செயல்பாட்டிற்கான ஆதரவு all().
- தொலைவு() உள்ளார்ந்த செயல்பாட்டிற்கான ஆதரவு.
- எக்ஸ்ப்() மற்றும் எக்ஸ்ப்2() ஆகிய உள்ளார்ந்த செயல்பாடுகளுக்கான ஆதரவு.
- frac() உள்ளார்ந்த செயல்பாட்டிற்கான ஆதரவு.
- lit() உள்ளார்ந்த செயல்பாட்டிற்கான ஆதரவு.
- பிரதிபலிப்பு() உள்ளார்ந்த செயல்பாட்டிற்கான ஆதரவு.
- உள்ளார்ந்த செயல்பாடுகளான sin() மற்றும் cos()க்கான ஆதரவு.
- ஸ்மூத்ஸ்டெப்() உள்ளார்ந்த செயல்பாட்டிற்கான ஆதரவு.
- உள்ளார்ந்த sqrt() மற்றும் rsqrt() செயல்பாடுகளுக்கான ஆதரவு.
- படி() உள்ளார்ந்த செயல்பாட்டிற்கான ஆதரவு.
- உள்ளார்ந்த செயல்பாட்டிற்கான ஆதரவு இடமாற்றம்().
- மிதவை மற்றும் dword தரவுகளின் கேஸ்-சென்சிட்டிவ் வகைகளுக்கான ஆதரவு
வகை - "min16float" போன்ற குறைந்தபட்ச துல்லியமான தரவு வகைகளுக்கான பகுதி ஆதரவு. இவை தற்போது அவற்றின் வழக்கமான சகாக்களாக விளங்குகின்றன.
மேம்படுத்தப்பட்ட நிலையான பரப்புதல் ஆதரவு, குறிப்பாக ஸ்விசில்கள் மூலம் நிலையான பரப்புதலுக்கு. - தொகுத்தல் விருப்பமான VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE ஐப் பயன்படுத்தி, Vulkan சூழல்களைக் குறிவைக்கும் SPIR-V ஷேடர்கள் வடிவவியலுக்கான புள்ளி அளவுகளையும் டெசெல்லேஷன் ஷேடர்களையும் குறிப்பிடவில்லை என்றால், புள்ளி அளவுகள் எழுதப்படும்.
இறுதியாக, அதைப் பற்றி மேலும் அறிய ஆர்வமுள்ளவர்களுக்கு, திட்டக் குறியீடு LGPLv2.1 இன் கீழ் உரிமம் பெற்றுள்ளது என்பதையும், இந்தப் புதிய வெளியீட்டின் விவரங்களை அவர்கள் ஆலோசிக்க முடியும் என்பதையும் அவர்கள் அறிந்திருக்க வேண்டும். பின்வரும் இணைப்பில்.
vkd3d 1.7 ஐ எவ்வாறு நிறுவுவது?
இதற்காக vkd3d ஐ நிறுவுவதில் ஆர்வமாக உள்ளது அவர்கள் மூலக் குறியீட்டைத் தொகுக்க வேண்டும் என்பதை அவர்கள் அறிந்திருக்க வேண்டும், எனவே நாம் முதலில் அதைப் பெற வேண்டும், Vkd3d என்பது SPIRV-தலைப்புகள் மற்றும் Vulkan-Headers (>= 1.2.139) சார்ந்தது என்பதைக் குறிப்பிடுவது முக்கியம்.
தொகுப்பைச் செயல்படுத்த நாம் ஒரு முனையத்தைத் திறக்க வேண்டும், அதில் பின்வரும் கட்டளையைத் தட்டச்சு செய்வோம்:
git clone https://gitlab.winehq.org/wine/vkd3d.git
இது முடிந்ததும், சமீபத்தில் பதிவிறக்கம் செய்யப்பட்ட கோப்பகத்தை உள்ளிடுவோம்:
cd vkd3d
பின்வரும் கட்டளைகளை இயக்குவதன் மூலம் தொகுக்க தொடர்கிறோம்:
./configure make make install
Si நீங்கள் தொகுப்பைப் பற்றி மேலும் அறிய விரும்புகிறீர்கள் vkd3d இன் விவரங்களை நீங்கள் பார்க்கலாம் இந்த இணைப்பு.