1Name 2 3 OES_read_format 4 5Name Strings 6 7 GL_OES_read_format 8 9Contact 10 11 Aaftab Munshi (amunshi@ati.com) 12 13Notice 14 15 Copyright (c) 2003-2013 The Khronos Group Inc. Copyright terms at 16 http://www.khronos.org/registry/speccopyright.html 17 18Specification Update Policy 19 20 Khronos-approved extension specifications are updated in response to 21 issues and bugs prioritized by the Khronos OpenGL ES Working Group. For 22 extensions which have been promoted to a core Specification, fixes will 23 first appear in the latest version of that core Specification, and will 24 eventually be backported to the extension document. This policy is 25 described in more detail at 26 https://www.khronos.org/registry/OpenGL/docs/update_policy.php 27 28Status 29 30 Revision 0.2 ratified by the Khronos BOP, July 23, 2003. 31 Revision 0.3 to be ratified 32 33Version 34 35 Last Modifed Date: Jan 4, 2006 36 Author Revision: 0.3 37 38Number 39 40 OpenGL ES Extension #17 (formerly OpenGL Extension #295) 41 42Dependencies 43 44 None 45 The extension is written against the OpenGL 1.3 Specification. 46 47Overview 48 49 This extension provides the capability to query an OpenGL 50 implementation for a preferred type and format combination 51 for use with reading the color buffer with the ReadPixels 52 command. The purpose is to enable embedded implementations 53 to support a greatly reduced set of type/format combinations 54 and provide a mechanism for applications to determine which 55 implementation-specific combination is supported. 56 57 The preferred type and format combination returned may depend 58 on the read surface bound to the current GL context. 59 60IP Status 61 62 None 63 64Issues 65 66* Should this be generalized for other commands: DrawPixels, TexImage? 67 68 Resolved: No need to aggrandize. 69 70New Procedures and Functions 71 72 None 73 74 75New Tokens 76 77 IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A 78 IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B 79 80Additions to Chapter 2 of the OpenGL 1.3 Specification (OpenGL Operation) 81 82 None 83 84 85Additions to Chapter 3 of the OpenGL 1.3 Specification (Rasterization) 86 87 None 88 89 90Additions to Chapter 4 of the OpenGL 1.3 Specification (Per-Fragment 91Operations and the Frame Buffer) 92 93 Section 4.3 Drawing, Reading, and Copying Pixels 94 95 Section 4.3.2 Reading Pixels 96 97 (add paragraph) 98 A single format and type combination, designated the 99 preferred format, is associated with the state variables 100 IMPLEMENTATION_COLOR_READ_FORMAT_OES and 101 IMPLEMENTATION_COLOR_READ_TYPE_OES. The preferred format 102 indicates a read format and type combination that provides optimal 103 performance, for the read surface that is bound to the current 104 GL context, for a particular implementation. The state values 105 are chosen from the set of regularly accepted format 106 and type parameters as shown in tables 3.6 and 3.5. 107 108 109Additions to Chapter 5 of the OpenGL 1.3 Specification (Special Functions) 110 111 None 112 113Additions to Chapter 6 of the OpenGL 1.3 Specification (State and 114State Requests) 115 116 None 117 118Additions to Appendix A of the OpenGL 1.3 Specification (Invariance) 119 120 None 121 122Additions to the AGL/GLX/WGL Specifications 123 124 None 125 126Additions to the WGL Specification 127 128 None 129 130Additions to the AGL Specification 131 132 None 133 134Additions to Chapter 2 of the GLX 1.3 Specification (GLX Operation) 135 136Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) 137 138Additions to Chapter 4 of the GLX 1.3 Specification (Encoding on the X 139Byte Stream) 140 141Additions to Chapter 5 of the GLX 1.3 Specification (Extending OpenGL) 142 143Additions to Chapter 6 of the GLX 1.3 Specification (GLX Versions) 144 145GLX Protocol 146 147 TBD 148 149Errors 150 151 None 152 153New State 154 155 None 156 157New Implementation Dependent State 158 159(table 6.28) 160 161 Get Value Type Get Command Value Description Sec. Attribute 162 --------- ---- ----------- ----- ----------- ----- --------- 163 x_FORMAT_OES Z_11 GetIntegerv - read format 4.3.2 - 164 x_TYPE_OES Z_20 GetIntegerv - read type 4.3.2 - 165 166 x_ = IMPLEMENTATION_COLOR_READ_ 167 168Revision History 169 170 02/20/2003 0.1 171 - Original draft. 172 173 07/08/2003 0.2 174 - Marked issue regarding extending to other commands to resolved. 175 - Hackery to make state table fit in 80 columns 176 - Removed Dependencies on section 177 - Added extension number and enumerant values 178 179 01/04/2006 0.3 180 - Added clarification that format and type value returned 181 depends on the current read surface attached to the current context 182