DRMPlaneType里有VIG, DMA,和RGB三种类型,这是不是说明DRMPlane就是代表DPU里的Pipeline

DRMPlane 代表了 DPU(Display Processing Unit) 里的 Pipeline(数据通路),不同的 DRMPlaneType 对应 DPU 内部的不同 渲染/合成管线


📌 DRMPlaneType 与 DPU Pipeline 的关系

高通(Qualcomm)DPU 里,每个 DRMPlane 其实就对应 DPU 硬件渲染/合成管线,不同类型的 Plane 适用于不同的图层(Layer)。

DRMPlaneTypeDPU Pipeline(数据通路)特点主要用途
VIG(VIG Pipe)VIG(Video Image Generator)专门用于 视频处理,支持 缩放(Scaling)、格式转换等适用于 视频播放、相机预览
DMA(DMA Pipe)DMA(Direct Memory Access)负责 普通图层(UI Layer) 传输,不支持缩放适用于 普通 UI、App 界面
RGB(RGB Pipe)RGB Layer一般用于 GPU 渲染后的 UI 图层,支持混合、透明度适用于 窗口合成、透明 UI

🔹 说明

  • DRMPlaneType 只是 软件层的概念,底层 实际映射到 DPU 硬件中的不同 Pipeline
  • VIG 管道更适合视频(支持缩放、格式转换等)。
  • DMA 管道更适合 UI 界面(支持基础显示,但不支持缩放)。
  • RGB 管道用于 GPU 渲染后的 UI(支持混合、透明度)。

📌 DPU Pipeline(数据通路) 详细结构

高通 DPU(Display Processing Unit) 里的 Pipeline(数据通路) 主要包括:

  1. Source Pipe(源管道)
    • VIG(视频图层管道)
    • DMA(普通 UI 图层管道)
    • RGB(GPU 渲染的 UI 图层)
  2. Mixer(混合器)
    • 负责将多个 Plane 进行 Blending(混合)
    • GPU、Camera ISP、视频解码器的数据最终都经过 Mixer 处理
  3. DSPP(Display Sub-System Processing)
    • 负责色彩调整、Gamma 校正、Dithering 等。
  4. DSI/eDP/HDMI 输出
    • 经过 DSPP 处理后的数据,最终输出到 LCD、OLED、HDMI 设备上。

🔍 代码示例

DRM 框架 里,DRMPlaneType 可能在 设备树(DTS)或驱动代码 里被定义:

enum drm_plane_type {
    DRM_PLANE_TYPE_PRIMARY = 0,  // 主屏幕的主图层
    DRM_PLANE_TYPE_OVERLAY = 1,  // 叠加层(视频、UI)
    DRM_PLANE_TYPE_CURSOR  = 2,  // 鼠标光标
};

// 高通 DPU 的 Plane 定义(可能在 dpu_hw_catalog.c 里)
struct dpu_plane_data {
    .id = VIG,
    .type = DRM_PLANE_TYPE_OVERLAY,   // VIG 管道通常用于视频
};

struct dpu_plane_data {
    .id = DMA,
    .type = DRM_PLANE_TYPE_PRIMARY,   // DMA 可能用于 UI 主界面
};

struct dpu_plane_data {
    .id = RGB,
    .type = DRM_PLANE_TYPE_OVERLAY,   // RGB 可能用于 GPU 渲染的窗口
};

🔎 总结

DRMPlane 代表 DPU 硬件管线,不同的 Plane 类型对应 不同的 DPU Pipeline
VIG(Video Image Generator)用于视频处理,支持缩放、格式转换。
DMA 负责普通 UI 图层,不支持缩放。
RGB 适用于 GPU 渲染的 UI,支持混合、透明度。
最终 DRMPlane 经过 Mixer 进行合成,再通过 DSPP 处理后输出到屏幕。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开发环境搭建-01.前端环境搭建

一.整体结构 Nginx目录必须放在没有中文的目录中才能正常运行!!!

Redis 常见数据类型

官方文档 RedisCommands 1)Redis 的命令有上百个,如果纯靠死记硬背比较困难,但是如果理解 Redis 的一些机制,会发现这些命令有很强的通用性。 2)Redis 不是万金油,有些数据结构和命令必须在特定场景下使用…

Redis7——进阶篇(三)

前言:此篇文章系本人学习过程中记录下来的笔记,里面难免会有不少欠缺的地方,诚心期待大家多多给予指教。 基础篇: Redis(一)Redis(二)Redis(三)Redis&#x…

云原生时代的技术桥梁

在数字化转型的大潮中,企业面临着数据孤岛、应用间集成复杂、高成本与低效率等问题。这些问题不仅阻碍了企业内部信息的流通和资源的共享,也影响了企业对外部市场变化的响应速度。当前,这一转型过程从IT角度来看,已然迈入云原生时…

ICLR 2025|香港浸会大学可信机器学习和推理课题组专场

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! AITIME 01 ICLR 2025预讲会团队专场 AITIME 02 专场信息 01 Noisy Test-Time Adaptation in Vision-Language Models 讲者:曹晨涛,HKBU TMLR Group一年级博士生,目前关注基础…

