Android Qcom lcd display 学习(3)
Android Display整体架构
Android 图形组件
Android Graphic analyze
display:高通display overview
MDP(mobile display processor) 简介
[RK3399][Android7.1] Display中的DRM模块介绍
Application
显示流程为在APP侧的主要流程为,当启动一个新的activity时,会创建一个窗口并在WindowManager service(WMS)中注册,当这个app切换到“最前台”时,WMS会要求SurfaceFlinger为这个window创建一个surface用来绘图。SurfaceFlinger创建一个“layer“(surface),这个layer的核心部分既是一个BufferQueue,这时候app就可以在这个layer上render了。
Framework
frameworks/native/services/surfaceflinger
SurfaceFlinger:当系统中存在多个应用程序时,这能保证它们都可以获得一个“本地窗口”,并且这些窗口最终也能显示到屏幕上,SurfaceFlinger会收集所有程序的显示需求,对它们做统一的图像混合操作。
Surface:SurfaceView中有独立与应用窗口的Surface,能直接显示在终端屏幕上的,Surface从中介BufferQueue申请一个bufferdequeueBuffer(例如Camera就是GraphicBuffer),最终会丢给SurfaceFlinger。
BufferQueue:BufferQueue是一个服务中心,producer和consumer必须要通过它来管理buffer。
Surface 表示缓冲区队列中的生产方,而缓冲区队列通常会被 SurfaceFlinger 消耗。在 Android 平台上创建的每个窗口都由 Surface 提供支持。所有被渲染的可见 Surface 都被 SurfaceFlinger 合成到屏幕。
Hardware Abstraction Layer
vendor/qcom/proprietary/display
hardware/libhardware/modules/gralloc
硬件混合渲染器 (HWC) HAL 用于确定通过可用硬件来合成缓冲区的最有效方法。假设有一部普通 Android 手机屏幕,其屏幕方向为纵向,状态栏在顶部,导航栏在底部,其他区域显示应用内容。每个层的内容都在单独的缓冲区中。您可以使用以下任一方法处理合成:
(1) 将应用内容渲染到暂存缓冲区中,然后在其上渲染状态栏,再在其上渲染导航栏,最后将暂存缓冲区传送到显示硬件。
(2) 将三个缓冲区全部传送到显示硬件,并指示它从不同的缓冲区读取屏幕不同部分的数据。
显然后一种方法可以显著提高效率,所以HWC用于将SurfaceFlinger 接收的图层进行合成,从而减少 OpenGL ES (GLES) 和 GPU 执行的合成量,其工作方式表现为为
(1) SurfaceFlinger 向 HWC 提供一个完整的层列表,并询问“您希望如何处理这些层?”
(2) HWC 的响应方式是将每个层标记为设备或客户端合成。
(3) SurfaceFlinger 会处理所有客户端,将输出缓冲区传送到 HWC,并让 HWC 处理其余部分。
HAL层的gralloc库负责了申请图形缓冲区的所有工作,HAL层之上的Surface、BufferQueue最终都是调用gralloc库去申请图形缓冲区。
Kernel Space
DRM(direct rendering manager)
各模块的位置及功能:
Plane: 一个Plane代表一个image layer, 最终的image由一个或者多个Planes组成。
CRTC: 主要用于显示控制,如display timings,resolution的配置,将framebuffer内容送到display,更新framebuffer等。
Encoder: 将数据转换成合适的格式,送给connector,比如HDMI需要TMDS信息, encoder就将数据转成HDMI需要的TMDS格式。
Connector: 代表具体外部接口,如edp, hdmi, mipi等。用于传输信号给外部硬件显示设备,探测外部显示设备接入。
对应dtsi中的qcom,mdss-dsi-display-timings中
qcom,display-topology = <1 0 1>; //Layer Mixer, DSC encoder, DSI MDP处理模块的数量
qcom,default-topology-index = <0>;
SDE/MDP(mobile display processor)
DRM处理架构中的对应的硬件模块
SSPP(Source Surface Processor Pipes):Format conversion and quality improvement for source surface(video graphics)
Layer Mixer(LM):Blend and mix source surface together
DSPP(Destination Surface Processor Pipes):Conversion correction and adjustment based on panel charactersistics
Display interface:Timing generate and interface connectiong the display perpheral
Android Qcom lcd display 学习(3)相关推荐
- Android Qcom lcd display 学习(1)
LCD的结构 TFT-LCD屏幕构造组成原理 Android LCD(一):LCD基本原理篇 LCD: 奇景光电 (hx8399) .敦泰 (ft8719) .京东方 .联咏等IC厂商 由于TFT-L ...
- Android Qcom lcd display 学习(4)
DRM Linux DRM(二)基本概念和特性 DRM(Direct Rendering Manager)学习简介 DRM 的诞生就是用来处理多个程序对 Video Card 资源的协同使用问题,通过 ...
- Android Qcom USB Driver学习(二)
该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) BC v1.2充电规范 Battery Charging Specification USB port 如 ...
- Android Qcom USB Driver学习(八)
该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) 因为要看usb charging的问题,所以需要补充一下battery的相关知识,算是入门吧 BAT SC ...
- Android Qcom USB Driver学习(一)
该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) USB接口类型 Android终端上常用的USB接口:TypeC(现在的主流),MicroB(以前的设备) ...
- Android Qcom USB Driver学习(六)
该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) 眼图基础知识与详解 10分钟教会你看眼图 USB2.0 HUB眼图调试经验总结 一篇文章教你如何全面了解眼 ...
- Android Qcom USB Driver学习(四)
该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) VID/PID识别USB设备 CDC-ACM驱动介绍 CDC-ACM(Communication De ...
- Android Qcom Audio架构学习
总结: Android Audio不简单呀,一个人摸索入门不容易的,研究了一段时间,感觉还不是很懂,但以下的知识对入门还是有帮助的. Audio架构中的名词 FE(Front End) 提供pcm的设 ...
- Android Qcom USB Driver学习(九)
该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) 高通的某些平台将电源管理移植到了ADSP Subsystem, 分析一下其中比较关心的部分 Archite ...
最新文章
- 矩阵计算在计算机科学中,开发者必读:计算机科学中的线性代数(附论文)
- 词袋模型(bag of words)构建并使用主题模型(topic models)特征进行文本聚类分析(clustering analysis)实战
- Django 知识补漏单例模式
- ue4材质节点怎么用_济南装修:阳台储物柜用什么材质好?怎么保养阳台储物柜?...
- 看嵌入式大神直播,送开发板!
- 完美日记:实现高弹性高稳定电商架构
- 21.和和instance of
- spring加载application.xml异常
- ASP.NET TextBox 当鼠标点击后清空默认提示文字
- 今年暑假不AC 贪心
- 8VC Venture Cup 2016 - Final Round (Div. 2 Edition)
- Oracle学习之路-- 案例分析实现行列转换的几种方式
- 计算机接口论文摘要,计算机接口技术论文_计算机接口技术
- 可作为工质状态参数的是_§2工质的热力状态及其基本状态参数
- EXCEL 根据超链接直接显示图片
- 魔兽世界服务端源码各个重要文件详细情况说明开服一条龙
- 五险一金和个人所得税
- 计算机组成原理DROM,最新版 计算机组成原理试题及答案a
- 【行业案例分享】平安云加速银行数字化转型!
- GSL----积分部分(翻译+精简)