Introduction
The VGLite Graphics API (Application Programming Interface) is designed to support 2D vector and 2D raster-based operations for rendering the interactive user interface that may include menus, fonts, curves, and images. The goal is to provide the maximum 2D vector/raster rendering performance, while keeping the memory footprint to the minimum.
Note: This document contains proprietary information of VeriSilicon Holdings Co., Ltd, and Vivante Corporation.
VGLite Graphics API
The Vivante VGLite Graphics API is used to control the Vivante vector graphics hardware units that provide accelerated vector and raster operations.
The Vivante VGLite API is developed for use with Vivante GCNanoLiteV, GCNanoUltraV, GCNanoV, GC355, and GC555 hardware. GC355 and GC555 support the Khronos OpenVG 1.1 feature set, while GCNanoLiteV, GCNanoUltraV and GCNanoV have a feature set smaller than that required to pass Khronos OpenVG CTS.
The VGLite API driver V4 is a new design and implementation of the driver (from 2023Q1) to support the new generation 2.5D GPU (GC555), and the previous 2.5D GPU releases (GC255, GC265, GC355). The new V4 driver supports the new and improved VGLite API (version 3.0) and can generate the most CPU-efficient, customized driver build for a specific 2.5D GPU release based on the hardware feature set.
VGLite API supported features include: Porter-Duff Blending, Gradient Controls, Fast Clear, Arbitrary Rotations, Path Filling rules, Path painting, and Pattern Path Filling.
By default, VGLite API driver V4 supports one implicit global application context in a single thread. VGLite V4 driver does not support multithreaded applications, which is not suitable for embedded IoT devices.
Parent topic:Introduction
API function group
The VGLite Graphics API has been designed to have independent function groups. It is permissible for a user to use only one of the function groups in the VGLite application:
Initialization is used for initializing hardware and software structures
Blit API is used for the raster part of rendering
Draw API is used for 2D vector-based draw operations
Parent topic:Introduction
API files
The VGLite source code is available as part of the NXP MCUXpresso SDK:
The VGLite graphics API functions are defined in the header file VGLite/inc/vg_lite.h
.
All VGLite enumerations and data types are defined in VGLite/inc/vg_lite.h
.
Parent topic:Introduction
Hardware versions
The Vivante VGLite API is compatible with a range of Vivante Vector Graphics IPs including: GCNanoLiteV, GCNanoUltraV, GCNanoV, GC355, and GC555.
Note: A specific hardware version has customized feature set that may limit hardware support for some VGLite API options. The VGLite application can use the vg_lite_query_feature
API to query specific VGLite feature availability.
Users can also check the VGLite/VGLite/vg_lite_options.h
file which includes CHIPID, REVISION, CID to identify specific HW releases, and the gcFEATURE_VG_*
macros to define the feature set for the HW release.
The gcFEATURE_VG_* macro values (except a few SW features) should NOT be changed. Otherwise, the VGLite driver does not function correctly on the specific HW release. Users can change the “SW Features” macro values to disable some software features, unnecessary error checks, or enable VGLite API trace for debug purposes.
.
Parent topic:Introduction