ProfibusDP主站转ModbusTCP网关如何进行数据互换

ProfibusDP主站转ModbusTCP网关如何进行数据互换 在现代工业自动化领域,通信协议的多样性和复杂性不断增加。Profibus DP作为一种经典的现场总线标准,广泛应用于工业控制网络中;而Modbus TCP作为基于以太网的通信协议,因其简单易…

016.3月夏令营:数理类

016.3月夏令营:数理类: 中国人民大学统计学院: http://www.eeban.com/forum.php?modviewthread&tid386109 北京大学化学学院第一轮: http://www.eeban.com/forum.php?m ... 6026&extrapage%3D1 香港大学化学系夏令营&a…

使用IDEA如何隐藏文件或文件夹

选择file -> settings 选择Editor -> File Types ->Ignored Files and Folders (忽略文件和目录) 点击号就可以指定想要隐藏的文件或文件夹

通过微步API接口对单个IP进行查询

import requests import json# 微步API的URL和你的API密钥 API_URL "https://api.threatbook.cn/v3/ip/query" API_KEY "***" # 替换为你的微步API密钥 def query_threatbook(ip):"""查询微步API接口,判断IP是否为可疑"…

第七节:基于Winform框架的串口助手小项目---协议解析《C#编程》

介绍 目标 代码实现 private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e){if (isRxShow false) return;// 1,需要读取有效的数据 BytesToReadbyte[] dataTemp new byte[serialPort1.BytesToRead];serialPort1.Read(dataTemp,0,dataTemp.Le…

关于tresos Studio(EB)的MCAL配置之GPT

概念 GPT,全称General Purpose Timer,就是个通用定时器,取的名字奇怪了点。定时器是一定要的,要么提供给BSW去使用,要么提供给OS去使用。 配置 General GptDeinitApi控制接口Gpt_DeInit是否启用 GptEnableDisable…

C语言基础要素(011):增量、减量运算

让变量自身加一或减一是一种常用的运算,C语言提供了增量与减量运算符支持这些操作。 增量运算() 让变量自身加1,可以这样实现: int size 3; size size 1; // 语句执行后 size 值为 4 size 1; // 语句执行后 size 值为 5使…

深入探索WebGL:解锁网页3D图形的无限可能

深入探索WebGL:解锁网页3D图形的无限可能 引言 。WebGL,作为这一变革中的重要技术,正以其强大的功能和广泛的应用前景,吸引着越来越多的开发者和设计师的关注。本文将深入剖析WebGL的核心原理、关键技术、实践应用,并…

Python +Anaconda,DeepSeeK API入门小例子

一、环境搭建 1.安装pycharm 、anaconda,deepseek官网申请api key(不会的去百度,申请完了可以充值几块钱,现在官网应该没有免费token可以测试了) 2.anaconda创建虚拟环境 ,打开windows dos界面依次输入 命令:1) con…

股指期货的交易时间是几点到几点?

股指期货是一种金融衍生品,简单来说,就是以股票指数(比如沪深300指数)为标的的期货合约。投资者可以通过买卖这些合约来对冲风险或者投机。它的交易方式和股票有点像,但又有自己的特点。 股指期货的交易时间是什么时候…

推流项目的ffmpeg配置和流程重点总结一下

ffmpeg的初始化配置,在合成工作都是根据这个ffmpeg的配置来做的,是和成ts流还是flv,是推动远端还是保存到本地, FFmpeg 的核心数据结构,负责协调编码、封装和写入操作。它相当于推流的“总指挥”。 先来看一下ffmpeg的…

数字电子技术基础(二十四)——TTL门电路的高、低电平的输出特性曲线

目录 1 TTL门电路的特性曲线 1.1 高电平输出特性 1.1.2 高电平输出特性的实验过程 1.1.2 TTL门电路的输出特性的实验结果 1.2 低电平的输出特性 1 TTL门电路的特性曲线 1.1 高电平输出特性 1.1.2 高电平输出特性的实验过程 现在想要测试TTL门电路的输出特性&#xff0c…

盛铂科技SCP4000射频微波功率计与SPP5000系列脉冲峰值 USB功率计 区别

在射频(RF)和微波测试领域,快速、精准的功率测量是确保通信系统、雷达、卫星设备等高性能运行的核心需求。无论是连续波(CW)信号的稳定性测试,还是脉冲信号的瞬态功率分析,工程师都需要轻量化、…

GCC RISCV 后端 -- cc1 入口

GCC编译工具链中的 gcc 可执行程序,实际上是个驱动程序(Driver),其根据输入的参数,然后调用其它不同的程序,对输入文件进行处理,包括编译、链接等。可以通过以下命令查看: gcc -v h…

C++第二十讲:C++11

C第二十讲:C11 1.列表初始化1.1C98时的{}初始化1.2C11的新规{}初始化1.3initializer_list初始化 2.右值引用和移动语义2.1右值引用2.1.1左值和右值2.1.2左值引用和右值引用2.1.3引用延长声明周期2.1.4左值和右值的参数匹配 2.2右值引用和移动语义的使用2.2.1移动构造…