Vivante GCNANO GPU overview

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

<securetransclude src="ProtectedTemplate:ReviewsComments" params="GeraldB W844: need to refine the place of this article between GPU internal peripheral, OpenGLES overview, ..."></securetransclude>{{#set:Has reviews comments=true}}

<securetransclude src="ProtectedTemplate:ReviewsComments" params="PCO (W803) : Check with NSA if there is a need to have a short summary, transforming for instance the content of introduction to a summary"></securetransclude>{{#set:Has reviews comments=true}} <securetransclude src="ProtectedTemplate:ReviewsComments" params="PCO (W803) : Check with NSA how to rephrase the sentence "The STMicroelectronics STM32MP1 platform have an OpenGLES hw IP based on the Vivante Gcnano GPU""></securetransclude>{{#set:Has reviews comments=true}}

<securetransclude src="ProtectedTemplate:ReviewsComments" params="PCO (W803) : Please do not use IP, see Contributors:Guidelines_for_article_edition#Preferred terms, concepts and acronyms"></securetransclude>{{#set:Has reviews comments=true}} <securetransclude src="ProtectedTemplate:ReviewsComments" params="PCO (W803) : we have to decide together the best way to write gcnano, on the web site is is "GC Nano"... anyway, we can also avoid as max as possible to use this word : )"></securetransclude>{{#set:Has reviews comments=true}} <securetransclude src="ProtectedTemplate:ReviewsComments" params="PCO (W803) : Please avoid "br", simply add a blank line"></securetransclude>{{#set:Has reviews comments=true}} <securetransclude src="ProtectedTemplate:ReviewsComments" params="PCO (W803) : Open question: We may rename Vivante to VeriSilicon/Vivante... we can check with legals..."></securetransclude>{{#set:Has reviews comments=true}}

Introduction

<securetransclude src="ProtectedTemplate:ReviewsComments" params="GeraldB W844: need to make a link with GPU internal peripheral. If this article is a software overview then it should follow the software framework overview and maybe renamed ?"></securetransclude>{{#set:Has reviews comments=true}} 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

<securetransclude src="ProtectedTemplate:ReviewsComments" params="PCO (W803) : I think we should avoid these figures, we may point to the chipset databrief instead, to be checked how to do that with NSA"></securetransclude>{{#set:Has reviews comments=true}}

  • 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

<securetransclude src="ProtectedTemplate:ReviewsComments" params="PCO (W803) : 800px is maybe not the recommended value, moreover the legend is not the standard ones :)"></securetransclude>{{#set:Has reviews comments=true}}

GPU software structure.png

Vivante Gcnano GPU userland libraries

模板:Orange, excepted if customers signed a NDA with Vivante (please contact Vivante if you need these library source codes). The Gcnano libraries (userland) are: <securetransclude src="ProtectedTemplate:ReviewsComments" params="PCO (W803) : maybe an ls of the file should be better... or maybe we can explain more the goal of each below libraries..."></securetransclude>{{#set:Has reviews comments=true}}

  • 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: