openharmony display

https://github.com/openharmony/drivers_peripheral/blob/master/display/README_zh.md

源码路径,这里是对rk3588的display层适配

device/soc/rockchip/rk3588/hardware/display

├── include

└── src

├── display_device (代码量最大的部分,包括图像同步、管理等)

├── display_gfx (看起来是一些格式转换的接口)

└── display_gralloc (显存管理,分配内存然后告知drm驱动)

display_device中的内容,hdi就是把drm的东西抽象了一下:

├── display_composer_vdi_impl.cpp (显示属性、配置、设置的接口)

├── drm_connector.cpp (亮度调节、屏幕能力获取、热插拔处理,只支持了MIPI DSI HDMI VGA)

├── drm_crtc.cpp (将RGB数据组合传输给显示设备)

├── drm_device.cpp (/dev/dri/card0 打开)

├── drm_display.cpp (依旧是获取一些显示的属性)

├── drm_encoder.cpp (只有一个获取crtc的接口)

├── drm_plane.cpp (获取plane属性)

├── drm_vsync_worker.cpp (vsync软件和硬件方式的初始化)

├── hdi_composer.cpp (composition相关)

├── hdi_device_interface.cpp (drmdevice init)

├── hdi_display.cpp

├── hdi_drm_composition.cpp

├── hdi_drm_layer.cpp

├── hdi_gfx_composition.cpp

├── hdi_layer.cpp

├── hdi_netlink_monitor.cpp

├── hdi_session.cpp

plane对应显示处理器中的layer;

crtc对应显示处理器中的图层合成以及时序的生成的模块;

QA:

1、为什么只有一些简单的接口,渲染在哪里做的?

答:目前看起来应该是render_service调用的opengl进行的渲染,而drm这边的适配只有一些简单的属性和vsync的适配而已。

相关推荐
幸运狗头19 分钟前
Linux学习-基于TCP实现群聊
linux·学习·tcp/ip·群聊
渡己(Sorin)22 分钟前
Ubuntu有限网口无法使用解决方法
linux·运维·ubuntu
不懂机器人23 分钟前
linux网络编程-----TCP服务端并发模型(epoll)
linux·网络·tcp/ip·算法
qq_2970756741 分钟前
网络安全测试(一)Kali Linux
linux·运维·服务器
Adorable老犀牛2 小时前
一键编译安装zabbix(centos)
linux·centos·zabbix
2401_831501734 小时前
Linux之Docker虚拟化技术(一)
java·linux·docker
阳光阴郁大boy4 小时前
前端实现Linux查询平台:打造高效运维工作流
linux·运维·服务器
CYRUS_STUDIO5 小时前
使用 readelf 分析 so 文件:ELF 结构解析全攻略
android·linux·逆向
博语小屋5 小时前
回车换行、缓冲区刷新、倒计时小程序
linux
幸运狗头5 小时前
Linux学习-TCP并发服务器构建
linux·服务器·学习