Vivante GCNANO GPU overview

来自百问网嵌入式Linux wiki
Wiki讨论 | 贡献2020年11月10日 (二) 09:39的版本




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

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

<securetransclude src="ProtectedTemplate:ReviewsComments" params="PCO (W803) : This link is not at all useful : ( I think we can remove this chapter"></securetransclude>{{#set:Has reviews comments=true}}

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.

Debugging

Please have a look to following articles: