首页
编程日记
ChatGpt专题
LINUX学习
Java学习
前端教程
单片机
centos
android studio
Table API
IO
小目标
F469
前缀和
js
#产品思维
文字
离线仿真项目
vue3组件
免费批量下载图片的插件
界面设计
信息系统综合测试与管理
图形化编程
i18next
数据库开发
数据结构和算法
设置默认浏览器
drm
2024/4/11 20:37:26
Linux内核4.14版本——drm框架分析(14)——Atomic KMS 架构(struct drm_atomic_state)
目录 1. drm_atomic_state_alloc创建drm_atomic_state 1.1 drm_atomic_state_init 2. 各个drm object对应的state 2.1 drm_atomic_get_crtc_state 2.2 drm_atomic_get_plane_state 2.3 drm_atomic_get_connector_state 2.4 struct __drm_{object}_state 我们从前面两篇文…
阅读更多...
DRM全解析 —— CRTC详解(1)
本文参考以下博文: Linux内核4.14版本——drm框架分析(4)——crtc分析 特此致谢! 1. 简介 CRTC实际上可以拆分为CRTC。CRT的中文意思是阴极摄像管,就是当初老电视上普遍使用的显像管(老电视之所以都很厚,就是因为它…
阅读更多...
libdrm全解析四十 —— 源码全解析(37)
接前一篇文章:libdrm全解析三十九 —— 源码全解析(36) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 前一篇文章讲解完了资源的释放流程中的munmap()和drmIoctl(DRM_IOCTL_MODE_DEST…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(2)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(1) 上回书说到drmModeAddFB、drmModeAddFB2和drmModeAddFB2WithModifiers函数最终“三分归一统”,在内核层统一调用到drm_mode_addfb2函数。 这里我们先不急…
阅读更多...
DRM全解析 —— ADD_FB(1)
本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 在笔者之前的libdrm全解析系列文章中,讲到了drmIoctl(fd, DRM_IOCTL_MODE_ADDFB, &f)以及其封装函数drmModeAddFB。对应的文章链接为: libdrm全解…
阅读更多...
DRM全解析 —— encoder详解(1)
本文参考以下博文: Linux内核4.14版本——drm框架分析(3)——encoder分析 特此致谢! 1. 简介 encoder是编码器/输出转换器,负责将CRTC输出的timing时序转换成外部设备所需要的信号,如HDMI转换器或DSI Controller。 具体来讲&a…
阅读更多...
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…
阅读更多...
libdrm全解析三十八 —— 源码全解析(35)
接前一篇文章:libdrm全解析三十七 —— 源码全解析(34) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 前一篇文章讲解完了drmModeSetCrtc(crtc_id, fb_id, connector_id, mode)&#…
阅读更多...
DRM全解析 —— CREATE_DUMB(2)
接前一篇文章:DRM全解析 —— CREATE_DUMB(1) 本文参考以下博文: DRM驱动(三)之CREATE_DUMB 特此致谢! 上一回围绕libdrm与DRM在Linux内核中的接口: DRM_IOCTL_DEF(DRM_IOCTL_MOD…
阅读更多...
DRM全解析 —— CRTC详解(4)
接前一篇文章:DRM全解析 —— CRTC详解(3) 本文继续对DRM中CRTC的核心结构struct drm_crtc的成员进行释义。 3. drm_crtc结构释义 (21)struct drm_object_properties properties /** properties: property tracking …
阅读更多...
xf86-video-intel源码分析7 —— intel_device.c和intel_driver.h(2)
接上一篇文章《xf86-video-intel源码分析6 —— intel_device.c和intel_driver.h(1)》,链接为: xf86-video-intel源码分析6 —— intel_device.c和intel_driver.h(1)_蓝天居士的博客-CSDN博客 上一篇文章…
阅读更多...
DRM全解析 —— CRTC详解(3)
接前一篇文章:DRM全解析 —— CRTC详解(2) 本文继续对DRM中CRTC的核心结构struct drm_crtc的成员进行释义。 3. drm_crtc结构释义 (13)struct drm_display_mode mode /*** mode:** Current mode timings. Should onl…
阅读更多...
Linux drm内存管理(二) TTM内存管理基础概念
正文 通过之前的文章Linux drm内存管理(一) 浅谈TTM与GEM,为什么我们需要TTM和GEM? 我们知道了TTM是在GEM的基础上实现的一套GPU内存管理框架,所以这篇文章介绍的侧重点是TTM是如何实现管理GPU内存的分配与释放,先了解TTM的思…
阅读更多...
DRM全解析 —— ADD_FB(6)
接前一篇文章:DRM全解析 —— ADD_FB(5) 本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 上回说到Intel i915、AMD Raedon和AMDGP三类显卡驱动中均调用了drm_framebuffer_init函数。本回就…
阅读更多...
DRM全解析 —— framebuffer详解(2)
接前一篇文章:DRM全解析 —— framebuffer详解(1) 本文继续对DRM中framebuffer的核心结构struct drm_framebuffer的成员进行释义。 3. drm_framebuffer结构释义 (8)unsigned int offsets[DRM_FORMAT_MAX_PLANES] /**…
阅读更多...
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函数的实参都是什么展开了深入解析,并且借此机会将之前一直没有探明…
阅读更多...
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从上到下全过程 ——…
阅读更多...
DRM全解析 —— CRTC详解(2)
接前一篇文章:DRM全解析 —— CRTC详解(1) 本文继续对DRM中CRTC的核心结构struct drm_crtc的成员进行释义。 3. drm_crtc结构释义 (5)struct drm_modeset_lock mutex /*** @mutex:** This provides a read lock for the overall CRTC state (mode, dpms* state, ...) an…
阅读更多...
DRM全解析 —— ADD_FB2(2)
接前一篇文章:DRM全解析 —— ADD_FB2(1) 本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 本回对于DRM_IOCTL_MODE_ADDFB2的ioctl系统调用进行深入分析。 众所周知,ioctl系统调…
阅读更多...
DRM全解析 —— ADD_FB2(0)
本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 在笔者之前的libdrm全解析系列文章中,讲到了drmIoctl(fd, DRM_IOCTL_MODE_ADDFB, &f)以及其封装函数drmModeAddFB。对应的文章链接为: libdrm全解…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(9)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(8) 上一回讲完了drm_internal_framebuffer_create函数中的framebuffer_check函数中的drm_get_format_info函数,本文继续讲解framebuffer_check函数中的余下步骤。为了便于理解,再次贴出framebuffer_ch…
阅读更多...
直播系统源码平台内容安全与版权维护技术:DRM
在数字化的时代,人们的生活中已深入到网络中来,许多人加入了直播系统源码平台中来,直播系统源码平台为用户们提供了一个发布图文短视频、开启直播、获取最新资讯的地方,这也衍生出了许多网红、主播等用户,他们会在直播…
阅读更多...
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++)中的前两个参数检查,本回按说应该继续往下讲解,但由于上一回距离再前一…
阅读更多...
Linux内核4.14版本——drm框架分析(3)——encoder分析
目录 1. struct drm_encoder结构体 1.1 struct list_head head 1.2 struct drm_mode_object base 1.3 encoder_type 1.4 struct drm_encoder_funcs 1.5 const struct drm_encoder_helper_funcs *helper_private 2. encoider的API 2.1 drm_encoder_init 2.2 drm_mode_g…
阅读更多...
DRM全解析 —— encoder详解(2)
接前一篇文章:DRM全解析 —— encoder详解(1) 本文继续对DRM中encoder的核心结构struct drm_encoder的成员进行释义。 3. drm_encoder结构释义 (5)int encoder_type /*** encoder_type:** One of the DRM_MODE_ENCOD…
阅读更多...
DRM全解析 —— ADD_FB(2)
接前一篇文章:DRM全解析 —— ADD_FB(1) 本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 上一回围绕libdrm与DRM在Linux内核中的接口: DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB, d…
阅读更多...
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循环中的内容。先看头两句代码,…
阅读更多...
从bootanimation出发分析OpenHarmony下Gralloc buffer管理机制
从bootanimation出发分析OpenHarmony下Gralloc buffer管理机制 引言 这个文档主要记录从bootanimation角度出发,分析OpenHarmony下对gralloc buffer的管理!由于OpenHarmony图形子系统过于复杂,且个人由于能力有限,这里我仅从grall…
阅读更多...
Linux内核4.14版本——drm框架分析(5)——plane分析
目录 1. struct drm_plane结构体 1.1 uint32_t possible_crtcs 1.2 uint32_t *format_types 1.3 unsigned int format_count 1.4 uint64_t *modifiers 1.5 unsigned int modifier_count 1.6 struct drm_crtc *crtc 1.7 struct drm_framebuffer *fb 1.8 struct drm_f…
阅读更多...
DRM全解析 —— CREATE_DUMB(3)
接前一篇文章:DRM全解析 —— CREATE_DUMB(2) 本文参考以下博文: DRM驱动(三)之CREATE_DUMB 特此致谢! 上一回讲解了drm_mode_create_dumb函数的前半部分,本回讲解余下的部分。 为…
阅读更多...
Android12之DRM基本接口实现(二)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(8)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(7) 上一回讲到了drm_internal_framebuffer_create函数中的framebuffer_check函数中的drm_get_format_info函数,讲解了该函数的第一部分暨前一部分,本文讲解后一部分。为了便于理解以及理清脉络和当前所…
阅读更多...
libdrm全解析三十九 —— 源码全解析(36)
接前一篇文章:libdrm全解析三十八 —— 源码全解析(35) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 前一篇文章讲解完了资源的释放流程中的drmModeRmFB(),本回讲解munma…
阅读更多...
DRM全解析 —— plane详解(1)
本文参考以下博文: Linux内核4.14版本——drm框架分析(5)——plane分析 特此致谢! 1. 简介 一个plane代表一个image layer(硬件图层),最终的image由一个或者多个plane(s)组成。plane和 Framebuffer 一样是内存地址。…
阅读更多...
Android12之DRM架构(一)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…
阅读更多...
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()---> …
阅读更多...
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…
阅读更多...