[[PageOutline]] [=#gpu] == GPU - Graphics Processing Unit The IMX6 contains 2D and 3D GPU support from Vivante with some variations based on the specific IMX SoC: * IMX6DUAL/QUAD: - Vivante GC2000 (3D GPU) * Clock: 600-800MHz (the IMX6 clocks this at 533MHz) * 176Mtri/s * 1000Mpxl/s * OpenGL ES 1.1/2.0/3.0 * OpenCL 1.1 EP * Cores: 1 * Shaders: 4 (Vec-4) and 16 (Vec-1) - Vivante GC355 (2D GPU - vector graphics) * 300Mpxl/s * OpenVG 1.1 - Vivante GC320 (2D GPU - blit) * 600Mpxl/s * IMX6DUALLITE/SOLO: - Vivante GC880 GPU * Clock: 600-800MHz (the IMX6 clocks this at 400MHz) * 53Mtri/s * 266Mpxl/s * OpenGL ES 1.1/2.0/3.0 * Cores: 1 * Shaders: 1 (Vec-4) and 4 (Vec-1) * OpenVG 1.1 (no GC320 on this SoC, so 2D vector graphics is through the GC880) - Vivante GC320 (2D GPU - blit) * 600Mpxl/s According to Freescale this GPU supports the following open standards: * OpenCL 1.1 Embedded Profile (EP) (Open Computing Language - framework for writing programs that execute across a heterogeneous platform consisting of CPUs, GPUs, DSPs, etc) * OpenGL ES 1.1/2.0 (Open Graphics Library - for 2D and 3D vector graphics) * OpenVG 1.1 (Vector Graphics Acceleration) Software Support: * Yocto BSP packages: - gpu-viv-bin-mx6q - xf86-video-imxfb-vivante - accelerated X11 server using the GPU * Documentation: - Yocto v1.3 - i.MX_6_G2D API.pdf (from the Freescale i.MX6 LTIB L3.0.35_1.0.0-GA BSP release which you must download from Freescale) - Yocto v1.6 / v1.7 - i.MX_6_G2D_API_User's_Guide.pdf (from the Freescale i.MX6 Yocto L3.10.17_1.0.0-GA BSP release which you must download from Freescale) - Yocto master - i.MX_6_Graphics_User's_Guide.pdf (from the Freescale i.MX6 Yocto L3.10.53_1.1.0-GA BSP release which you must download from Freescale) - Android JB4.3 - i.MX_6_G2D_API_User_Guide.pdf (from the Freescale i.MX6 Android JB4.3_1.1.0-GA BSP release which you must download from Freescale) - Android KK4.4.3 - i.MX_6_Graphics_User's_Guide.pdf (from the Freescale i.MX6 Android KK4.4.3_2.0.0-GA BSP release which you must download from Freescale)