Android Graphics SDK Getting Started Guide

From Texas Instruments Wiki
Jump to: navigation, search

Content is no longer maintained and is being kept for reference only!



Introduction to the Graphics Engine

Content is no longer maintained and is being kept for reference only!



TI SOCs are enabled with 3D cores, capable of accelerating 3D operations with dedicated hardware. The dedicated hardware is based on SGX series of devices from Imagination Technologies. The graphics cores only accelerate graphics operations, and do not perform video decode operations. For video acceleration, refer to respective Technical Reference Manuals for the SOCs.

The APIs that are accelerated with this hardware are,

- OpenGL ES1.1

- OpenGL ES2.0

- OpenVG

In order to program and use the Graphics Engine, one of the above APIs need to be used. The APIs can be used to create standalone applications, but is typically used as a back-end to accelerate various higher level application frameworks like Android, Qt, Silverlight, Flash10. The enablers for these frameworks are described in more detail in next sections.

TI provides a Graphics SDK, that comes with drivers and example code for developing software based on the OpenGL-ES/VG APIs. This page discusses the software aspects of programming the 3D hardware, using the Graphics SDK.

Overview

AM35x and OMAP35x Graphics SDK GSG Overview introduces the user to the AM35x and OMAP35x Graphics SDK package along with the information on how to get further software updates on the AM35x and OMAP35x Graphics SDK. The SDK also includes support for AM/DM37x and TI816x/389x and TI814x/387x families.

OMAP35x Graphics SDK GSG Overview introduces the user to the OMAP35x Graphics SDK package along with the information on how to get further software updates on the OMAP35x Graphics SDK.

Below table lists the various TI families supported by this SDK, and the SGX core information


TI System on Chips, and SGX cores
TI SOC Name SGX Core SGX Core Revision SDK folder suffix Max SGX Core Frequency (MHz)
OMAP35xx, AM35xx Rev.2.0 SGX530 1.0.3 es2.x 110
OMAP35xx, AM35xx Rev.3.1 SGX530 1.2.1 es3.x 110
AM37xx, DM37xx SGX530 1.2.5 es5.x 200
AM387x, C6A814x SGX530 1.2.5 es6.x 200
AM389x, C6A816x SGX530 1.2.5 es6.x 333

Use the procedure in below link

http://processors.wiki.ti.com/index.php/GSG:_AM35x_and_OMAP35x_Rebuilding_the_Software#How_to_check_for_SGX_core_revision

to determine the right version to install at run time.

Download Information for TI SGX Graphics SDK

The latest Linux Graphics SDK can be downloaded from the below link. The download does not require any registration.

http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html


The latest Android Graphics SDK can be downloaded from the below project pages.

http://code.google.com/p/rowboat/ (or) Directly via git, using

git clone git://gitorious.org/rowboat/ti_android_sgx_sdk.git TI_Android_SGX_SDK

Android release 4.04.00.01 is in https://gitorious.org/rowboat/hardware-ti-sgx/trees/ti_sgx_sdk-ddk_1.7 and can be downloaded with

git clone --branch ti_sgx_sdk-ddk_1.7 git://gitorious.org/rowboat/hardware-ti-sgx.git TI_Android_SGX_SDK

AM35x EVM/OMAP35x DVEVM and 387x/389x EVM Software Setup for Graphics SDK

AM35x and OMAP35x DVEVM Software Setup for Graphics SDK (Version 3.01 and beyond) describes the host platform requirements as well as the installation dependencies and procedures for getting started with the development on AM35x/OMAP35x/387x/389x Graphics SDK (Version 3.01)

OMAP35x DVEVM Software Setup for Graphics SDK (Version 3.00) describes the host platform requirements as well as the installation dependencies and procedures for getting started with the development on Graphics SDK (Version 3.00)

Rebuilding the Software

AM35x and OMAP35x Graphics SDK (Version 3.01 and beyond) SW Rebuild Procedure describes how to rebuild various components within the OMAP35x/37x/387x(814x)/389x(816x)Graphics SDK (Version 3.01) package.

OMAP35x Graphics SDK (Version 3.00) SW Rebuild Procedure describes how to rebuild various components within the OMAP35x Graphics SDK (Version 3.00) package.

Executing the Graphics SDK Demonstration Software

AM35x and OMAP35x Graphics SDK (Version 3.01)Demo Execution describes how to run the graphics demos provided with the AM35x/OMAP35x/AM37x/387x(814x)/389x(816x) Graphics SDK (Version 3.01).

OMAP35x Graphics SDK (Version 3.00) Demo Execution describes how to run the graphics demos provided with the OMAP35x Graphics SDK (Version 3.00)

Additional Procedures

GSG: AM35x and OMAP35x Graphics SDK (Version 3.01) Additional Procedures covers the following useful procedures that are not necessarily part of the getting started process.

Switching Using the PIXMAP surface for Drawing
Switching between FrontEGL and FlipEGL Modes
Switching the display output from LCD to DVI
Testing the support for ARGB8888 in Frame Buffer Driver

GSG: OMAP35x Graphics SDK Additional Procedures covers the following useful procedures that are not necessarily part of the getting started process.

Switching between FrontEGL and FlipEGL Modes
Switching the display output from LCD to DVI
Testing the support for ARGB8888 in Frame Buffer Driver


Integration into other frameworks

Framework Integration Information
Sl. No Framework Integration Link Comments
1 [| "Building Qt" link] Covers aspects of building Qt framework in such a way as to integrate SGX driver as a Qt plugin.
2 [| "Meego Integration" link] covers aspects of how to use the latest OMAP3 Graphics SDK with Meego on 2.6 kernel, using standard rootfs from Beagleboard. This works on both Beagleboard and OMAP3 EVM
3 [| OE powervr tree] Has the OpenEmbedded recipes for the SGX drivers, and is the basis for integration into Qt/e/X built from OE distribution.
4 [| WinCE Graphics wiki] Has information on WinCE PowerVR SDK for TI processor family
5 [| Flash10 Graphics Package] Page has information on Flash10 Graphics plugin that uses OpenGLES2 and other Graphics acceleration packages
6 [| BeagleBox Graphics Driver Integration] Has steps on building Graphics Drivers with BeagleBox

Performance Analysis and Example Codes

[| "Xgxperf" link] provides a toolkit for performance analysis and benchmarking, along with example code for real world use-cases. This is based on Qt.

Debugging SGX Issues

[| "SGXDbg" link] provides step-by-step instructions for debugging SGX driver issues.

Additional information

The following pages provide additional information that applies to a variety of platforms, including the OMAP35x:

  • OMAP35x Graphics SDK Known Issues and Limitations lists issues related to the Graphics SDK software till 3.01.00.01 Graphics SDK version.For releases after 3.01.00.01 Graphics SDK version please refer release notes.
  • For users who are on on the EZSDK 5.00.00.56 release and would like to update to the latest graphics SDK release 04.03.00.02 in their current EZSDK setup/installation, please go through the instructions provided in below link for more details


http://processors.wiki.ti.com/index.php/Upgrading_Graphics_SDK_in_EZSDK

Release Notes

  • Release notes for all Linux Graphics SDK releases are maintained in this page.
  • Release notes for all Android Graphics SDK releases are maintained in this page.