【Super Spark】RVA 渲染引擎 — K3 上 Persistent Map 零拷贝渲染管线

项目名称

RVA渲染引擎

子功能模块:Persistent Map Staging Buffer — 离屏渲染 → AI 推理 → 硬件编码的零拷贝数据桥接

基于 K3 的应用场景

在 K3 平台构建 AI 增强渲染管线:

text

Vulkan 离屏渲染 (低分辨率) → AI 超分推理 → 颜色格式转换 → 视频编码

项目运行环境

项目 规格
硬件 SpacemiT Key Stone K3 (Pico ITX)
GPU PowerVR B-Series BXM-4-64 MC1
AI 8× A100, 60 TOPS
系统 Bianbu 4.0.1
开发语言 C++17

核心功能说明

背景

PowerVR TBDR 的 tiled 格式渲染纹理无法被 CPU 直接读取,需要 GPU detile 后才能访问。标准方案中每帧 map/unmap 带来额外开销。

Persistent Map 方案

核心思路 :全帧复用,消除每帧 2 次 API 调用开销。

主要特性

  • :white_check_mark: 零 CPU 内存拷贝(数据直接送达编码器/AI推理)
  • :white_check_mark: 多线程异步读回(per-slot future)
  • :white_check_mark: 配合 UMA 内存策略自适应

运行截图 / Demo 视频 / 代码仓库

b站视频嵌入代码

当前进展和后续计划

当前进展

  • :white_check_mark: Persistent Map 方案稳定运行
  • :white_check_mark: 多线程异步渲染管线
  • :white_check_mark: V2D 硬件验证完成
  • :warning: DMA-BUF 驱动接口调试中

后续计划

目标:端到端零拷贝管线

text

Vulkan 渲染 → DMA-BUF 导出 → V2D 格式转换 → VPU 硬件编码

  • 当前状态:代码框架已完成,等待驱动接口完善
  • 预计性能:>50 FPS(全硬件零拷贝路径)
1 个赞

代码仓库能贴一下吗