OpenGL在图形管道中调用了什么用户模式图形驱动程序(UMD)?
OpenGL在圖形管道中調用了什么用戶模式圖形驅動程序(UMD)?
圖形硬件供應商,需要為顯示適配器編,編寫用戶模式顯示驅動程序。用戶模式顯示驅動程序,是由Microsoft Direct3D運行時加載的動態鏈接庫(DLL)。用戶模式顯示驅動程序,必須至少支持Direct3D版本9 DDI。
e.g. nvd3dum.dll is the UMD for DirectX11是運行Nvidia的DirectX11的UMD。著色器shader編譯是從API調用的DirectX代碼進行的,在它進入內核模式驅動程序之前。
UMD是否也將代碼放在中間表示嗎?(driver驅動是中間語言嗎)?
從Windows95OSR2開始,OpenGL基本上一直在Windows上有某種用戶模式組件。體系結構中客戶機/服務器的分離,使得這一點非常容易做到。這意味著許多客戶端API可以執行基本的命令隊列、驗證、資源創建等操作,而不必切換到內核模式。
例如,在OpenGL中,draw調用比Direct3D更容易。在WindowsVista(WDDM)中,情況發生了變化,WDDM為D3D(包括Vista上的D3D9)指定了一個用戶模式驅動程序,該驅動程序的作用與OpenGL的客戶端前端類似。
好處有兩方面:
如果驅動程序在用戶模式下執行某些操作時崩潰,問題通常不會傳播到,導致問題的應用程序之外(而不是全面的內核死機)。
在不切換用戶模式和內核模式的情況下,可以完成更多的實際工作,這意味著API本身在呈現時的瓶頸更少。
D3D10非常注重減少API的總體開銷,而引入WDDM的用戶模式驅動程序,實際上也有益于D3D9應用程序。WDDM對OpenGL體系結構,在Windows新版本中的運行方式,幾乎沒有什么改變,盡管它確實添加了一些新特性,使D3D/GL之間的互操作性更簡單(例如,surface共享)。
著色器shader編譯只是OpenGL ICD在Windows上用戶模式下可以做的許多事情之一。
UMD只與Direct3D相關,OpenGL的用戶模式組件稱為ICD(可安裝客戶端驅動程序)。它負責處理整個OpenGL API,并將OpenGL API調用生成的命令,轉換為顯示驅動程序使用的特定于硬件的命令。DXGI實際上是在windows vista+上將D3D和GL結合在一起的粘合劑,可以將其視為D3D和OpenGL,在用戶模式端處理命令之后所描述的公共語言。DXGI是WDDM的中間組件。
總結
以上是生活随笔為你收集整理的OpenGL在图形管道中调用了什么用户模式图形驱动程序(UMD)?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MLIR算子量化Quantization
- 下一篇: 视频处理单元Video Processi