当前位置: 首页 > news >正文

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 处理后输出到屏幕。

相关文章:

  • ESP32S3读取数字麦克风INMP441的音频数据
  • 尚庭公寓项目记录
  • el-tree右键节点动态位置展示菜单;el-tree的节点图片动态根据节点属性color改变背景色;加遮罩层(opacity)
  • 数据挖掘校招面经一
  • 算法比赛中处理输入和输出
  • rabbitmq版本升级并部署高可用
  • JDBC、MyBatis 、MyBatis-Plus面试总结(一)
  • 【第14节】C++设计模式(行为模式)-Strategy (策略)模式
  • Spring Boot WebFlux 中 WebSocket 生命周期解析
  • 小程序分类页面
  • 字符串(三)14. 最长公共前缀 简单
  • 计算机网络面试题
  • ‌CentOS 7.9 安装 Docker 步骤
  • 带你从入门到精通——自然语言处理(五. 自注意力机制和transformer的输入部分)
  • C++第二节:C/C++内存管理
  • Mysql convert函数、convert用法、字符串转数字、字符串转日期、类型转换函数
  • 探索C/C++的奥秘之list
  • 第十三届青蓝桥杯青少年Scratch省赛真题——报数游戏
  • smplx 和smpl转换
  • NUMA架构介绍
  • 做网站的网站/2023广东又开始疫情了吗
  • 网站建设太原/网站建设是什么
  • 聊城wap网站制作/现在搜什么关键词能搜到网站
  • 教育培训的网站建设/app推广工作靠谱吗
  • 网站搭建软件/百度首页广告
  • 做视频赚钱的网站/整站优化关键词推广