Vivante GPU简介
来源:互联网 发布:云盘 php源码 编辑:程序博客网 时间:2024/06/04 19:42
目录
1. IMX6Q中Vivante GPU简介 1
1.1 IMX6Q中GPU型号 1
1.2 Vivante GC2000硬件架构 1
2. Vivante GPU使用的图形API简介 2
2.1 OpenGL ES 2
2.2 EGL 2
2.3 Vivante GPU软件框架 3
IMX6Q中Vivante GPU简介
IMX6Q中GPU型号
在imx6q中有3个vivante的GPU,分别是GC2000、GC320、GC355。GC2000负责3D图形的加速,GC320负责2D图形的加速,GC355负责矢量图形的加速。如图 11所示:
图 11 Vivante GPU简介
Vivante GC2000硬件架构
图 12 GC2000硬件架构
图 12表示的是GC2000 GPU的硬件架构,各模块的具体作用如下:
Host Interface:GPU和CPU还有内存通讯的接口。
Memory Controller:GPU内存控制器。
Graphics Pipeline Front End:相当于GPU内部的DMA,用于从内存中取指令和数据给GPU处理。
Ultra-threaded Unifed Shader:统一着色器,即可用作顶点着色器(vertex shader)也能用作片元着色器(fragment shader)。用作vertex shader时主要负责几何变换和光照计算,用作fragment shader时主要负责处理贴图数据和计算像素颜色。
3D Rendering Engine:负责将三角形和线段转换为像素(光栅化),计算三角形面的颜色属性等。
Texture Engine:用于材质贴图的处理。
Pixel Engine/Resolve:负责像素透明处理,可见平面的测定和抗锯齿的一些处理,并将GPU处理完成的图像数据输出到frambuffer。
Vivante GPU使用的图形API简介
OpenGL ES
OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了四边形、多边形等复杂图元等许多非绝对必要的特性。OpenGL ES 1.x 针对固定pipeline硬件,OpenGL ES 2.x 针对可编程pipeline硬件。
EGL
OpenGL是一个操作GPU的API,它通过驱动向GPU发送相关指令,控制pipeline状态机的运行状态。但OpenGL需要与本地视窗系统进行交互,这就需要一个中间控制层,最好与平台无关,EGL因此被独立的设计出来,它作为OpenGL ES和本地窗口的桥梁。
EGL API 是独立于OpenGL ES各版本标准的独立API ,其主要作用是为OpenGL指令创建 Context 、绘制目标Surface 、配置Framebuffer属性、Swap提交绘制结果等。此外,EGL为GPU厂商和OS窗口系统之间提供了一个标准配置接口。一般来说,OpenGL ES中pipeline的状态被存储于EGL管理的一个Context中。而Frame Buffers 和其他绘制Surfaces 通过EGL API进行创建、管理和销毁。 EGL 同时也控制和提供了对设备显示和可能的设备渲染配置的访问。
图 21为一个典型的EGL系统布局。应用程序通过调用EGL API进行window、surface、context的初始化,接着通过调用OpenGL ES的API进行设置context等,最后调用GPU渲染API进行渲染。
图 21 典型EGL系统布局
Vivante GPU软件框架
图 22表示的是Vivante GPU的软件框架。GAL Driver是为了降低跨平台(操作系统,硬件平台)移植的难度而设计的一套API,包括用户层驱动:主要提供GAL API给开发者使用;内核层驱动:主要负责管理对GPU硬件的操作。
在实际使用中,图中的EGL、OpenGL ES等图形库以动态库形式被使用,用户层的GAL Driver也以动态库形式被使用,内核层的GAL Driver以内核模块驱动形式被使用。
图 22 Vivante GPU框架
销售与服务网络
北京翼辉信息技术有限公司
地址:北京市海淀区中关村软件园二期华胜天成大厦3F
电话:010-56082458
传真:010-56082457
邮箱:acoinfo@acoinfo.com
南京翼辉信息技术有限公司
地址:南京市雨花台区软件大道180号大数据产业基地7幢6楼
电话:025-83127300
传真:025-83127399
邮箱:nanjing@acoinfo.com
请您用以上方式联系我们,我们会为您安排产品现场演示,感谢您对我公司产品的关注!
- Vivante GPU简介
- Vivante GPU简介
- GPU简介
- gpu简介
- gpu 编程简介
- ARM GPU 架构简介
- GPU/DRM 简介
- ARM GPU 架构简介
- ARM GPU 架构简介
- ARM GPU 架构简介
- GPU/DRM 简介
- GPU/DRM 简介
- ARM GPU 架构简介
- ARM GPU 架构简介
- GPU编程入门简介
- GPU/DRM 简介
- ARM GPU 架构简介
- gpu 编程简介
- CNTK API文档翻译(2)——逻辑回归
- HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误
- 理解LIBSVM: A Library for Support Vector Machines
- 浅析Spring 的aop实现原理
- (二)MySql基础之约束
- Vivante GPU简介
- 【LeetCode】38.Combination Sum
- Vivante GPU简介
- java程序员的python之路(数据类型)
- 基于Dubbo的动态远程调用
- JAVA微信公众号开发
- (三)MySql基础之视图
- (五)MySql基础之表增删改操作
- Android View动画初步应用