Vivante GCNANO GPU overview
目录
Introduction
The STMicroelectronics STM32MP1 platform have an OpenGLES hw IP based on the Vivante Gcnano GPU.
You can find more information here on the Vivante GCNANO web pages [1][2]
Features
Supported open standards
The Vivante Gcnano GPU is compatible with the following Khronos's open standards 3D graphics [3]:
- OpenGLES 2.0
- OpenGLES 1.1
- OpenVG 1.1
- EGL 1.4
Vivante Gcnano GPU configuration
- Core Clock 264MHz
- Shader Clock 264MHz
- Pixel Rate 264 MPixel/sec
- Triangle Rate 26.4 M tri/sec
- Vertex rate 66 M vtx/sec
- 1 shader core (Vec 4)
- 2.112 GFLOPS shader
GPU softwares
![GPU software structure.png](/images/d/dc/GPU_software_structure.png)
Vivante Gcnano GPU userland libraries
excepted if customers signed a NDA with Vivante (please contact Vivante if you need these library source codes). The Gcnano libraries (userland) are:
- OpenGLES 1.1 library
- OpenGLES 2.0 library
- EGL 1.4 library
- gbm library
- GAL library
- GLSLC and VSC libraries
- VDK library
Vivante Gcnano kernel driver
Source code is available for all customers in all OpenSTLinux baselines.
To access source code:
devtool modify gcnano-driver-stm32mp
Source code is then downloaded here:
- <your_view>/build*/workspace/sources/gcnano-driver-stm32mp
Refer to OpenEmbedded - devtool to know more about devtool.
Additional information
- STMicroelectronics provides debug Vivante Gcnano libraries according to any baseline version, allowing customers to debug/analyze their applications with the Vivante Tool Kit (VTK). Please have a look to the article 如何使用VTK调试Gcnano GPU for more details.
Useful links
- Vivante website: http://www.vivantecorp.com/
EGL
Supported EGL backend
From VIVANTE_GAL3D_Unified_Src_drv_6.1.x, Vivante delivery, Vivante Gcnano libraries support both DRM/GBM and Wayland backends.
Refer to EGL backends article for details.
EGL texture 0-copy
Gcnano supports the EGL texture 0-copy extension.
EGL texture 0-copy extension allows an EGL application to share a texture buffer with the GPU by avoiding to copy the texture from application to the GPU.
Refer to EGL texture 0-copy article for more details.
Graphic Benchmarks
Please refer to the How to test and benchmark OpenGLES article.