一:概述
Mesa 是一个开源的图形库,提供对 OpenGL、Vulkan 和其他图形 API 的实现,从本文开始会分析OpenGL API的实现,调试Mesa的方法参见: 驱动开发01 - 编译与调试mesa库-CSDN博客
先从 glDrawArrays 开始,这个函数实现有些复杂,可能需要几篇文章参能分析完,在Mesa中,它的入口函数是 mesa_DrawArrays,先从这个函数开始:
二:mesa_DrawArrays 的代码分析
/*** Called from glDrawArrays when in immediate mode (not display list mode).*//*这个函数用于在立即模式下绘制图形参数:mode:绘制模式,如三角形,线,点