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的适配而已。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/892810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在linux系统上完成定时任务

任务背景 1.需要每小时更新一次github的host端口; 2.需要每天早上七点半准时启动电脑。 更新github的host端口 在/past/to/路径里新建一个host_update.sh文件,运行以下命令获得访问,运行和修改这个文件路径的权限: sudo chmod…

react中hooks之useRef 用法总结

1. 基本概念 useRef 是 React 的一个 Hook,返回一个可变的 ref 对象,其 .current 属性被初始化为传入的参数。这个对象在组件的整个生命周期内保持不变。 2. 主要用途和特性 2.1 获取 DOM 元素实例 function TextInputWithFocusButton() {const inpu…

用Guiguider生成的字体代替LVGL默认字体

Guiguider版本:1.8.1 LVGL版本:8.3 最近使用LVGL时,由于flash不太够用了,观察编译的map图发现一直有一个LV_FONT_MONTSERRAT_14的字体被编译,占用了我十几KB的Flash,由于我是用guider生成的界面和字体&…

osg中实现模型的大小、颜色、透明度的动态变化

以博饼状模型为对象,实现了模型大小、颜色、透明度的动态变化。 需要注意的是一点: // 创建材质对象osg::ref_ptr<osg::Material> material = new osg::Material;material->setDiffuse(osg::Material::FRONT_AND_BACK, osg::Vec4(0.0, 1.0, 0.0, 0.5));// 获取模型的…

golang之数据库操作

1.导入必要的包 import("database/sql"_ "github.com/go-sql-driver/mysql" //使用此作为数据库驱动 ) 2.相关操作 连接数据库 使用sql.Open()函数进行数据库的连接 db, err : sql.Open("mysql", "user:passwordtcp(127.0.0.1:3306)/db…

// Error: line 1: XGen: Candidate guides have not been associated!

Maya xgen 报错// Error: line 1: XGen: Candidate guides have not been associated! 复制下面粘贴到Maya脚本管理器python运行&#xff1a; import maya.cmds as cmds def connect_xgen_guides():guide_nodes cmds.ls(typexgmMakeGuide)for node in guide_nodes:downstream…

为ARM64架构移植Ubuntu20.04换源的发现

在为ARM64架构(RK3566)移植ubuntu20.04的时候发现在更换为国内源之后&#xff0c;无法正常完成apt update,报错为: Ign:25 http://mirrors.aliyun.com/ubuntu focal-updates/main arm64 Packages …

源码编译安装httpd 2.4,提供系统服务管理脚本并测试

总结需要安装的包 sudo yum groupinstall "Development Tools" -y #httpd的依赖包yum install tar -y #tar压缩包sudo yum install apr-devel apr-util-devel #APR库 提供跨平台接口的库sudo yum install pcre pcre-devel # PCRE库和 pcre-config工具--提供PCRE库…

【混合开发】CefSharp+Vue桌面应用程序开发

为什么选择CefSharpVue做桌面应用程序 CefSharp 基于 Chromium Embedded Framework (CEF) &#xff0c;它可以将 Chromium 浏览器的功能嵌入到 .NET 应用程序中。通过 CefSharp&#xff0c;开发者可以在桌面应用程序中集成 Web 技术&#xff0c;包括 HTML、JavaScript、CSS 等…

Zookeeper 核心知识深度解析:从选主到部署

1.请简述Zookeeper的选主流程 Zookeeper 是一个用于维护配置信息、命名、提供分布式同步和组服务的工具。它在分布式系统中提供了强一致性&#xff0c;这得益于它的内部实现机制&#xff0c;其中包括选主流程&#xff08;Leader Election&#xff09;。以下是 Zookeeper 的选主…

从0开始学习搭网站第二天

前言&#xff1a;今天比较惭愧&#xff0c;中午打铲吃了一把&#xff0c;看着也到钻二了&#xff0c;干脆顺手把这个赛季的大师上了&#xff0c;于是乎一直到网上才开始工作&#xff0c;同样&#xff0c;今天的学习内容大多来自mdn社区mdn 目录 怎么把文件上传到web服务器采用S…

nacos环境搭建以及SpringCloudAlibaba脚手架启动环境映射开发程序

1&#xff1a;下载nacos 地址&#xff1a;https://github.com/alibaba/nacos/tags 2:选择server的zip包下载 3:启动mysql服务&#xff0c;新建数据库&#xff1a;nacos_yh 4&#xff1a;解压下载的nacos_server 进入conf目录 5&#xff1a;mysql运行sql脚本变得到下面的表 6&a…

Spring MVC流程一张图理解

由于现在项目中大部分都是使用springboot了&#xff0c;但是ssm中的springmvc还是可以了解一下 1 、用户发送请求至前端控制器 DispatcherServlet 。 2 、 DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器。 3 、处理器映射器找到具体的处理器 ( 可以根据 xml 配…

数据分析如何正确使用ChatGPT进行辅助?

目录 1.数据介绍 2.特征工程 3.EDA分析 4.数据相关性分析 5.分析总结 一篇优秀的学术论文&#xff0c;肯定有新颖、适当的论证视角&#xff0c;选择恰当的研究方法&#xff0c;搭建逻辑严密、平衡的论证框架&#xff0c;把有力的数据分析紧密结合起来&#xff0c;这样一篇…

学习 Git 的工作原理,而不仅仅是命令

Git 是常用的去中心化源代码存储库。它是由 Linux 创建者 Linus Torvalds 创建的&#xff0c;用于管理 Linux 内核源代码。像 GitHub 这样的整个服务都是基于它的。因此&#xff0c;如果您想在 Linux 世界中进行编程或将 IBM 的 DevOps Services 与 Git 结合使用&#xff0c;那…

赛灵思(Xilinx)公司Artix-7系列FPGA

苦难从不值得歌颂&#xff0c;在苦难中萃取的坚韧才值得珍视&#xff1b; 痛苦同样不必美化&#xff0c;从痛苦中开掘出希望才是壮举。 没有人是绝对意义的主角&#xff0c; 但每个人又都是自己生活剧本里的英雄。滑雪&#xff0c;是姿态优雅的“贴地飞行”&#xff0c;也有着成…

openplant实时数据库(二次开发)

资源地址 我的网盘〉软件>数据库>openplant>openplant实时数据库(二次开发)

VUE之生命周期

目录 1、VUE2的生命周期 1.1、创建(创建前,创建完毕) 1.2、挂载(挂载前,挂载完毕) 1.3、更新(更新前,更新完毕) 1.4、销毁(销毁前,销毁完毕) 2、VUE3的生命周期 2.1、创建(setup) 2.2、挂载(onBeforeMount、onMounted) 2.3、更新(onBeforeUpdate、on…

C 语言标准库函数——strtol函数

strtol 函数包含在 C 语言标准库的 <stdlib.h> 头文件中&#xff0c;用于将字符串转换为长整数&#xff08;long int&#xff09;。它可以处理各种格式的字符串&#xff0c;并且可以指定进制。 strtol 函数的时间复杂度是 O(n)&#xff0c;其中 n 是输入字符串的长度。 …

SpringBoot链接Kafka

一、SpringBoot生产者 &#xff08;1&#xff09;修改SpringBoot核心配置文件application.propeties, 添加生产者相关信息 # 连接 Kafka 集群 spring.kafka.bootstrap-servers192.168.134.47:9093# SASL_PLAINTEXT 和 SCRAM-SHA-512 认证配置 spring.kafka.properties.securi…