Vulkan रेंडरर
Vulkan बैकएंड रनटाइम पर ड्राइवर लोड करता है, Vulkan 1.2 माँगता है, और गेस्ट फ़्रेम एक स्वैपचेन से दिखाता है। रेंडर टारगेट, स्टोरेज इमेज और पाइपलाइन ड्रॉ के पार मेमोरी में बने रहते हैं।
10 अक्टूबर 2026 तक के रिपॉज़िटरी नोट्स
डिवाइस और मेमोरी
रेंडरर प्लेटफ़ॉर्म का Vulkan लोडर ख़ुद लोड करता है, इसलिए बिल्ड को Vulkan SDK हेडर नहीं चाहिए। आरंभीकरण Vulkan 1.2 माँगता है, वह संस्करण जो अनुवादक का SPIR-V 1.5 स्वीकार करता है, और ग्राफ़िक्स व कंप्यूट दोनों कर सकने वाले क्यू परिवार वाले डिस्क्रीट डिवाइस को प्राथमिकता देता है। डीबग बिल्ड में, इंस्टॉल होने पर, सत्यापन लेयर माँगी जाती हैं।
एक डिस्क्रिप्टर लेआउट 64 स्टोरेज बफ़र, अलग 64-प्रविष्टि 2D और 3D सैंपल्ड-इमेज ऐरे, और टाइप्ड स्टोरेज इमेज रखता है। 512-सेट रिंग, 128 MiB अपलोड क्षेत्र और स्थायी गेस्ट रेंडर टारगेट एक फ़्रेम के रिसोर्स डिवाइस पर रखते हैं। ग्राफ़िक्स अनुवाद 256 MiB, 1,024-प्रविष्टि कैश इस्तेमाल करते हैं। एक स्ट्रीमिंग दृश्य पुराना 64 MiB बजट पार कर गया था और हर फ़्रेम वही मॉड्यूल दोबारा अनुवाद कर रहा था।
पाइपलाइन और टाइमलाइन
पाइपलाइन कम्पाइलेशन डिफ़ॉल्ट रूप से दो वर्कर इस्तेमाल करता है। PS5_GPU_COMPILER_WORKERS एक से चार तक सेट कर सकता है। PS5_GPU_ASYNC_PIPELINES=0 सिंक्रोनस कम्पाइलेशन पर लौटाता है और कंप्यूट वॉर्मअप बंद करता है। वॉर्मअप पहले कम्पाइल किए कंप्यूट मॉड्यूल अगले लॉन्च पर ड्राइवर कैश में दोबारा चलाता है। वह उन्हें कभी डिस्पैच नहीं करता, और अस्थायी पाइपलाइन नष्ट कर देता है। ड्राइवर कैश vulkan_pipeline_cache.bin में भी 4 GiB तक रखा जाता है। ख़राब फ़ाइल फेंक दी जाती है। यह केवल शुरुआती समय पर असर डाल सकती है।
डिफ़ॉल्ट संगतता प्रोफ़ाइल हर भेजे गए बैच का इंतज़ार करती है। PS5_GPU_TIMELINE_SCHEDULER=1 से चुना जाने वाला टाइमलाइन शेड्यूलर कई बैच एक साथ चलते रहने देता है और असली रीडबैक, गेस्ट सिंक्रोनाइज़ेशन बिंदु या ख़त्म हुई रिसोर्स रिंग पर इंतज़ार करता है। एक गेम, PPSA25872, मापी गई तुलनाओं के बाद यह शेड्यूलर और स्थगित छोटा स्टोरेज राइटबैक अपने आप चालू करता है। इमेज लेआउट हर पहलू, मिप और ऐरे लेयर के लिए ट्रैक होता है, और बैरियर उस सबरिसोर्स के पिछले उपयोग से आते हैं।
फ़ॉर्मैट और मेमोरी में बने रहना
BC1 से BC7, पूर्णांक और नॉर्मलाइज़्ड चैनल, R16 और RG16, हाफ़-फ़्लोट और RGBA32_FLOAT समेत छप्पन होस्ट फ़ॉर्मैट तक पहुँच है। गेस्ट इमेज आवंटन कलर, डेप्थ, स्टोरेज और सैंपल्ड उपयोगों के पार एक उपनाम रजिस्ट्री साझा करते हैं। सिग्नेचर मेल खाएँ तो बाद का पास पहले पास द्वारा लिखे डेप्थ टारगेट को गेस्ट मेमोरी के चक्कर के बिना सैंपल कर सकता है। पुनर्व्याख्या और आंशिक ओवरलैप गेस्ट मेमोरी से होकर लौटते हैं।
GPU पर कंप्यूट डीटाइल 4, 8 और 16-बाइट वाली 2D और 3D मानक और PRT सतहें कवर करता है। RB+ और MSAA डीटाइल अब भी CPU पर चलते हैं। सिंगल-सैंपल पैक्ड 11/11/10 UNORM टारगेट एक स्टोरेज-बफ़र कॉपी और फ़्रैगमेंट में अनपैक, ब्लेंड और रीपैक से ब्लेंड होते हैं। VideoOut इन इमेज के ऊपर का स्वैपचेन है।
क्या लागू है
- रनटाइम पर Vulkan 1.2 डिवाइस चयन, स्वैपचेन और मेमोरी में बने रेंडर टारगेट।
- छप्पन होस्ट फ़ॉर्मैट, प्रति-सबरिसोर्स लेआउट ट्रैकिंग और इमेज-उपनाम रजिस्ट्री।
- दो कम्पाइलर वर्कर, स्थायी ड्राइवर कैश और वैकल्पिक कंप्यूट वॉर्मअप।
- वैकल्पिक टाइमलाइन शेड्यूलर, जिसे एक गेम डिफ़ॉल्ट रूप से चालू करता है।
क्या अब भी बाक़ी है
- डिफ़ॉल्ट प्रोफ़ाइल अब भी हर बैच का इंतज़ार करती है। टाइमलाइन सबमिशन वैकल्पिक है।
- RB+ और MSAA डीटाइल CPU इस्तेमाल करते हैं।
- फ़ॉर्मैट सूची का मतलब यह नहीं कि गेम की रोशनी या हर कम्प्रेस्ड मेटाडेटा पथ काम करता है।
संबंधित तंत्र
ये पेज क्या हैं