I.MX Graphics Users Guide Linux

Total Page:16

File Type:pdf, Size:1020Kb

I.MX Graphics Users Guide Linux NXP Semiconductors Document Number: IMXGRAPHICUG Rev. 0, 05/2018 i.MX Graphics User’s Guide Contents Chapter 1 Introduction ............................................................................................................................................. 6 Chapter 2 i.MX G2D API ............................................................................................................................................ 6 2.1 Overview ...................................................................................................................................................... 6 2.2 Enumerations and structures ....................................................................................................................... 6 2.3 G2D function descriptions .......................................................................................................................... 10 2.4 Support of new operating system in G2D .................................................................................................. 16 2.5 Sample code for G2D API usage ................................................................................................................. 16 2.6 Feature list on multiple platforms.............................................................................................................. 19 Chapter 3 i.MX EGL and OGL Extension Support .................................................................................................... 20 3.1 Introduction ............................................................................................................................................... 20 3.2 EGL extension support ............................................................................................................................... 20 3.3 OpenGL ES extension support .................................................................................................................... 23 3.4 Extension GL_VIV_direct_texture .............................................................................................................. 29 3.5 Extension GL_VIV_texture_border_clamp ................................................................................................. 32 Chapter 4 i.MX Framebuffer API ............................................................................................................................ 35 4.1 Overview .................................................................................................................................................... 35 4.2 API data types and environment variables ................................................................................................ 35 4.3 API description and syntax ......................................................................................................................... 37 Chapter 5 OpenCL ................................................................................................................................................... 44 5.1 Overview .................................................................................................................................................... 44 5.2 Vivante OpenCL implementation ............................................................................................................... 51 5.3 Optimization for OpenCL embedded profile .............................................................................................. 53 5.4 OpenCL Debug messages ........................................................................................................................... 56 Chapter 6 OpenVX Introduction ............................................................................................................................. 58 6.1 Overview .................................................................................................................................................... 58 6.2 Designing framework of OpenVX ............................................................................................................... 58 6.3 OpenVX extension implementation ........................................................................................................... 60 6.4 OpenCL functions compatible with Vivante vision..................................................................................... 63 Chapter 7 Vulkan .................................................................................................................................................... 66 7.1 OverView .................................................................................................................................................... 66 7.2 Vivante Extension Support for Vulkan ....................................................................................................... 66 Chapter 8 Multiple GPUs and Virtualization........................................................................................................... 68 8.1 Overview .................................................................................................................................................... 68 8.2 Multi-GPU configurations .......................................................................................................................... 68 8.3 GPU affinity configuration .......................................................................................................................... 68 i.MX Graphics User’s Guide, Rev. 0, 05/2018 2 NXP Semiconductors 8.4 OpenCL on multi-GPU device ..................................................................................................................... 68 8.5 GPU virtualization configuration ................................................................................................................ 69 Chapter 9 G2D compositor on Weston .................................................................................................................. 70 9.1 Overview .................................................................................................................................................... 70 9.2 Enabe G2D compositor .............................................................................................................................. 70 Chapter 10 XServer Video Driver ......................................................................................................................... 71 10.1 EXA driver ................................................................................................................................................... 71 10.2 XRandR ....................................................................................................................................................... 72 Chapter 11 Advanced GPU Configuration ............................................................................................................ 83 11.1 GPU Scaling Governor ................................................................................................................................ 83 11.2 GPU Device Cooling .................................................................................................................................... 83 Chapter 12 Vivante Software Tool Kit .................................................................................................................. 83 12.1 Vivante Tool Kit overview .......................................................................................................................... 83 12.2 vEmulator ................................................................................................................................................... 85 12.3 vShader ...................................................................................................................................................... 96 12.4 vCompiler ................................................................................................................................................. 104 12.5 vTexture ................................................................................................................................................... 108 12.6 vProfiler and vAnalyzer ............................................................................................................................ 112 12.7 Debug and performance counters ........................................................................................................... 126 Chapter 13 GPU Tools ........................................................................................................................................ 128 13.1 gpuinfo tool .............................................................................................................................................. 128 13.2 gmem_info tool ........................................................................................................................................ 130 13.3 Apitrace user guide .................................................................................................................................. 131 Chapter 14 GPU Memory Introduction .............................................................................................................. 136 14.1 GPU memory overview ............................................................................................................................ 136 14.2 GPU memory
Recommended publications
  • FIT to WORK: IMPROVING the SECURITY of MONITORED EMPLOYEES' HEALTH DATA Elizabeth A. Brown INTRODUCTION Imagine Coming to Work
    FIT TO WORK: IMPROVING THE SECURITY OF MONITORED EMPLOYEES' HEALTH DATA Elizabeth A. Brown1 INTRODUCTION Imagine coming to work one day and finding that your employer has given everyone in the company a wearable FitBit health monitor, free of charge. You pop the FitBit on, grateful for another bit of help in managing the health concerns that nag at you persistently but which never quite rise to the top of your priority list. At your next performance review, your supervisor expresses concern about your anxiety levels. Although your work output is slightly off, she notes, there has been a correlation in your lack of sleep and exercise, and she suspects you are depressed. You wonder how your employer might know these things, whether or not they are true, and then you remember the FitBit. Your supervisor then tells you that the promotion you had wanted is going to a colleague who is “better equipped to handle the demands of the job.” You interview for another job, and are asked to provide the password to the HealthDrive account that centralizes the fitness data all the apps on your iPhone collect about you during the day. Similar scenarios are playing out now in workplaces across the country, and will do so more frequently as the personal health sensor market and employee monitoring trends continue to grow. Employers are making key decisions based on employees’ biometric data, collected from specialized devices like a FitBit or the health-related apps installed on mobile phones. BP, for example, adjusts its employees’ health care premiums depending on how much physical activity their wearable FitBit devices monitor – devices that BP provides to thousands of employees, their spouses, and retirees for free.
    [Show full text]
  • GLSL 4.50 Spec
    The OpenGL® Shading Language Language Version: 4.50 Document Revision: 7 09-May-2017 Editor: John Kessenich, Google Version 1.1 Authors: John Kessenich, Dave Baldwin, Randi Rost Copyright (c) 2008-2017 The Khronos Group Inc. All Rights Reserved. This specification is protected by copyright laws and contains material proprietary to the Khronos Group, Inc. It or any components may not be reproduced, republished, distributed, transmitted, displayed, broadcast, or otherwise exploited in any manner without the express prior written permission of Khronos Group. You may use this specification for implementing the functionality therein, without altering or removing any trademark, copyright or other notice from the specification, but the receipt or possession of this specification does not convey any rights to reproduce, disclose, or distribute its contents, or to manufacture, use, or sell anything that it may describe, in whole or in part. Khronos Group grants express permission to any current Promoter, Contributor or Adopter member of Khronos to copy and redistribute UNMODIFIED versions of this specification in any fashion, provided that NO CHARGE is made for the specification and the latest available update of the specification for any version of the API is used whenever possible. Such distributed specification may be reformatted AS LONG AS the contents of the specification are not changed in any way. The specification may be incorporated into a product that is sold as long as such product includes significant independent work developed by the seller. A link to the current version of this specification on the Khronos Group website should be included whenever possible with specification distributions.
    [Show full text]
  • Your Voice Assistant Is Mine: How to Abuse Speakers to Steal Information and Control Your Phone ∗ †
    Your Voice Assistant is Mine: How to Abuse Speakers to Steal Information and Control Your Phone ∗ y Wenrui Diao, Xiangyu Liu, Zhe Zhou, and Kehuan Zhang Department of Information Engineering The Chinese University of Hong Kong {dw013, lx012, zz113, khzhang}@ie.cuhk.edu.hk ABSTRACT General Terms Previous research about sensor based attacks on Android platform Security focused mainly on accessing or controlling over sensitive compo- nents, such as camera, microphone and GPS. These approaches Keywords obtain data from sensors directly and need corresponding sensor invoking permissions. Android Security; Speaker; Voice Assistant; Permission Bypass- This paper presents a novel approach (GVS-Attack) to launch ing; Zero Permission Attack permission bypassing attacks from a zero-permission Android application (VoicEmployer) through the phone speaker. The idea of 1. INTRODUCTION GVS-Attack is to utilize an Android system built-in voice assistant In recent years, smartphones are becoming more and more popu- module – Google Voice Search. With Android Intent mechanism, lar, among which Android OS pushed past 80% market share [32]. VoicEmployer can bring Google Voice Search to foreground, and One attraction of smartphones is that users can install applications then plays prepared audio files (like “call number 1234 5678”) in (apps for short) as their wishes conveniently. But this convenience the background. Google Voice Search can recognize this voice also brings serious problems of malicious application, which have command and perform corresponding operations. With ingenious been noticed by both academic and industry fields. According to design, our GVS-Attack can forge SMS/Email, access privacy Kaspersky’s annual security report [34], Android platform attracted information, transmit sensitive data and achieve remote control a whopping 98.05% of known malware in 2013.
    [Show full text]
  • Download Speeds Performance and Optimized for Long Battery Life
    ® QUALCOMM FEATURING THE LATEST IN MOBILE TECHNOLOGY. TM SNAPDRAGON Capture sharper, higher-quality images, in challenging lighting situations Qualcomm’s Spectra 14-bit dual image signal processors tap into the enhanced performance and feature enhancements that Hexagon 680 DSP’s HVX 820MOBILE PROCESSOR performance adds with amazing features like Low Light Photo and Video and Touch-to-Track where ISP and DSP work intelligently together to enhance imaging as well as track movements and improve zoom. Enabling a more immersive, intuitive and Immersive, life-like connected experience. virtual reality The Snapdragon 820 mobile processor Experience realistic, visual and audio immersion and offers many advantages: smooth VR action enabled by Snapdragon 820’s • New X12 LTE: Industry leading Heterogeneous compute platform, designed for high connectivity with LTE download speeds performance and optimized for long battery life. of up to 600 Mbps and multi-gigabit 802.11ad Wi-Fi • New Qualcomm® Kryo CPU: Delivering Next-generation maximum performance and low power consumption Kryo is QTI’s first custom computer vision 64-bit quad-core CPU, manufactured Drive more safely with object detection and enhanced in advanced 14nm FinFET LPP process navigation and enhance your smartphone camera • New Qualcomm® Adreno 530: Up to capability with features that can track faces and 40% better graphics and compute objects for a more intelligent mobile experience. performance with the Adreno 530 GPU • Qualcomm Spectra™ 14-bit dual image signal processors (ISPs) deliver high Deeply immersive resolution DSLR-quality images using heterogeneous compute for advanced 3D gaming processing and additional power The combination of Snapdragon 820’s Adreno 530 GPU savings and Kryo CPU creates enough compute performance • New Hexagon 680 DSP includes to enable console quality games and exciting, next Hexagon Vector eXtensions and Sensor generation virtual reality applications.
    [Show full text]
  • Overview: Graphics Processing Units
    Overview: Graphics Processing Units l advent of GPUs l GPU architecture n the NVIDIA Fermi processor l the CUDA programming model n simple example, threads organization, memory model n case study: matrix multiply using shared memory n memories, thread synchronization, scheduling n case study: reductions n performance considerations: bandwidth, scheduling, resource conflicts, instruction mix u host-device data transfer: multiple GPUs, NVLink, Unified Memory, APUs l the OpenCL programming model l directive-based programming models refs: Lin & Snyder Ch 10, CUDA Toolkit Documentation, An Even Easier Introduction to CUDA (tutorial); NCI NF GPU page, Programming Massively Parallel Processors, Kirk & Hwu, Morgan-Kaufman, 2010; Cuda By Example, by Sanders and Kandrot; OpenCL web page, OpenCL in Action, by Matthew Scarpino COMP4300/8300 L18,19: Graphics Processing Units 2021 JJJ • III × 1 Advent of General-purpose Graphics Processing Units l many applications have massive amounts of mostly independent calculations n e.g. ray tracing, image rendering, matrix computations, molecular simulations, HDTV n can be largely expressed in terms of SIMD operations u implementable with minimal control logic & caches, simple instruction sets l design point: maximize number of ALUs & FPUs and memory bandwidth to take advantage of Moore’s’ Law (shown here) n put this on a co-processor (GPU); have a normal CPU to co-ordinate, run the operating system, launch applications, etc l architecture/infrastructure development requires a massive economic base for its development (the gaming industry!) n pre 2006: only specialized graphics operations (integer & float data) n 2006: ‘General Purpose’ (GPGPU): general computations but only through a graphics library (e.g.
    [Show full text]
  • RZ/G Verified Linux Package for 64Bit Kernel V1.0.5-RT Release Note For
    Release Note RZ/G Verified Linux Package for 64bit kernel Version 1.0.5-RT R01TU0311EJ0102 Rev. 1.02 Release Note for HTML5 Sep 7, 2020 Introduction This release note describes the contents, building procedures for HTML5 (Gecko) and important points of the RZ/G Verified Linux Package for 64bit kernel (hereinafter referred to as “VLP64”). In this release, Linux packages for HTML5 is preliminary and provided AS IS with no warranty. If you need information to build Linux BSPs without a GUI Framework of HTML5, please refer to “RZ/G Verified Linux Package for 64bit kernel Version 1.0.5-RT Release Note”. Contents 1. Release Items ................................................................................................................. 2 2. Build environment .......................................................................................................... 4 3. Building Instructions ...................................................................................................... 6 3.1 Setup the Linux Host PC to build images ................................................................................. 6 3.2 Building images to run on the board ........................................................................................ 8 3.3 Building SDK ............................................................................................................................. 12 4. Components ................................................................................................................. 13 5. Restrictions
    [Show full text]
  • GPU Developments 2018
    GPU Developments 2018 2018 GPU Developments 2018 © Copyright Jon Peddie Research 2019. All rights reserved. Reproduction in whole or in part is prohibited without written permission from Jon Peddie Research. This report is the property of Jon Peddie Research (JPR) and made available to a restricted number of clients only upon these terms and conditions. Agreement not to copy or disclose. This report and all future reports or other materials provided by JPR pursuant to this subscription (collectively, “Reports”) are protected by: (i) federal copyright, pursuant to the Copyright Act of 1976; and (ii) the nondisclosure provisions set forth immediately following. License, exclusive use, and agreement not to disclose. Reports are the trade secret property exclusively of JPR and are made available to a restricted number of clients, for their exclusive use and only upon the following terms and conditions. JPR grants site-wide license to read and utilize the information in the Reports, exclusively to the initial subscriber to the Reports, its subsidiaries, divisions, and employees (collectively, “Subscriber”). The Reports shall, at all times, be treated by Subscriber as proprietary and confidential documents, for internal use only. Subscriber agrees that it will not reproduce for or share any of the material in the Reports (“Material”) with any entity or individual other than Subscriber (“Shared Third Party”) (collectively, “Share” or “Sharing”), without the advance written permission of JPR. Subscriber shall be liable for any breach of this agreement and shall be subject to cancellation of its subscription to Reports. Without limiting this liability, Subscriber shall be liable for any damages suffered by JPR as a result of any Sharing of any Material, without advance written permission of JPR.
    [Show full text]
  • Embedded Linux Systems with the Yocto Project™
    OPEN SOURCE SOFTWARE DEVELOPMENT SERIES Embedded Linux Systems with the Yocto Project" FREE SAMPLE CHAPTER SHARE WITH OTHERS �f, � � � � Embedded Linux Systems with the Yocto ProjectTM This page intentionally left blank Embedded Linux Systems with the Yocto ProjectTM Rudolf J. Streif Boston • Columbus • Indianapolis • New York • San Francisco • Amsterdam • Cape Town Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi • Mexico City São Paulo • Sidney • Hong Kong • Seoul • Singapore • Taipei • Tokyo Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and content particular to your business, training goals, marketing focus, or branding interests), please contact our corporate sales depart- ment at [email protected] or (800) 382-3419. For government sales inquiries, please contact [email protected]. For questions about sales outside the U.S., please contact [email protected]. Visit us on the Web: informit.com Cataloging-in-Publication Data is on file with the Library of Congress.
    [Show full text]
  • The Interplay of Compile-Time and Run-Time Options for Performance Prediction Luc Lesoil, Mathieu Acher, Xhevahire Tërnava, Arnaud Blouin, Jean-Marc Jézéquel
    The Interplay of Compile-time and Run-time Options for Performance Prediction Luc Lesoil, Mathieu Acher, Xhevahire Tërnava, Arnaud Blouin, Jean-Marc Jézéquel To cite this version: Luc Lesoil, Mathieu Acher, Xhevahire Tërnava, Arnaud Blouin, Jean-Marc Jézéquel. The Interplay of Compile-time and Run-time Options for Performance Prediction. SPLC 2021 - 25th ACM Inter- national Systems and Software Product Line Conference - Volume A, Sep 2021, Leicester, United Kingdom. pp.1-12, 10.1145/3461001.3471149. hal-03286127 HAL Id: hal-03286127 https://hal.archives-ouvertes.fr/hal-03286127 Submitted on 15 Jul 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. The Interplay of Compile-time and Run-time Options for Performance Prediction Luc Lesoil, Mathieu Acher, Xhevahire Tërnava, Arnaud Blouin, Jean-Marc Jézéquel Univ Rennes, INSA Rennes, CNRS, Inria, IRISA Rennes, France [email protected] ABSTRACT Both compile-time and run-time options can be configured to reach Many software projects are configurable through compile-time op- specific functional and performance goals. tions (e.g., using ./configure) and also through run-time options (e.g., Existing studies consider either compile-time or run-time op- command-line parameters, fed to the software at execution time).
    [Show full text]
  • GPU Virtualization on Vmware's Hosted I/O Architecture
    GPU Virtualization on VMware’s Hosted I/O Architecture Micah Dowty, Jeremy Sugerman VMware, Inc. 3401 Hillview Ave, Palo Alto, CA 94304 [email protected], [email protected] Abstract more computational performance than CPUs. At the Modern graphics co-processors (GPUs) can produce same time, GPU acceleration has extended beyond en- high fidelity images several orders of magnitude faster tertainment (e.g., games and video) into the basic win- than general purpose CPUs, and this performance expec- dowing systems of recent operating systems and is start- tation is rapidly becoming ubiquitous in personal com- ing to be applied to non-graphical high-performance ap- puters. Despite this, GPU virtualization is a nascent field plications including protein folding, financial modeling, of research. This paper introduces a taxonomy of strate- and medical image processing. The rise in applications gies for GPU virtualization and describes in detail the that exploit, or even assume, GPU acceleration makes specific GPU virtualization architecture developed for it increasingly important to expose the physical graph- VMware’s hosted products (VMware Workstation and ics hardware in virtualized environments. Additionally, VMware Fusion). virtual desktop infrastructure (VDI) initiatives have led We analyze the performance of our GPU virtualiza- many enterprises to try to simplify their desktop man- tion with a combination of applications and microbench- agement by delivering VMs to their users. Graphics vir- marks. We also compare against software rendering, the tualization is extremely important to a user whose pri- GPU virtualization in Parallels Desktop 3.0, and the na- mary desktop runs inside a VM. tive GPU. We find that taking advantage of hardware GPUs pose a unique challenge in the field of virtu- acceleration significantly closes the gap between pure alization.
    [Show full text]
  • Maksym Govorischev
    Maksym Govorischev E-mail : [email protected] Skills & Tools Programming and Scripting Languages: Java, Groovy, Scala Programming metodologies: OOP, Functional Programming, Design Patterns, REST Technologies and Frameworks: - Application development: Java SE 8 Spring Framework(Core, MVC, Security, Integration) Java EE 6 JPA/Hibernate - Database development: SQL NoSQL solutions - MongoDB, OrientDB, Cassandra - Frontent development: HTML, CSS (basic) Javascript Frameworks: JQuery, Knockout - Build tools: Gradle Maven Ant - Version Control Systems: Git SVN Project Experience Project: JUL, 2016 - OCT, 2016 Project Role: Senior Developer Description: Project's aim was essentially to create a microservices architecture blueprint, incorporating business agnostic integrations with various third-party Ecommerce, Social, IoT and Machine Learning solutions, orchestrating them into single coherent system and allowing a particular business to quickly build rich online experience with discussions, IoT support and Maksym Govorischev 1 recommendations engine, by just adding business specific services layer on top of accelerator. Participation: Played a Key developer role to implement integration with IoT platform (AWS IoT) and recommendation engine (Prediction IO), by building corresponding integration microservices. Tools: Maven, GitLab, SonarQube, Jenkins, Docker, PostgreSQL, Cassandra, Prediction IO Technologies: Java 8, Scala, Spring Boot, REST, Netflix Zuul, Netflix Eureka, Hystrix Project: Office Space Management Portal DEC, 2015 - FEB, 2016
    [Show full text]
  • The Opengl Graphics System
    OpenGL R ES Native Platform Graphics Interface (Version 1.0) Editor: Jon Leech Copyright c 2002-2003 Promoters of the Khronos Group (3Dlabs, ARM Ltd., ATI Technologies, Inc., Discreet, Ericsson Mobile, Imagination Technologies Group plc, Motorola, Inc., Nokia, Silicon Graphics, Inc., SK Telecom, and Sun Microsystems). This document is protected by copyright, and contains information proprietary to The Khronos Group. Any copying, adaptation, distribution, public performance, or public display of this document without the express written consent of the copy- right holders is strictly prohibited. The receipt or possession of this document does not convey any rights to reproduce, disclose, or distribute its contents, or to manu- facture, use, or sell anything that it may describe, in whole or in part. R This document is a derivative work of ”OpenGL Graphics with the X Window System (Version 1.4)”. Silicon Graphics, Inc. owns, and reserves all rights in, the latter document. OpenGL is a registered trademark, and OpenGL ES is a trademark, of Silicon Graphics, Inc. Contents 1 Overview 1 2 EGL Operation 2 2.1 Native Window System and Rendering APIs . 2 2.1.1 Scalar Types . 2 2.1.2 Displays . 3 2.2 Rendering Contexts and Drawing Surfaces . 3 2.2.1 Using Rendering Contexts . 4 2.2.2 Rendering Models . 4 2.2.3 Interaction With Native Rendering . 4 2.3 Direct Rendering and Address Spaces . 5 2.4 Shared State . 5 2.4.1 Texture Objects . 6 2.5 Multiple Threads . 6 2.6 Power Management . 7 3 EGL Functions and Errors 8 3.1 Errors .
    [Show full text]