1Name 2 3 QCOM_extended_get 4 5Name Strings 6 7 GL_QCOM_extended_get 8 9Contributors 10 11 Jukka Liimatta 12 James Ritts 13 14Contact 15 16 Jukka Liimatta (jukka.liimatta 'at' qualcomm.com) 17 18Notice 19 20 Copyright Qualcomm 2009. 21 22IP Status 23 24 Qualcomm Proprietary. 25 26Status 27 28 Complete. 29 30Version 31 32 Last Modified Date: May 14, 2009 33 Revision: #1 34 35Number 36 37 OpenGL ES Extension #62 38 39Dependencies 40 41 OpenGL ES 1.0 or higher is required. 42 43Overview 44 45 This extension enables instrumenting the driver for debugging of OpenGL ES 46 applications. 47 48New Procedures and Functions 49 50 void ExtGetTexturesQCOM(uint* textures, 51 int maxTextures, 52 int* numTextures); 53 54 void ExtGetBuffersQCOM(uint* buffers, 55 int maxBuffers, 56 int* numBuffers); 57 58 void ExtGetRenderbuffersQCOM(uint* renderbuffers, 59 int maxRenderbuffers, 60 int* numRenderbuffers); 61 62 void ExtGetFramebuffersQCOM(uint* framebuffers, 63 int maxFramebuffers, 64 int* numFramebuffers); 65 66 void ExtGetTexLevelParameterivQCOM(uint texture, enum face, int level, 67 enum pname, int* params); 68 69 void ExtTexObjectStateOverrideiQCOM(enum target, enum pname, int param); 70 71 void ExtGetTexSubImageQCOM(enum target, int level, 72 int xoffset, int yoffset, int zoffset, 73 sizei width, sizei height, sizei depth, 74 enum format, enum type, void *texels); 75 76 void ExtGetBufferPointervQCOM(enum target, void **params) 77 78New Tokens 79 80 Accepted by the <pname> parameter of ExtGetTexLevelParameterivQCOM 81 82 TEXTURE_WIDTH_QCOM 0x8BD2 83 TEXTURE_HEIGHT_QCOM 0x8BD3 84 TEXTURE_DEPTH_QCOM 0x8BD4 85 TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 86 TEXTURE_FORMAT_QCOM 0x8BD6 87 TEXTURE_TYPE_QCOM 0x8BD7 88 TEXTURE_IMAGE_VALID_QCOM 0x8BD8 89 TEXTURE_NUM_LEVELS_QCOM 0x8BD9 90 TEXTURE_TARGET_QCOM 0x8BDA 91 TEXTURE_OBJECT_VALID_QCOM 0x8BDB 92 93 Accepted by the <target> parameter of ExtTexObjectStateOverrideiQCOM 94 95 TEXTURE_2D 96 TEXTURE_CUBE_MAP 97 TEXTURE_3D_OES 98 TEXTURE_EXTERNAL_OES 99 100 Accepted by the <pname> parameter of ExtTexObjectStateOverrideiQCOM 101 102 STATE_RESTORE 0x8BDC 103 TEXTURE_MIN_FILTER 104 TEXTURE_MAG_FILTER 105 TEXTURE_WIDTH_QCOM 106 TEXTURE_HEIGHT_QCOM 107 TEXTURE_DEPTH_QCOM 108 109 Accepted by the <target> parameter of ExtGetTexSubImageQCOM 110 111 TEXTURE_2D 112 TEXTURE_3D 113 TEXTURE_CUBE_MAP_POSITIVE_X 114 TEXTURE_CUBE_MAP_NEGATIVE_X 115 TEXTURE_CUBE_MAP_POSITIVE_Y 116 TEXTURE_CUBE_MAP_NEGATIVE_Y 117 TEXTURE_CUBE_MAP_POSITIVE_Z 118 TEXTURE_CUBE_MAP_NEGATIVE_Z 119 120 Accepted by the <format> parameter of ExtGetTexSubImageQCOM 121 122 ALPHA 123 LUMINANCE 124 LUMINANCE_ALPHA 125 RGB 126 RGBA 127 ATC_RGB_AMD 128 ATC_RGBA_EXPLICIT_ALPHA_AMD 129 ATC_RGBA_INTERPOLATED_ALPHA_AMD 130 131 Accepted by the <type> parameter of ExtGetTexSubImageQCOM 132 133 UNSIGNED_BYTE 134 UNSIGNED_SHORT_5_6_5 135 UNSIGNED_SHORT_5_5_5_1 136 UNSIGNED_SHORT_4_4_4_4 137 HALF_FLOAT_OES 138 FLOAT 139 140 Accepted by the <target> parameter of ExtGetBufferPointervQCOM 141 142 ARRAY_BUFFER 143 ELEMENT_ARRAY_BUFFER 144 145Additions to OpenGL ES 1.1 Specification 146 147 The command 148 149 void ExtGetTexturesQCOM(uint* textures, 150 int maxTextures, 151 int* numTextures); 152 153 returns list of texture objects in the current render context. 154 155 The command 156 157 void ExtGetBuffersQCOM(uint* buffers, 158 int maxBuffers, 159 int* numBuffers); 160 161 returns list of buffer objects in the current render context. 162 163 The command 164 165 void ExtGetRenderbuffersQCOM(uint* renderbuffers, 166 int maxRenderbuffers, 167 int* numRenderbuffers); 168 169 returns list of render buffer objects in the current render context. 170 171 The command 172 173 void ExtGetFramebuffersQCOM(uint* framebuffers, 174 int maxFramebuffers, 175 int* numFramebuffers); 176 177 returns list of frame buffer objects in the current render context. 178 179 The command 180 181 void ExtGetTexLevelParameterivQCOM(uint texture, enum face, int level, 182 enum pname, int* params); 183 184 returns parameters for texture level chosen with <texture>, <face> and 185 <level>. 186 187 The command 188 189 void ExtTexObjectStateOverrideiQCOM(enum target, enum pname, int param); 190 191 overrides texture parameter for current texture in the <target>. The state 192 chosen with the <pname> argument is restored with <param> value 193 STATE_RESTORE. The STATE_RESTORE has the same effect as calling 194 TexParameteri(enum target, enum pname, int param). 195 196 The command 197 198 void ExtGetTexSubImageQCOM(enum target, int level, 199 int xoffset, int yoffset, int zoffset, 200 sizei width, sizei height, sizei depth, 201 enum format, enum type, void *texels); 202 203 copies texels from current texture in <target> to address in <texels> 204 parameter. 205 206 The command 207 208 void ExtGetBufferPointervQCOM(enum target, void **params) 209 210 returns pointer to the buffer chosen with <target>. 211 212Errors 213 214 INVALID_VALUE error will be generated if the <texture> parameter to 215 ExtGetTexLevelParameterivQCOM does not reference to a valid texture object. 216 217 INVALID_ENUM error will be generated if the <texture> parameter to 218 ExtGetTexLevelParameterivQCOM does not reference to a valid texture target. 219 220 INVALID_VALUE error will be generated if the <face> parameter to cubemap 221 texture target in ExtGetTexLevelParameterivQCOM is not one of the allowable 222 values. 223 224 INVALID_VALUE error will be generated if the texture <level> parameter to 225 ExtGetTexLevelParameterivQCOM is not one of the allowable values. 226 227 INVALID_ENUM error will be generated if the <pname> parameter to 228 ExtGetTexLevelParameterivQCOM is not one of the allowable values. 229 230 INVALID_ENUM error will be generated if the <target> parameter to 231 ExtGetTexSubImageQCOM is not one of the allowable values. 232 233 INVALID_ENUM error will be generated if the <target> parameter to 234 ExtGetTexSubImageQCOM does not reference to a valid texture object. 235 236 INVALID_VALUE error will be generated if the selected region to 237 ExtGetTexSubImageQCOM is not inside the texture. 238 239 INVALID_VALUE error will be generated if the <level> parameter to 240 ExtGetTexSubImageQCOM does not reference to a valid texture level. 241 242 INVALID_ENUM error will be generated if the <format> or <type> parameters to 243 ExtGetTexSubImageQCOM are not one of the allowable values. 244 245 INVALID_ENUM error will be generated if the <target> parameter to 246 ExtGetBufferPointervQCOM is not one of the allowable values. 247 248New State 249 250 None. 251 252Revision History 253 254 #01 05/14/2009 Jukka Liimatta First draft. 255