linux graphics

18
Linux Graphics 邹邹邹

Upload: murphy-rice

Post on 31-Dec-2015

55 views

Category:

Documents


0 download

DESCRIPTION

Linux Graphics. 邹南海. X 架构. 现代显卡的功能. 显示管理 显存管理 2D 功能 3D 流程 视频功能. CPU. 视频. 2D blit. 3D. 显存. 显示设备. 显示设备特性. VGA HDMI DisplayPort LVDS TV out DVI EDID. ModeSetting. 显示模式管理 中断处理和 page flipping KMS 介绍. 显存管理. 显存的作用 Frame Buffer 贴图 (texture) State GPU 的可执行指令 (shader) 其他. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Linux Graphics

Linux Graphics

邹南海

Page 2: Linux Graphics

X 架构

Page 3: Linux Graphics

现代显卡的功能• 显示管理• 显存管理• 2D 功能• 3D 流程• 视频功能

CPU

显示设备

显存

2D blit 3D

视频

Page 4: Linux Graphics

显示设备特性• VGA

• HDMI

• DisplayPort

• LVDS

• TV out

• DVI

• EDID

Page 5: Linux Graphics

ModeSetting

• 显示模式管理• 中断处理和 page flipping

• KMS 介绍

Page 6: Linux Graphics

显存管理• 显存的作用• Frame Buffer

• 贴图 (texture)

• State

• GPU 的可执行指令 (shader)

• 其他

Page 7: Linux Graphics

DRI

Page 8: Linux Graphics

2D 加速的实现• 现有加速接口 xaa, exa 和 uxa

Page 9: Linux Graphics

3D 加速的实现• OpenGL 流水线介绍• 如何映射到硬件上• 如何和窗口系统交互• 高级特性 GLSL WebGL

• 嵌入式相关 OpenGL ES 和 egl

Page 10: Linux Graphics

视频编解码• 视频解码的流水线• 视频编码的流水线• Libva 介绍• 现有 Linux 下视频方案• 发展方向

Page 11: Linux Graphics

传统架构优点• Client server 模式 , 方便远程渲染• 所有和硬件打交道都在 Xserver, 方便安全

管理

Page 12: Linux Graphics

传统架构缺点• Client Server 模式有开销不适合硬件加速• 操作在 Server 端线性完成 , 不能体现现代

硬件的多种加速功能• 渲染数据流不适合现代显卡的流水线

Page 13: Linux Graphics

其他的架构• Wayland graphics stack 介绍

Page 14: Linux Graphics

针对嵌入系统的优化• 内存使用优化

– 缩小 frame buffer 位色– Non-power-of-2 贴图– 使用压缩贴图--

Page 15: Linux Graphics

针对嵌入系统的优化• 性能优化

• 避免从显存回读• 避免驱动里的 cpu fallback• Texture tiling• 并行 CPU 和 GPU

Page 16: Linux Graphics

针对嵌入系统的优化• 耗电优化

- 背光亮度- 减少内存刷新 ,

- GPU C state P state

-

Page 17: Linux Graphics

其他优化• 抗锯齿• 防撕裂

Page 18: Linux Graphics

问题