首页
编程日记
ChatGpt专题
LINUX学习
Java学习
前端教程
单片机
sql
PriorityQueue
串口
虚拟机
命令行
分享
费用最优
USB转JTAG
Pyhton
正射矫正
OpenAI
视频
elf
远程医疗
京东
三栏布局
web3py
湖南大学
核酸预约检测管理系统
磁盘
libdrm
2024/4/27 8:07:29
DRM全解析 —— ADD_FB(2)
接前一篇文章:DRM全解析 —— ADD_FB(1) 本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 上一回围绕libdrm与DRM在Linux内核中的接口: DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB, d…
阅读更多...
libdrm全解析十九 —— 源码全解析(16)
接前一篇文章:libdrm全解析十八 —— 源码全解析(15) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。 27. DRM_IOCTL_SET_SAR…
阅读更多...
DRM全解析 —— ADD_FB(1)
本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 在笔者之前的libdrm全解析系列文章中,讲到了drmIoctl(fd, DRM_IOCTL_MODE_ADDFB, &f)以及其封装函数drmModeAddFB。对应的文章链接为: libdrm全解…
阅读更多...
libdrm全解析二十三 —— 源码全解析(20)
接前一篇文章:libdrm全解析二十二 —— 源码全解析(19) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 前一篇文章已提到,drmModeGetResources函数值得深入地进行讲解。本回…
阅读更多...
libdrm全解析二十二 —— 源码全解析(19)
接前一篇文章:libdrm全解析二十一 —— 源码全解析(18) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 前一篇文章介绍了DRM的一般流程,并给出了示例代码。从本回开始&…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(9)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(8) 上一回讲完了drm_internal_framebuffer_create函数中的framebuffer_check函数中的drm_get_format_info函数,本文继续讲解framebuffer_check函数中的余下步骤。为了便于理解,再次贴出framebuffer_ch…
阅读更多...
libdrm全解析三十六 —— 源码全解析(33)
接前一篇文章:libdrm全解析三十五 —— 源码全解析(32) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 前一篇文章讲解完了mmap()显存映射,本篇文章继续讲解DRM一般流程的下…
阅读更多...
DRM全解析 —— ADD_FB2(0)
本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 在笔者之前的libdrm全解析系列文章中,讲到了drmIoctl(fd, DRM_IOCTL_MODE_ADDFB, &f)以及其封装函数drmModeAddFB。对应的文章链接为: libdrm全解…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(2)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(1) 上回书说到drmModeAddFB、drmModeAddFB2和drmModeAddFB2WithModifiers函数最终“三分归一统”,在内核层统一调用到drm_mode_addfb2函数。 这里我们先不急…
阅读更多...
libdrm全解析十六 —— 源码全解析(13)
接前一篇文章:libdrm全解析十五 —— 源码全解析(12) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。 21. DRM_IOCTL_ADD_BUF…
阅读更多...
libdrm全解析三十 —— 源码全解析(27)
接前一篇文章:libdrm全解析二十九 —— 源码全解析(26) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 本文开始对drmIoctl(DRM_IOCTL_MODE_CREATE_DUMB)以及其封装函数drmModeCreateD…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(16)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(15) 本回按照上回中说的,开始对于drivers/gpu/drm/i915/display/intel_fb.c中的intel_user_framebuffer_create函数进行解析。再次贴出intel_user_framebuffer_create函数源码: struct drm_framebuff…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(8)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(7) 上一回讲到了drm_internal_framebuffer_create函数中的framebuffer_check函数中的drm_get_format_info函数,讲解了该函数的第一部分暨前一部分,本文讲解后一部分。为了便于理解以及理清脉络和当前所…
阅读更多...
DRM全解析 —— ADD_FB2(2)
接前一篇文章:DRM全解析 —— ADD_FB2(1) 本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 本回对于DRM_IOCTL_MODE_ADDFB2的ioctl系统调用进行深入分析。 众所周知,ioctl系统调…
阅读更多...
DRM全解析 —— ADD_FB(3)
接前一篇文章:DRM全解析 —— ADD_FB(2) 本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 本回开始对于drm_mode_addfb函数进行解析。为了便于理解,再次贴出其代码,在…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(10)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(9) 弄清楚了drivers/gpu/drm/drm_framebuffer.c中的framebuffer_check函数中for (i = 0; i < info->num_planes; i++)中的info->num_planes之后,接下来来看for循环中的内容。先看头两句代码,…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(13)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(12) 上一回补讲了drivers/gpu/drm/drm_framebuffer.c中的framebuffer_check函数中for (i = 0; i < info->num_planes; i++)中的第4个赋值语句,本回继续接着KWin、libdrm、DRM从上到下全过程 ——…
阅读更多...
libdrm全解析五 —— 源码全解析(2)
接前一篇文章:libdrm全解析四 —— 源码全解析(1) 本文参考以下博文: DRM 驱动程序开发(VKMS) Linux内核中_IO,_IOR,_IOW,_IOWR宏的用法与解析 特此致谢! 上一篇文章深入讲解了include/drm/d…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(12)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(11) 上一回讲解了drivers/gpu/drm/drm_framebuffer.c中的framebuffer_check函数中for (i = 0; i < info->num_planes; i++)中的前两个参数检查,本回按说应该继续往下讲解,但由于上一回距离再前一…
阅读更多...
libdrm全解析十一 —— 源码全解析(8)
接前一篇文章:libdrm全解析十 —— 源码全解析(7) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。 12. DRM_IOCTL_GEM_OPEN …
阅读更多...
libdrm全解析三十九 —— 源码全解析(36)
接前一篇文章:libdrm全解析三十八 —— 源码全解析(35) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 前一篇文章讲解完了资源的释放流程中的drmModeRmFB(),本回讲解munma…
阅读更多...
libdrm全解析十二 —— 源码全解析(9)
接前一篇文章:libdrm全解析十一 —— 源码全解析(8) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。 13. DRM_IOCTL_GET_CAP …
阅读更多...
libdrm全解析四十 —— 源码全解析(37)
接前一篇文章:libdrm全解析三十九 —— 源码全解析(36) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 前一篇文章讲解完了资源的释放流程中的munmap()和drmIoctl(DRM_IOCTL_MODE_DEST…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(20)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(19) 上一回讲解了从drm_mode_addfb2_ioctl()和drm_mode_addfb_ioctl()一步步往前追溯的全过程: drm_mode_addfb2_ioctl() / drm_mode_addfb_ioctl() ---> drm_ioctls[] ---> drm_ioctl()---> …
阅读更多...
libdrm全解析二十一 —— 源码全解析(18)
接前一篇文章:libdrm全解析二十 —— 源码全解析(17) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。从本篇文章开始ÿ…
阅读更多...
libdrm全解析二十八 —— 源码全解析(25)
接前一篇文章:libdrm全解析二十七 —— 源码全解析(24) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 上一篇文章对于DRM_IOCTL_MODE_GETCONNECTOR对应的Userspace API _drmModeGetCo…
阅读更多...
DRM全解析 —— CREATE_DUMB(3)
接前一篇文章:DRM全解析 —— CREATE_DUMB(2) 本文参考以下博文: DRM驱动(三)之CREATE_DUMB 特此致谢! 上一回讲解了drm_mode_create_dumb函数的前半部分,本回讲解余下的部分。 为…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(31)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(30) 上回书解析了drm_gem_open函数的两个参数struct drm_device *dev和struct drm_file *file_private(所对应的实参),本回开始解析drm_gem_open函数的内容。为了便于理解和加深印象,再次贴出drm_ge…
阅读更多...
DRM全解析 —— ADD_FB(6)
接前一篇文章:DRM全解析 —— ADD_FB(5) 本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 上回说到Intel i915、AMD Raedon和AMDGP三类显卡驱动中均调用了drm_framebuffer_init函数。本回就…
阅读更多...
libdrm全解析三十八 —— 源码全解析(35)
接前一篇文章:libdrm全解析三十七 —— 源码全解析(34) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 前一篇文章讲解完了drmModeSetCrtc(crtc_id, fb_id, connector_id, mode)&#…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(33)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(32) 上一回了开始对于drm_gem_handle_create_tail函数的解析,对于函数的注释和第一段代码进行了讲解,本回开始对于drm_gem_handle_create_tail函数的核心功能代码进行解析。为了便于理解,再次贴出drm…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(18)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(17) 上一回在讲解了intel_user_framebuffer_create函数中的第一个函数i915_gem_object_lookup()时,围绕传给i915_gem_object_lookup函数的实参都是什么展开了深入解析,并且借此机会将之前一直没有探明…
阅读更多...