TM IMX 6 G 2 D API Introduction

  • Slides: 9
Download presentation
TM IMX 6 G 2 D API Introduction - Both for Linux and Android

TM IMX 6 G 2 D API Introduction - Both for Linux and Android Xianzhong Li Graphic Team, MPU Sep 2013 Freescale, the Freescale logo, Alti. Vec, C-5, Code. TEST, Code. Warrior, Cold. Fire, C-Ware, the Energy Efficient Solutions logo, mobile. GT, Power. QUICC, Qor. IQ, Star. Core and Symphony are trademarks of Freescale Semiconductor, Inc. , Reg. U. S. Pat. & Tm. Off. Airfast, Bee. Kit, Bee. Stack, Cold. Fire+, Core. Net, Flexis, Kinetis, Magni. V, MXC, Platform in a Package, Processor Expert, Qor. IQ Qonverge, Qorivva, QUICC Engine, Ready Play, SMARTMOS, Turbo. Link, Vorti. Qa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.

What is G 2 D API? G 2 D API is designed for easy

What is G 2 D API? G 2 D API is designed for easy to use graphic 2 D functionality, which is generic and hardware & platform independent. • Supported features list by G 2 D API: - Simple BLT operation from source to destination - Alpha blend for source and destination with Porter-Duff rules - High performance memory copy from source to destination - Up-scaling and down-scaling from source to destination - 90/180/270 degree rotation from source to destination - Horizontal and vertical flip from source to destination - Enhanced visual quality with dither for pixel precision-loss - High performance memory clear for destination - Pixel-level cropping for source surface - Global alpha blend for source only - Asynchronous mode and sync - Contiguous memory allocator - Support VG engine • TM 2 Freescale, the Freescale logo, Alti. Vec, C-5, Code. TEST, Code. Warrior, Cold. Fire, C-Ware, the Energy Efficient Solutions logo, mobile. GT, Power. QUICC, Qor. IQ, Star. Core and Symphony are trademarks of Freescale Semiconductor, Inc. , Reg. U. S. Pat. & Tm. Off. Bee. Kit, Bee. Stack, Cold. Fire+, Core. Net, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, Qor. IQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, Turbo. Link, Vorti. Qa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.

The simplified 2 D APIs • Two key APIs are designed to support the

The simplified 2 D APIs • Two key APIs are designed to support the generic 2 D functionality • g 2 d_blit is used for 2 D BLT operations with optional features(Blend, Rotation, Scaling/Cropping and Dither) • G 2 d_clear is used to clear a destination buffer in specific format and cropping region. TM 3 Freescale, the Freescale logo, Alti. Vec, C-5, Code. TEST, Code. Warrior, Cold. Fire, C-Ware, the Energy Efficient Solutions logo, mobile. GT, Power. QUICC, Qor. IQ, Star. Core and Symphony are trademarks of Freescale Semiconductor, Inc. , Reg. U. S. Pat. & Tm. Off. Bee. Kit, Bee. Stack, Cold. Fire+, Core. Net, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, Qor. IQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, Turbo. Link, Vorti. Qa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.

The auxiliary APIs(Misc) • • Some auxiliary APIs are designed to meet most use

The auxiliary APIs(Misc) • • Some auxiliary APIs are designed to meet most use cases. g 2 d_open/g 2 d_close are used to maintain a specific g 2 d context handle, multiple g 2 d contexts can be created in single or multiple processes. g 2 d_flush/g 2 d_finish are used to make CPU & GPU to work well in parallel mode. g 2 d_alloc/g 2 d_free/ g 2 d_cache_op are used to allocate a contiguous memory with optional cacheable property. g 2 d_enable/g 2 d_disable/g 2 d_query_cap are used for optional 2 D BLT feature(Blend, Dither, etc). g 2 d_copy is an optimized function based on g 2 d_blit for high performance and easy to use. g 2 d_make_current is used to select a GPU hardware back-end, currently GPU 2 D(GC 320) and VG(GC 355) can be available, PXP back-end will be added in future(not available now). Why to select VG? - RGB scaling with VG is much faster than 2 D, - VG is a separate core to work with 2 D in parallel. TM 4 Freescale, the Freescale logo, Alti. Vec, C-5, Code. TEST, Code. Warrior, Cold. Fire, C-Ware, the Energy Efficient Solutions logo, mobile. GT, Power. QUICC, Qor. IQ, Star. Core and Symphony are trademarks of Freescale Semiconductor, Inc. , Reg. U. S. Pat. & Tm. Off. Bee. Kit, Bee. Stack, Cold. Fire+, Core. Net, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, Qor. IQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, Turbo. Link, Vorti. Qa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.

