当前位置: 首页 > news >正文

驱动开发系列53 - 一个OpenGL应用程序是如何调用到驱动厂商GL库的

一:概述

        一个 OpenGL 应用程序调用 GPU 驱动的过程,主要是通过动态链接库(libGL.so)来完成的。本文从上到下梳理一下整个调用链,包含 GLVND、Mesa 或厂商驱动之间的关系。

二:调用关系

        1. 首先一个 OpenGL 应用程序(比如游戏或图形渲染软件)在运行时会调用 OpenGL 提供的 API,例如 glDrawArrays()glClear() 等。这些 API 实际上是动态链接自系统提供的 OpenGL 库,通常是:

/usr/lib/x86_64-linux-gnu/libGL.so.1

        2.  其次在现代 Linux 系统上,libGL.so.1 是由 GLVND(OpenGL Vendor Neutral Dispatch) 提供的。

  • 它的作用是将 OpenGL 的调用 分发到正确的供应商实现(Vendor Library),如:

    • Mesa 的开源驱动(radeonsi_dri.so, iris_dri.so

相关文章:

  • 基于Python爬虫的音乐歌手的歌名和歌词信息爬取(可以输入歌手名字,然后爬取到该歌手的全部歌名和歌词信息)
  • Ubuntu主机上通过WiFi转有线为其他设备提供网络连接
  • 【蓝桥杯】产值调整
  • 基于大模型的结肠癌全病程预测与诊疗方案研究
  • Android插拔U盘导致黑屏问题排查
  • macOS 连接远程服务器的推荐方法和工具
  • Kingbase性能优化浅谈
  • 《深入理解计算机系统》阅读笔记之第一章 计算机系统漫游
  • SVN 右键不显示clean up的解决方法
  • java—11 Redis
  • vxe-table封装表头
  • 10天学会嵌入式技术之51单片机-day-7
  • LLM应用开发(八)-聊天机器人有记忆功能
  • 自然语言处理(NLP)技术的实例
  • loading加载中效果 css实现
  • 纯真社区IP库离线版发布更新
  • Kibana服务
  • SQL 语法
  • Rust实现高性能目录扫描工具ll的技术解析
  • 【优秀三方库研读】【C++基础知识】odygrd/quill -- 折叠表达式
  • 美国参议院投票通过戴维·珀杜出任美国驻华大使
  • 上海科创的三种品格
  • 君亭酒店:2024年营业收入约6.76亿元, “酒店行业传统增长模式面临巨大挑战”
  • 俄罗斯延长非法滞留外国人限期离境时间至9月
  • 美乌总统梵蒂冈会谈,外交部:望有关各方继续通过对话谈判解决危机
  • 马上评丨机械停车库成“僵尸库”,设计不能闭门造车