2014-04-21 5 views
5

ओपनजीएल ग्राफिकल कमांड करने के लिए एक इंटरफ़ेस है। अब, यदि पुस्तकालय बहु-मंच है, तो यह GPU के साथ कैसे सहभागिता करता है, यह सिस्टम कॉल करके और इसे बहु-मंच बनाता है या क्या यह संचालन करने के लिए ड्राइवरों का उपयोग करता है?ओपीजीएल जीपीयू के साथ कैसे संचार करता है?

उत्तर

10

ओपनजीएल आमतौर पर ग्राफिक्स ड्राइवर के हिस्से के रूप में लागू किया जाता है। प्रत्येक कार्यान्वयन कुछ कर्नेल-स्पेस घटक और वास्तविक एचडब्ल्यू से बात करने के लिए कार्यान्वयन-विशिष्ट इंटरफेस का उपयोग करेगा।

लिनक्स पर MESA आधारित ओपन-सोर्स जीएल कार्यान्वयन को देखकर इन चीजों को और अधिक कैसे देखा जा सकता है। वे वास्तव में एचडब्ल्यू से बात करने के लिए लिनक्स कर्नेल के DRM (प्रत्यक्ष प्रतिपादन प्रबंधक) API का उपयोग करते हैं। एमईएसए का वर्तमान कार्यान्वयन इस प्रकार आयोजित किया जाता है कि प्रत्येक जीपीयू के लिए, एक ड्रम कर्नेल ड्राइवर और उपयोगकर्ता-स्थान डीआरआई क्लाइंट होता है। मेसा अब GPU-specifc कोड को छोटा रखने और इसे अधिक पोर्टेबल बनाने के लिए gallium एपीआई को एक अमूर्त परत के रूप में उपयोग करता है। ओपनजीएल एपीआई को "राज्य ट्रैकर" के रूप में शीर्ष पर लागू किया गया है, और जीपीयू चालकों से स्वतंत्र है। (यहां तक ​​कि D3D10/11 state tracker भी रहा है, लेकिन यह एक परीक्षण की तरह था और बाद में इसे हटा दिया गया क्योंकि यह अनियमित हो गया।)

तथ्य यह है कि ओपन एक plaform स्वतंत्र एपीआई मतलब यह नहीं है कि ओपन पुस्तकालय मंच स्वतंत्र बिल्कुल हो जाएगा के रूप में परिभाषित किया गया है। यह सी पुस्तकालय एपीआई के साथ के रूप में एक ही स्थिति भाषा का हिस्सा है मानक, लेकिन कार्यान्वयन बहुत मंच-विशिष्ट है।

+0

आपका अंतिम पैराग्राफ बहुत कुछ कहता है। इसके लिए धन्यवाद। मैंने हमेशा सोचा कि प्लेटफॉर्म-स्वतंत्र लाइब्रेरी सिस्टम पर निर्भर कैसे हो सकती है। तुम बहुत ज्यादा आपको वोट देंगे लेकिन मैं अभी तक नहीं कर सकता। – boompow

संबंधित मुद्दे