图解:
路径1-OGL用例经早前GPU硬件厂商自己独立驱动DRI控制GPU硬件;
路径2-OGL用例经后来的gallium框架控制GPU硬件;
路径3-Vulkan用例经GPU硬件厂商自己独立vulkan驱动控制GPU硬件;
路径4-OGL用例经gallium框架中的Zink,将OGL操作转换为等效的Vulkan操作;
其它:
-
OGL和Vulkan是对等存在,同位GPU硬件对外的图形与计算API;OGL历史较早,从2.*->4.6,Vulkan后出现目前从1.0->1.3;
两者均由Khnous组织发布维护,Vulkan诞生用意是提供比OGL更佳的性能;
-
zink是由collabora开发维护的开源项目,目前正在持续维护中;
-
gallium是一个框架,用与兼容支持不同厂商对OGL的驱动支持;DRI和vulkan是特定的某厂商的一种特定的对OGL/vulkan的驱动支持;
gallium是多个DRI的集合发展产物,单gallium针对的是OGL,vulkan驱动目前无法直接嵌入gallium框架中;
-
Mesa也是一个框架,提供了OpenGL的多个实现(驱动程序),其中大多数都是硬件加速驱动程序,但Mesa也提供了软件驱动程序; DRI,Gallium都是mesa中一部分;
-
当前vulkan用例从头到尾通过GPU硬件实现,只能通过各GPU硬件厂商的vulkan驱动;