Opengl ES 3.2 (October 22, 2019) CONTENTS Iii

Total Page:16

File Type:pdf, Size:1020Kb

Opengl ES 3.2 (October 22, 2019) CONTENTS Iii OpenGL R ES Version 3.2 (October 22, 2019) Editor: Jon Leech Copyright c 2006-2019 The Khronos Group Inc. All Rights Reserved. This specification is protected by copyright laws and contains material proprietary to Khronos. Except as described by these terms, 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. This specification has been created under the Khronos Intellectual Property Rights Policy, which is Attachment A of the Khronos Group Membership Agreement available at www.khronos.org/files/member agreement.pdf. Khronos grants a con- ditional copyright license to use and reproduce the unmodified specification for any purpose, without fee or royalty, EXCEPT no licenses to any patent, trade- mark or other intellectual property rights are granted under these terms. Parties desiring to implement the specification and make use of Khronos trademarks in relation to that implementation, and receive reciprocal patent license protection under the Khronos IP Policy must become Adopters and confirm the implementa- tion as conformant under the process defined by Khronos for this specification; see https://www.khronos.org/adopters. Khronos makes no, and expressly disclaims any, representations or warranties, ex- press or implied, regarding this specification, including, without limitation: mer- chantability, fitness for a particular purpose, non-infringement of any intellectual property, correctness, accuracy, completeness, timeliness, and reliability. Under no circumstances will Khronos, or any of its Promoters, Contributors or Members, or their respective partners, officers, directors, employees, agents or representatives be liable for any damages, whether direct, indirect, special or consequential damages for lost revenues, lost profits, or otherwise, arising from or in connection with these materials. Vulkan and Khronos are registered trademarks, and WebGL and EGL are trade- marks of The Khronos Group Inc. ASTC is a trademark of ARM Holdings PLC; OpenCL is a trademark of Apple Inc.; and OpenGL is a registered trademark, and the OpenGL ES and OpenGL SC logos are trademarks of Hewlett Packard Enter- prise, all used under license by Khronos. All other product names, trademarks, and/or company names are used solely for identification and belong to their respec- tive owners. Contents 1 Introduction1 1.1 Formatting of the OpenGL ES Specification . .1 1.2 What is the OpenGL ES Graphics System? . .1 1.3 Programmer’s View of OpenGL ES . .2 1.4 Implementor’s View of OpenGL ES . .2 1.5 Our View . .3 1.6 Related APIs . .3 1.6.1 OpenGL ES Shading Language . .3 1.6.2 WebGL . .4 1.6.3 Window System Bindings . .4 1.6.4 OpenCL . .4 1.7 Filing Bug Reports . .5 2 OpenGL ES Fundamentals6 2.1 OpenGL ES Fundamentals . .6 2.2 Command Syntax . .8 2.2.1 Data Conversion For State-Setting Commands . 10 2.2.2 Data Conversions For State Query Commands . 12 2.3 Command Execution . 13 2.3.1 Errors . 13 2.3.2 Graphics Reset Recovery . 16 2.3.3 Flush and Finish . 17 2.3.4 Numeric Representation and Computation . 18 2.3.5 Fixed-Point Data Conversions . 22 2.4 Rendering Commands . 24 2.5 Context State . 24 2.5.1 Generic Context State Queries . 25 2.6 Objects and the Object Model . 25 2.6.1 Object Management . 25 i CONTENTS ii 2.6.2 Buffer Objects . 26 2.6.3 Shader Objects . 27 2.6.4 Program Objects . 27 2.6.5 Program Pipeline Objects . 27 2.6.6 Texture Objects . 27 2.6.7 Sampler Objects . 28 2.6.8 Renderbuffer Objects . 28 2.6.9 Framebuffer Objects . 28 2.6.10 Vertex Array Objects . 28 2.6.11 Transform Feedback Objects . 29 2.6.12 Query Objects . 29 2.6.13 Sync Objects . 29 3 Dataflow Model 30 4 Event Model 33 4.1 Sync Objects and Fences . 33 4.1.1 Waiting for Sync Objects . 35 4.1.2 Signaling . 37 4.1.3 Sync Object Queries . 38 4.2 Query Objects and Asynchronous Queries . 39 4.2.1 Query Object Queries . 42 5 Shared Objects and Multiple Contexts 44 5.1 Object Deletion Behavior . 44 5.1.1 Side Effects of Shared Context Destruction . 44 5.1.2 Automatic Unbinding of Deleted Objects . 45 5.1.3 Deleted Object and Object Name Lifetimes . 45 5.2 Sync Objects and Multiple Contexts . 46 5.3 Propagating Changes to Objects . 46 5.3.1 Determining Completion of Changes to an object . 47 5.3.2 Definitions . 47 5.3.3 Rules . 48 6 Buffer Objects 50 6.1 Creating and Binding Buffer Objects . 51 6.1.1 Binding Buffer Objects to Indexed Targets . 53 6.2 Creating and Modifying Buffer Object Data Stores . 54 6.3 Mapping and Unmapping Buffer Data . 56 6.3.1 Unmapping Buffers . 60 OpenGL ES 3.2 (October 22, 2019) CONTENTS iii 6.3.2 Effects of Mapping Buffers on Other GL Commands . 60 6.4 Effects of Accessing Outside Buffer Bounds . 61 6.5 Copying Between Buffers . 61 6.6 Buffer Object Queries . 62 6.6.1 Indexed Buffer Object Limits and Binding Queries . 63 6.7 Buffer Object State . 65 7 Programs and Shaders 66 7.1 Shader Objects . 67 7.2 Shader Binaries . 70 7.3 Program Objects . 71 7.3.1 Program Interfaces . 79 7.4 Program Pipeline Objects . 94 7.4.1 Shader Interface Matching . 97 7.4.2 Program Pipeline Object State . 99 7.5 Program Binaries . 100 7.6 Uniform Variables . 102 7.6.1 Loading Uniform Variables In The Default Uniform Block 109 7.6.2 Uniform Blocks . 112 7.6.3 Uniform Buffer Object Bindings . 115 7.7 Atomic Counter Buffers . 116 7.7.1 Atomic Counter Buffer Object Storage . 117 7.7.2 Atomic Counter Buffer Bindings . 117 7.8 Shader Buffer Variables and Shader Storage Blocks . 118 7.9 Samplers . 120 7.10 Images . 120 7.11 Shader Memory Access . 121 7.11.1 Shader Memory Access Ordering . 121 7.11.2 Shader Memory Access Synchronization . 123 7.12 Shader, Program, and Program Pipeline Queries . 128 7.13 Required State . 136 8 Textures and Samplers 138 8.1 Texture Objects . 139 8.2 Sampler Objects . 141 8.3 Sampler Object Queries . 144 8.4 Pixel Rectangles . 145 8.4.1 Pixel Storage Modes and Pixel Buffer Objects . 145 8.4.2 Transfer of Pixel Rectangles . 147 8.5 Texture Image Specification . 158 OpenGL ES 3.2 (October 22, 2019) CONTENTS iv 8.5.1 Required Texture Formats . 161 8.5.2 Encoding of Special Internal Formats . 161 8.5.3 Texture Image Structure . 165 8.6 Alternate Texture Image Specification Commands . 168 8.6.1 Texture Copying Feedback Loops . 178 8.7 Compressed Texture Images . 178 8.8 Multisample Textures . 184 8.9 Buffer Textures . 186 8.10 Texture Parameters . 189 8.11 Texture Queries . 192 8.11.1 Active Texture . 192 8.11.2 Texture Parameter Queries . 192 8.11.3 Texture Level Parameter Queries . 193 8.12 Depth Component Textures . 194 8.13 Cube Map Texture Selection . 195 8.13.1 Seamless Cube Map Filtering . 195 8.14 Texture Minification . 196 8.14.1 Scale Factor and Level of Detail . 196 8.14.2 Coordinate Wrapping and Texel Selection . 198 8.14.3 Mipmapping . 203 8.14.4 Manual Mipmap Generation . 205 8.15 Texture Magnification . 206 8.16 Combined Depth/Stencil Textures . 206 8.17 Texture Completeness . 206 8.17.1 Effects of Sampler Objects on Texture Completeness . 208 8.17.2 Effects of Completeness on Texture Application . 208 8.17.3 Effects of Completeness on Texture Image Specification . 208 8.18 Immutable-Format Texture Images . 208 8.19 Texture State . 212 8.20 Texture Comparison Modes . 213 8.20.1 Depth Texture Comparison Mode . 213 8.21 sRGB Texture Color Conversion . 214 8.22 Shared Exponent Texture Color Conversion . 216 8.23 Texture Image Loads and Stores . 216 8.23.1 Image Unit Queries . 222 9 Framebuffers and Framebuffer Objects 223 9.1 Framebuffer Overview . 223 9.2 Binding and Managing Framebuffer Objects . 225 9.2.1 Framebuffer Object Parameters . 228 OpenGL ES 3.2 (October 22, 2019) CONTENTS v 9.2.2 Attaching Images to Framebuffer Objects . 230 9.2.3 Framebuffer Object Queries . 231 9.2.4 Renderbuffer Objects . ..
Recommended publications
  • 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]
  • Computer Graphics on Mobile Devices
    Computer Graphics on Mobile Devices Bruno Tunjic∗ Vienna University of Technology Figure 1: Different mobile devices available on the market today. Image courtesy of ASU [ASU 2011]. Abstract 1 Introduction Computer graphics hardware acceleration and rendering techniques Under the term mobile device we understand any device designed have improved significantly in recent years. These improvements for use in mobile context [Marcial 2010]. In other words this term are particularly noticeable in mobile devices that are produced in is used for devices that are battery-powered and therefore physi- great amounts and developed by different manufacturers. New tech- cally movable. This group of devices includes mobile (cellular) nologies are constantly developed and this extends the capabilities phones, personal media players (PMP), personal navigation devices of such devices correspondingly. (PND), personal digital assistants (PDA), smartphones, tablet per- sonal computers, notebooks, digital cameras, hand-held game con- soles and mobile internet devices (MID). Figure 1 shows different In this paper, a review about the existing and new hardware and mobile devices available on the market today. Traditional mobile software, as well as a closer look into some of the most important phones are aimed at making and receiving telephone calls over a revolutionary technologies, is given. Special emphasis is given on radio link. PDAs are personal organizers that later evolved into de- new Application Programming Interfaces (API) and rendering tech- vices with advanced units communication, entertainment and wire- niques that were developed in recent years. A review of limitations less capabilities [Wiggins 2004]. Smartphones can be seen as a that developers have to overcome when bringing graphics to mobile next generation of PDAs since they incorporate all its features but devices is also provided.
    [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]
  • 414 Advances in Opengl ES for Ios 5 V3 DD F
    Advances in OpenGL ES for iOS 5 Session 414 Gokhan Avkarogullari Eric Sunalp iPhone GPU Software These are confidential sessions—please refrain from streaming, blogging, or taking pictures 1 iPad 2 2 3 Per Pixel Lighting/ Normal Maps 4 LightMaps GlossMaps SpecularMaps 5 Dynamic Shadows 6 MSAA 7 Higher Poly Models 8 GLKit New Features 9 GLKit New Features 10 OpenGL ES 2.0 Molecules.app OpenGL ES 1.1 OpenGL ES 2.0 11 GLKit Goals • Making life easier for the developers ■ Find common problems ■ Make solutions available • Encourage unique look ■ Fixed-function pipeline games look similar ■ Shaders to rescue ■ How about porting 12 GLKit GLKTextureLoader GLKTextureLoader • Give a reference—get an OpenGL Texture Object • No need to deal ImageIO, CGImage, libjpg, libpng… 13 GLKit GLKView and GLKViewController GLKTextureLoader GLKView/ViewController • First-class citizen of UIKit hierarchy • Encapsulates FBOs, display links, MSAA management… 14 GLKit GLKMath GLKTextureLoader GLKView/ViewController GLKMath • 3D Graphics math library • Matrix stack, transforms, quaternions… 15 GLKit GLKEffects GLKTextureLoader GLKView/ViewController GLKMath GLKEffects • Fixed-function pipeline features implemented in ES 2.0 context 16 GLKTextureLoader 17 GLKTextureLoader Overview • Makes texture loading simple • Supports common image formats ■ PNG, JPEG, TIFF, etc. • Non-premultiplied data stays non-premultiplied • Cubemap texture support • Convenient loading options ■ Force premultiplication ■ Y-flip ■ Mipmap generation 18 GLKTextureLoader Basic usage • Make an EAGLContext
    [Show full text]
  • Webgl: the Standard, the Practice and the Opportunity Web3d Conference August 2012
    WebGL: The Standard, the Practice and the Opportunity Web3D Conference August 2012 © Copyright Khronos Group 2012 | Page 1 Agenda and Speakers • 3D on the Web and the Khronos Ecosystem - Neil Trevett, NVIDIA and Khronos Group President • Hands On With WebGL - Ken Russell, Google and WebGL Working Group Chair © Copyright Khronos Group 2012 | Page 2 Khronos Connects Software to Silicon • Khronos APIs define processor acceleration capabilities - Graphics, video, audio, compute, vision and sensor processing APIs developed today define the functionality of platforms and devices tomorrow © Copyright Khronos Group 2012 | Page 3 APIs BY the Industry FOR the Industry • Khronos standards have strong industry momentum - 100s of man years invested by industry leading experts - Shipping on billions of devices and multiple operating systems • Khronos is OPEN for any company to join and participate - Standards are truly open – one company, one vote - Solid legal and Intellectual Property framework for industry cooperation - Khronos membership fees to cover expenses • Khronos APIs define core device acceleration functionality - Low-level “Foundation” functionality needed on every platform - Rigorous conformance tests for cross-vendor consistency • They are FREE - Members agree to not request royalties Silicon Software © Copyright Khronos Group 2012 | Page 4 Apple Over 100 members – any company worldwide is welcome to join Board of Promoters © Copyright Khronos Group 2012 | Page 5 API Standards Evolution WEB INTEROP, VISION MOBILE AND SENSORS DESKTOP OpenVL New API technology first evolves on high- Mobile is the new platform for Apps embrace mobility’s end platforms apps innovation. Mobile unique strengths and need Diverse platforms – mobile, TV, APIs unlock hardware and complex, interoperating APIs embedded – mean HTML5 will conserve battery life with rich sensory inputs become increasingly important e.g.
    [Show full text]
  • Opengl SC 2.0?
    White Paper: Should You Be Using OpenGL SC 2.0? Introduction Ten years after the release of the first OpenGL® safety certifiable API specification the Khronos Group, the industry group responsible for graphics and video open standards, has released a new OpenGL safety certifiable specification, OpenGL SC 2.0. While both OpenGL SC 2.0 and the earlier safety critical OpenGL specification, OpenGL SC 1.0.1, provide high performance graphics interfaces for creating visualization and user interfaces, OpenGL SC 2.0 enables a higher degree of application capability with new levels of performance and control. This white paper will introduce OpenGL SC 2.0 by providing context in relationship to existing embedded OpenGL specifications, the differences compared to the earlier safety certifiable OpenGL specification, OpenGL SC 1.0.1 and an overview of new capabilities. Overview of OpenGL Specifications OpenGL Graphics Language (the GL in OpenGL) Application Programming Interfaces (API) is an open specification for developing 2D and 3D graphics software applications. There are three main profiles of the OpenGL specifications. OpenGL – desktop OpenGL ES – Embedded Systems OpenGL SC – Safety Critical From time to time the desktop OpenGL specification was updated to incorporate new extensions which are widely supported by Graphics Processing Unit (GPU) vendors reflecting new GPU capabilities. The embedded systems OpenGL specification branches from the desktop OpenGL specification less frequently and is tailored to embedded system needs. The safety critical OpenGL specification branches from the embedded systems OpenGL specifications and is further tailored for safety critical embedded systems. Figure 1 shows the high level relationship between the OpenGL specifications providing cross-platform APIs for full-function 2D and 3D graphics on embedded systems.
    [Show full text]
  • Khronos Open API Standards for Mobile Graphics, Compute And
    Open API Standards for Mobile Graphics, Compute and Vision Processing GTC, March 2014 Neil Trevett Vice President Mobile Ecosystem, NVIDIA President Khronos © Copyright Khronos Group 2014 - Page 1 Khronos Connects Software to Silicon Open Consortium creating ROYALTY-FREE, OPEN STANDARD APIs for hardware acceleration Defining the roadmap for low-level silicon interfaces needed on every platform Graphics, compute, rich media, vision, sensor and camera processing Rigorous specifications AND conformance tests for cross- vendor portability Acceleration APIs BY the Industry FOR the Industry Well over a BILLION people use Khronos APIs Every Day… © Copyright Khronos Group 2014 - Page 2 Khronos Standards 3D Asset Handling - 3D authoring asset interchange - 3D asset transmission format with compression Visual Computing - 3D Graphics - Heterogeneous Parallel Computing Over 100 companies defining royalty-free APIs to connect software to silicon Camera Control API Acceleration in HTML5 - 3D in browser – no Plug-in - Heterogeneous computing for JavaScript Sensor Processing - Vision Acceleration - Camera Control - Sensor Fusion © Copyright Khronos Group 2014 - Page 3 The OpenGL Family OpenGL 4.4 is the industry’s most advanced 3D API Cross platform – Windows, Linux, Mac, Android Foundation for productivity apps Target for AAA engines and games The most pervasively available 3D API – 1.6 Billion devices and counting Almost every mobile and embedded device – inc. Android, iOS Bringing proven desktop functionality to mobile JavaScript binding to OpenGL
    [Show full text]
  • Powervr Graphics - Latest Developments and Future Plans
    PowerVR Graphics - Latest Developments and Future Plans Latest Developments and Future Plans A brief introduction • Joe Davis • Lead Developer Support Engineer, PowerVR Graphics • With Imagination’s PowerVR Developer Technology team for ~6 years • PowerVR Developer Technology • SDK, tools, documentation and developer support/relations (e.g. this session ) facebook.com/imgtec @PowerVRInsider │ #idc15 2 Company overview About Imagination Multimedia, processors, communications and cloud IP Driving IP innovation with unrivalled portfolio . Recognised leader in graphics, GPU compute and video IP . #3 design IP company world-wide* Ensigma Communications PowerVR Processors Graphics & GPU Compute Processors SoC fabric PowerVR Video MIPS Processors General Processors PowerVR Vision Processors * source: Gartner facebook.com/imgtec @PowerVRInsider │ #idc15 4 About Imagination Our IP plus our partners’ know-how combine to drive and disrupt Smart WearablesGaming Security & VR/AR Advanced Automotive Wearables Retail eHealth Smart homes facebook.com/imgtec @PowerVRInsider │ #idc15 5 About Imagination Business model Licensees OEMs and ODMs Consumers facebook.com/imgtec @PowerVRInsider │ #idc15 6 About Imagination Our licensees and partners drive our business facebook.com/imgtec @PowerVRInsider │ #idc15 7 PowerVR Rogue Hardware PowerVR Rogue Recap . Tile-based deferred renderer . Building on technology proven over 5 previous generations . Formally announced at CES 2012 . USC - Universal Shading Cluster . New scalar SIMD shader core . General purpose compute is a first class citizen in the core … . … while not forgetting what makes a shader core great for graphics facebook.com/imgtec @PowerVRInsider │ #idc15 9 TBDR Tile-based . Tile-based . Split each render up into small tiles (32x32 for the most part) . Bin geometry after vertex shading into those tiles . Tile-based rasterisation and pixel shading .
    [Show full text]
  • ALT Software Opengl Device Drivers for Fujitsu Ruby Graphics Display Controller Kit
    ALT Software OpenGL Device Drivers for Fujitsu Ruby Graphics Display Controller Kit What is included from ALT Software in this package and what are the next steps? The ALT Software OpenGL components included in the SDK for MB86298 (Ruby) Graphics Display Controller are the following: 1- An evaluation version of ALT Software’s OpenGL ES 2.0 device driver binary for WindowsXP 2- A document which provides an overview of the Ruby API supported by ALT Software’s OpenGL ES 2.0 device driver 3- A "40 hour" bundle of ALT’s software engineering service and technical support “time” which can be allocated using any of the following services: a. Technical support to help you get your system up and running as quickly as possible b. Application and driver porting to a new Windowing management system, operating system or hardware platform. ALT has experience with and is able to port the Ruby OpenGL ES 2.0 driver to any of these operating systems: i. Google Android ii. Green Hills Integrity, INTEGRTY-178 iii. Linux variants iv. Microsoft WinCE / Windows Embedded Compact v. QNX vi. Wind River VxWorks, VxWorks 653 vii. Customer-proprietary RTOS viii. No operating system ALT has experience with and is able to port the Ruby OpenGL ES 2.0 driver to any of the following graphical API’s: i. Embedded X Server ii. Microsoft DirectX, MobileD3D iii. OpenGL 1.x, 2.x, ES 1.x, ES 2.x, Safety Critical (SC), VG 1.x c. Complete end-to-end software development services, from initial planning and design through to development, QA testing and final release of your custom graphics driver d.
    [Show full text]
  • The Opengl ES Shading Language
    The OpenGL ES® Shading Language Language Version: 3.20 Document Revision: 12 246 JuneAugust 2015 Editor: Robert J. Simpson, Qualcomm OpenGL GLSL editor: John Kessenich, LunarG GLSL version 1.1 Authors: John Kessenich, Dave Baldwin, Randi Rost 1 Copyright (c) 2013-2015 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]
  • The Opengl ES Shading Language
    The OpenGL ES® Shading Language Language Version: 3.00 Document Revision: 6 29 January 2016 Editor: Robert J. Simpson, Qualcomm OpenGL GLSL editor: John Kessenich, LunarG GLSL version 1.1 Authors: John Kessenich, Dave Baldwin, Randi Rost Copyright © 2008-2016 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]
  • EGL 1.5 Specification
    Khronos Native Platform Graphics Interface (EGL Version 1.5 - August 27, 2014) Editor: Jon Leech 2 Copyright (c) 2002-2014 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, repub- lished, 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 re- formatted 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 web-site should be included whenever possible with specification distributions. Khronos Group makes no, and expressly disclaims any, representations or war- ranties, express or implied, regarding this specification, including, without limita- tion, any implied warranties of merchantability or fitness for a particular purpose or non-infringement of any intellectual property.
    [Show full text]