I.MX 6 Graphics User's Guide User’s
User Manual:
Open the PDF directly: View PDF
Page Count: 150 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Chapter 1 Introduction
- Chapter 2 i.MX 6 G2D API
- Chapter 3 i.MX 6 EGL and OGL Extension Support
- Chapter 4 i.MX 6 Framebuffer API
- Chapter 5 OpenCL
- 5.1 Overview
- 5.2 Vivante OpenCL Implementation
- 5.3 Optimization for OpenCL Embedded Profile
- 5.3.1 Use preferred multiple of work-group size
- 5.3.2 Use multiple work-groups of reduced size
- 5.3.3 Pack work-item data
- 5.3.4 Improve locality
- 5.3.5 Minimize use of 1KB local memory
- 5.3.6 Use 16 Byte Memory Read/Write size
- 5.3.7 Use _RTZ rounding mode
- 5.3.8 Use native functions
- 5.3.9 Use Buffers instead of Images
- 5.4 OpenCL Debug Messages
- Chapter 6 Freescale XServer Video Driver
- Chapter 7 Vivante Software Tool Kit
- 7.1 Vivante Tool Kit overview
- 7.2 vEmulator
- 7.2.1 Supported operating systems and graphics hardware
- 7.2.2 vEmulator components
- 7.2.3 vEmulator for OpenCL
- 7.2.4 Supported extensions
- 7.2.5 vEmulator environment variable setup
- 7.2.6 Sample code overview
- 7.2.7 Building and running the code examples
- 7.2.8 OpenGL ES 1.1 examples
- 7.2.8.1 Tutorial1: rotating three-color triangle
- 7.2.8.2 Tutorial2: rotating six-color cube
- 7.2.8.3 Tutorial3: rotating multi-textured cube
- 7.2.8.4 Tutorial4: lighting and fog
- 7.2.8.5 Tutorial5: blending and bit-mapped fonts
- 7.2.8.6 Tutorial6: particles using point sprites
- 7.2.8.7 Tutorial7: vertex buffer objects
- 7.2.9 OpenGL ES 2.0 examples
- 7.3 vShader
- 7.4 vCompiler
- 7.5 vTexture
- 7.6 vProfiler and vAnalyzer
- 7.6.1 Fundamentals of performance optimization
- 7.6.2 vProfiler setup for the Linux OS
- 7.6.3 vProfiler setup for the Android platform
- 7.6.4 vProfiler collecting performance data
- 7.6.5 vAnalyzer viewing and analyzing a run-time profile
- 7.6.6 vAnalyzer charts
- 7.6.7 vAnalyzer viewers
- 7.7 vTracer
- 7.8 vPlayer
- 7.9 Debug and performance counters
- Chapter 8 Freescale GPU Tools
- Chapter 9 GPU Memory Introduction
- Chapter 10 Application Programming Recommendations
- 10.1 Understand the system configuration and target application
- 10.2 Optimize off chip data transfer such as accessing off-chip DDR memory/mobile DDR memory
- 10.3 Avoid random cache or memory accesses
- 10.4 Optimize your use of system memory
- 10.5 Target a fixed frame rate that is visibly smooth
- 10.6 Minimize GL state changes
- 10.7 Batch primitives to minimize the number of draw calls
- 10.8 Perform calculations per vertex instead of per fragment/pixel
- 10.9 Enable early-Z, hierarchical-Z and back face culling
- 10.10 Use branching carefully
- 10.11 Do not use static or stack data as vertex data - use VBOs instead
- 10.12 Use dynamic VBO if data is changing frame by frame
- 10.13 Tessellate your data so that Hierarchical Z (HZ) can do its job
- 10.14 Use dynamic textures as a texture cache (texture atlas)
- 10.15 If you use many small triangle strips, stitch them together
- 10.16 Specify EGL configuration attributes precisely
- 10.17 Use aligned texture/render buffers
- 10.18 Disable MSAA rendering unless high quality is needed
- 10.19 Avoid partial clears
- 10.20 Avoid mask operations
- 10.21 Use MIPMAP textures
- 10.22 Use compressed textures if constricted by RAM/ROM budget
- 10.23 Draw objects from near to far if possible
- 10.24 Avoid indexed triangle strips.
- 10.25 Vertex attribute stride should not be larger than 256 bytes
- 10.26 Avoid binding buffers to mixed index/vertex array
- 10.27 Avoid using CPU to update texture/buffer contexts during render
- 10.28 Avoid frequent context switching
- 10.29 Optimize resources within a shader
- 10.30 Avoid using glScissor Clear for small regions
- Chapter 11 Demo Framework
- 11.1 Summaries
- 11.2 Introduction
- 11.3 Design overview
- 11.4 High level overview
- 11.5 Demo application details
- 11.6 Helper Class Overview
- 11.7 Android SDK+NDK on Windows OS build guide
- 11.8 Ubuntu build guide
- 11.9 Windows OS build guide
- 11.10 Yocto build guide
- 11.11 FslContentSync.py notes
- 11.12 Roadmap – Upcoming features
- 11.13 Known limitations