目录
以 mesa-19.2.0-rc2 版本为主进行分析。
Mesa项目最初作为 OpenGL规范的开源实现。现在扩展为兼容更多的 graphics APIS:including OpenGL ES (versions 1, 2, 3), OpenCL, OpenMAX, VDPAU, VA API, XvMC and Vulkan。 同时,各种显示设备的驱动程序开始允许Mesa库兼容,包括软件仿真到先进gpu的硬件加速。Mesa还和其他几个开源项目相关:the Direct Rendering Infrastructure and X.org ,以便在Linux、FreeBSD和其他操作系统上提供OpenGL的支持。
显卡驱动:
Hardware drivers include:
- Intel GMA, HD Graphics, Iris. See Intel’s Website
- AMD Radeon series. See RadeonFeature
- NVIDIA GPUs (Riva TNT and later). See Nouveau Wiki
- Qualcomm Adreno A2xx-A6xx. See Freedreno Wiki
- Broadcom VideoCore 4, 5. See This Week in V3D
- ARM Mali Utgard. See Lima Wiki
- ARM Mali Midgard, Bifrost. See Panfrost Site
- Vivante GCxxx. See Etnaviv Wiki
- NVIDIA Tegra (K1 and later).
Software drivers include:
- llvmpipe - uses LLVM for x86 JIT code generation and is multi-threaded
- softpipe - a reference Gallium driver
- svga - driver for vmware virtual gpu
- swr - x86-optimized software renderer for visualization workloads
- virgl - research project for accelerated graphics for qemu guests
- swrast - the legacy/original Mesa software rasterizer
我理解software drivers 是针对软件仿真,类似模拟器,vmware,vbox等当中使用。
Additional driver information:
- DRI hardware drivers for the X Window System
- Xlib / swrast driver for the X Window System and Unix-like operating systems
- Microsoft Windows
Radeon是AMD公司出品的显示芯片的一种系列。
https://blog.csdn.net/xueshuangbai/article/details/48548817 有关于底层的介绍。
网上资料:
mesa源码阅读笔记
(7)_顶点变换流程解析:https://blog.csdn.net/linuxheik/article/details/11473901
Mesa3D图形库基本介绍: http://sosohu.github.io/3d/2016/04/22/Mesa3D%E5%9B%BE%E5%BD%A2%E5%BA%93%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%BB%8D.html
mesa解析2 显卡驱动软件架构: https://blog.csdn.net/xueshuangbai/article/details/48548817
图示 mesa 的调用关系:
VMware SVGAD Guest Driver:
大概介绍mesa中的源代码 为Linux构建、安装和使用VMware guest GL驱动程序(也称为SVGA或SVGA3D驱动程序)。这些驱动程序允许Linux虚拟机访问主机的GPU以实现硬件加速的3D。在Linux或Windows上运行的VMware Workstation和在MacOS上运行的VMware Fusion都受支持。
更多信息可以参考: