Vivante GCNANO GPU overview

Revision as of 09:47, 12 January 2021 by Registered User
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)







1. Introduction[edit source]

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]

2. Features[edit source]

2.1. Supported open standards[edit source]

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

2.2. Vivante Gcnano GPU configuration[edit source]

  • 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

3. GPU softwares[edit source]

GPU software structure.png

3.1. Vivante Gcnano GPU userland libraries[edit source]

Source code is NOT available for customers, 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

3.2. Vivante Gcnano kernel driver[edit source]

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.

3.3. Additional information[edit source]

  • 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 How to debug the Gcnano GPU with VTK for more details.

4. Useful links[edit source]

5. EGL[edit source]

5.1. Supported EGL backend[edit source]

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.

5.2. EGL texture 0-copy[edit source]

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.

6. Graphic Benchmarks[edit source]

Please refer to the How to test and benchmark OpenGLES article.

7. Debugging[edit source]

Please have a look to following articles:

8. References[edit source]