Where to find G 2 D in BSP releases? • G 2 D API

Where to find G 2 D in BSP releases? • G 2 D API document and sample codes are released in Linux/Android BSP • The 1 st G 2 D for Linux is in L 3. 5. 7_alpha - g 2 d header file: /usr/inc/g 2 d. h - g 2 d library: /usr/libg 2 d. so -g 2 d sample test: /opt/fsl-samples/g 2 d -g 2 d sample code: /usr/share/imx-gpu/g 2 d -g 2 d API doc is included in Linux BSP document package • The 1 st G 2 D for Android is in jb 4. 3_1. 0. 0 -beta -g 2 d header file: /device/fsl-proprietary/include/g 2 d. h -g 2 d library: /system/libg 2 d. so -g 2 d sample code: /device/fsl-proprietary/test/g 2 d -g 2 d API doc is included in Android BSP document package TM 5 Freescale, the Freescale logo, Alti. Vec, C-5, Code. TEST, Code. Warrior, Cold. Fire, C-Ware, the Energy Efficient Solutions logo, mobile. GT, Power. QUICC, Qor. IQ, Star. Core and Symphony are trademarks of Freescale Semiconductor, Inc. , Reg. U. S. Pat. & Tm. Off. Bee. Kit, Bee. Stack, Cold. Fire+, Core. Net, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, Qor. IQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, Turbo. Link, Vorti. Qa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.

G 2 D test on i. MX 6 Q BSP • g 2 d_test

G 2 D test on i. MX 6 Q BSP • g 2 d_test is used for conformance and performance test TM 6 Freescale, the Freescale logo, Alti. Vec, C-5, Code. TEST, Code. Warrior, Cold. Fire, C-Ware, the Energy Efficient Solutions logo, mobile. GT, Power. QUICC, Qor. IQ, Star. Core and Symphony are trademarks of Freescale Semiconductor, Inc. , Reg. U. S. Pat. & Tm. Off. Bee. Kit, Bee. Stack, Cold. Fire+, Core. Net, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, Qor. IQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, Turbo. Link, Vorti. Qa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.

G 2 D overlay test on Linux BSP • g 2 d_overay test is

G 2 D overlay test on Linux BSP • g 2 d_overay test is used for multiple yuv blit with global alpha blend TM 7 Freescale, the Freescale logo, Alti. Vec, C-5, Code. TEST, Code. Warrior, Cold. Fire, C-Ware, the Energy Efficient Solutions logo, mobile. GT, Power. QUICC, Qor. IQ, Star. Core and Symphony are trademarks of Freescale Semiconductor, Inc. , Reg. U. S. Pat. & Tm. Off. Bee. Kit, Bee. Stack, Cold. Fire+, Core. Net, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, Qor. IQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, Turbo. Link, Vorti. Qa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.

G 2 D overlay test on Android BSP TM 8 Freescale, the Freescale logo,

G 2 D overlay test on Android BSP TM 8 Freescale, the Freescale logo, Alti. Vec, C-5, Code. TEST, Code. Warrior, Cold. Fire, C-Ware, the Energy Efficient Solutions logo, mobile. GT, Power. QUICC, Qor. IQ, Star. Core and Symphony are trademarks of Freescale Semiconductor, Inc. , Reg. U. S. Pat. & Tm. Off. Bee. Kit, Bee. Stack, Cold. Fire+, Core. Net, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, Qor. IQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, Turbo. Link, Vorti. Qa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.

TM

TM