Vivante GPU代码结构简析

Vivante GPU代码结构简析

 Freescale iMx6q 平台使用的 GPU 为 Vivante 系列 GPU 。

1、Vivante 简介
Vivante 是一家总部位于加州森尼韦尔的 GPU 设计公司,中文名称为图芯。
Vivante 系列的 GPU 相对 Mali、adreno、PowerVR 等系列 GPU 来说是非常小众的,但它的效能比是远优于其他 GPU 系列的。

2、Vivante GPU 框架结构

  • GAL Driver    Vivante GPU 驱动核心的部分,它分为 User Domain(用户空间驱动和 Kernel Domain(内核空间驱动)。每个 Domain 里又分为:Hardware Dependent Code(GPU硬件平台相关代码和 Platform Dependent Code(操作系统相关代码
  • OpenGL ES1.1、2.0    GPU 3D\2D 的图形算法库,这些库的内容是和平台无关的。
                                          OpenGL ES1.1 提供了一个标准的固定渲染管线,这个管线为 3D 程序提供了很好的参照;
                                                 OpenGL ES2.0 可自定义顶点和像素计算,可以让表现方式更加准确,相比1.1版本更加灵活。
  • EGL    OpenGL 提供的和平台相关的兼容层,因为 OpenGL ES 本身和平台无关,所以需要 EGL 这层做平台兼容。
  • OpenVG     针对诸如 Flash 和 SVG 矢量图形算法库提供的底层硬件加速应用程序接口 API 。

3、Vivante GPU 代码结构

驱动名称
驱动类型
描述
源码路径
galcore
内核模块
GAL内核空间驱动
projects/hal/os/<OS>kernelprojects/hal/

kernelprojects/arch/
<ARCH>/hal/kernel
libGAL
动态库
GAL用户空间驱动
projects/hal/os/<OS>userprojects/hal/

userprojects/arch/<ARCH>/hal/user

libGLES_CM
动态库
ES1.1Common版本
projects/drivers/openGL/es11
libGLES_CL
动态库
ES1.1Common Lite版本
projects/drivers/openGL/es11
libGLESv2x
动态库
ES2.0 版本
projects/drivers/openGL/libGLESv2x
libOpenVG
动态库
VG1.1版本
projects/drivers/openVG/vg11
libEGL
动态库
EGL1.3版本
projects/drivers/openVG/egl



    • Related Articles

    • SylixOS目前支持3D图形开发

      问:SylixOS 目前支持 3D 图形开发的 GPU 有哪些? 答: GPU型号 厂商 支持平台 支持接口标准 说明 Mali400 ARM 全志T3/T7 OpenGL ES 2.0 T3平台可商用,T7平台全志未提供支持 JM7200 景嘉微 飞腾 OpenGL 1.5 可商用 GC2000 Vivante i.MX6Q OpenGL ES 1.1、2.0 内部研究使用  
    • SylixOS 目前支持几种嵌入式领域常用的图形库

      问:SylixOS 目前支持几种嵌入式领域常用的图形库 答:SylixOS 目前支持的嵌入式领域常用的图形库如下: 名称 说明 Qt 2D 支持Qt4.8.7、Qt5.12.9大部分常用功能组件 Qt 3D 支持Qt4.8.7景嘉微定制版,可搭配JM7200显卡和飞腾2000/4平台开发OpenGL 1.5 3D程序 QD Plus 车载领域使用,可以开发支持OpenGL ES2.0的3D图形程序 TD GUI-Engine 车载领域使用,由蓝星科技适配到SylixOS龙芯2K1000平台 ...
    • SylixOS 目前在全志平台支持一些高级多媒体功能开发

      功能 平台 说明 硬件多图层 T3、T7                            支持4个YUV图层和12个RGB图层                            支持图层大小、位置动态调整等 2D硬件加速 T3、T7                            支持图像缩放、旋转、镜像等 3D图形开发 T3、T7                            支持OpenGL ES 2.0图形开发 图像采集 T3、T7                 ...
    • QT 程序启动加载流程简介

      1. QT应用程序启动加载流程简介 1.1 QWS与QPA启动客户端程序区别 1.1.1 QWS(Qt Window System)介绍 QWS(Qt Windows System)是QT自行开发的窗口系统,体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示,QWS Client实现界面,两者通过socket进行彼此的通讯。在很多嵌入式系统里,QT程序基本上都是用QWS来实现,这样保证程序的可移植性。 在运行QT程序时添加-qws参数,表示这个程序是QWS ...
    • SylixOS 能支持的中间件库有哪些?

      Q:SylixOS 能支持的中间件库有哪些? 分类 名称 简介 版本 说明文档 基础库 libboost Boost 是一个功能强大、构造精巧、跨平台、开源并且完全免费的 C++ 程序库,在 1998 年由 Beman G.Dawes 发起倡议并建立。使用了许多现代 C++ 编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了 C++ 的功能和表现力,能够使 C++ 软件开发更加简洁、优雅、灵活和高效。 Boost ...