Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(643)

Side by Side Diff: ui/gl/generate_bindings.py

Issue 723343002: Update from https://crrev.com/304121 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/gl/BUILD.gn ('k') | ui/gl/gl.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """code generator for GL/GLES extension wrangler.""" 6 """code generator for GL/GLES extension wrangler."""
7 7
8 import optparse 8 import optparse
9 import os 9 import os
10 import collections 10 import collections
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 { 'return_type': 'void', 60 { 'return_type': 'void',
61 'names': ['glBindFramebufferEXT', 'glBindFramebuffer'], 61 'names': ['glBindFramebufferEXT', 'glBindFramebuffer'],
62 'arguments': 'GLenum target, GLuint framebuffer', }, 62 'arguments': 'GLenum target, GLuint framebuffer', },
63 { 'return_type': 'void', 63 { 'return_type': 'void',
64 'names': ['glBindRenderbufferEXT', 'glBindRenderbuffer'], 64 'names': ['glBindRenderbufferEXT', 'glBindRenderbuffer'],
65 'arguments': 'GLenum target, GLuint renderbuffer', }, 65 'arguments': 'GLenum target, GLuint renderbuffer', },
66 { 'return_type': 'void', 66 { 'return_type': 'void',
67 'names': ['glBindTexture'], 67 'names': ['glBindTexture'],
68 'arguments': 'GLenum target, GLuint texture', }, 68 'arguments': 'GLenum target, GLuint texture', },
69 { 'return_type': 'void', 69 { 'return_type': 'void',
70 'known_as': 'glBindVertexArrayOES',
71 'versions': [{ 'name': 'glBindVertexArray',
72 'gl_versions': ['gl3', 'gl4', 'es3'] },
73 { 'name': 'glBindVertexArray',
74 'extensions': ['GL_ARB_vertex_array_object'] },
75 { 'name': 'glBindVertexArrayOES' },
76 { 'name': 'glBindVertexArrayAPPLE',
77 'extensions': ['GL_APPLE_vertex_array_object'] }],
78 'arguments': 'GLuint array' },
79 { 'return_type': 'void',
80 'known_as': 'glBlendBarrierKHR',
81 'versions': [{ 'name': 'glBlendBarrierNV',
82 'extensions': ['GL_NV_blend_equation_advanced'] },
83 { 'name': 'glBlendBarrierKHR',
84 'extensions': ['GL_KHR_blend_equation_advanced'] }],
85 'arguments': 'void' },
86 { 'return_type': 'void',
70 'names': ['glBlendColor'], 87 'names': ['glBlendColor'],
71 'arguments': 'GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha', }, 88 'arguments': 'GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha', },
72 { 'return_type': 'void', 89 { 'return_type': 'void',
73 'names': ['glBlendEquation'], 90 'names': ['glBlendEquation'],
74 'arguments': ' GLenum mode ', }, 91 'arguments': ' GLenum mode ', },
75 { 'return_type': 'void', 92 { 'return_type': 'void',
76 'names': ['glBlendEquationSeparate'], 93 'names': ['glBlendEquationSeparate'],
77 'arguments': 'GLenum modeRGB, GLenum modeAlpha', }, 94 'arguments': 'GLenum modeRGB, GLenum modeAlpha', },
78 { 'return_type': 'void', 95 { 'return_type': 'void',
79 'names': ['glBlendFunc'], 96 'names': ['glBlendFunc'],
80 'arguments': 'GLenum sfactor, GLenum dfactor', }, 97 'arguments': 'GLenum sfactor, GLenum dfactor', },
81 { 'return_type': 'void', 98 { 'return_type': 'void',
82 'names': ['glBlendFuncSeparate'], 99 'names': ['glBlendFuncSeparate'],
83 'arguments': 100 'arguments':
84 'GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha', }, 101 'GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha', },
85 { 'return_type': 'void', 102 { 'return_type': 'void',
86 'names': ['glBlitFramebuffer'], 103 'names': ['glBlitFramebuffer'],
87 'arguments': 'GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, ' 104 'arguments': 'GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, '
88 'GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, ' 105 'GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, '
89 'GLbitfield mask, GLenum filter', }, 106 'GLbitfield mask, GLenum filter', },
90 { 'return_type': 'void', 107 { 'return_type': 'void',
108 'names': ['glBlitFramebufferANGLE', 'glBlitFramebuffer'],
109 'arguments': 'GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, '
110 'GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, '
111 'GLbitfield mask, GLenum filter', },
112 { 'return_type': 'void',
91 'names': ['glBlitFramebufferEXT', 'glBlitFramebuffer'], 113 'names': ['glBlitFramebufferEXT', 'glBlitFramebuffer'],
92 'arguments': 'GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, ' 114 'arguments': 'GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, '
93 'GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, ' 115 'GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, '
94 'GLbitfield mask, GLenum filter', }, 116 'GLbitfield mask, GLenum filter', },
95 { 'return_type': 'void',
96 'names': ['glBlitFramebufferANGLE', 'glBlitFramebuffer'],
97 'arguments': 'GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, '
98 'GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, '
99 'GLbitfield mask, GLenum filter', },
100 { 'return_type': 'void', 117 { 'return_type': 'void',
101 'names': ['glBufferData'], 118 'names': ['glBufferData'],
102 'arguments': 119 'arguments':
103 'GLenum target, GLsizeiptr size, const void* data, GLenum usage', }, 120 'GLenum target, GLsizeiptr size, const void* data, GLenum usage', },
104 { 'return_type': 'void', 121 { 'return_type': 'void',
105 'names': ['glBufferSubData'], 122 'names': ['glBufferSubData'],
106 'arguments': 123 'arguments':
107 'GLenum target, GLintptr offset, GLsizeiptr size, const void* data', }, 124 'GLenum target, GLintptr offset, GLsizeiptr size, const void* data', },
108 { 'return_type': 'GLenum', 125 { 'return_type': 'GLenum',
109 'names': ['glCheckFramebufferStatusEXT', 126 'names': ['glCheckFramebufferStatusEXT',
(...skipping 10 matching lines...) Expand all
120 'arguments': 'GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha', }, 137 'arguments': 'GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha', },
121 { 'return_type': 'void', 138 { 'return_type': 'void',
122 'names': ['glClearDepth'], 139 'names': ['glClearDepth'],
123 'arguments': 'GLclampd depth', }, 140 'arguments': 'GLclampd depth', },
124 { 'return_type': 'void', 141 { 'return_type': 'void',
125 'names': ['glClearDepthf'], 142 'names': ['glClearDepthf'],
126 'arguments': 'GLclampf depth', }, 143 'arguments': 'GLclampf depth', },
127 { 'return_type': 'void', 144 { 'return_type': 'void',
128 'names': ['glClearStencil'], 145 'names': ['glClearStencil'],
129 'arguments': 'GLint s', }, 146 'arguments': 'GLint s', },
147 { 'return_type': 'GLenum',
148 'names': ['glClientWaitSync'],
149 'arguments': 'GLsync sync, GLbitfield flags, GLuint64 timeout', },
130 { 'return_type': 'void', 150 { 'return_type': 'void',
131 'names': ['glColorMask'], 151 'names': ['glColorMask'],
132 'arguments': 152 'arguments':
133 'GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha', }, 153 'GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha', },
134 { 'return_type': 'void', 154 { 'return_type': 'void',
135 'names': ['glCompileShader'], 155 'names': ['glCompileShader'],
136 'arguments': 'GLuint shader', }, 156 'arguments': 'GLuint shader', },
137 { 'return_type': 'void', 157 { 'return_type': 'void',
138 'names': ['glCompressedTexImage2D'], 158 'names': ['glCompressedTexImage2D'],
139 'arguments': 159 'arguments':
(...skipping 21 matching lines...) Expand all
161 { 'return_type': 'GLuint', 181 { 'return_type': 'GLuint',
162 'names': ['glCreateShader'], 182 'names': ['glCreateShader'],
163 'arguments': 'GLenum type', }, 183 'arguments': 'GLenum type', },
164 { 'return_type': 'void', 184 { 'return_type': 'void',
165 'names': ['glCullFace'], 185 'names': ['glCullFace'],
166 'arguments': 'GLenum mode', }, 186 'arguments': 'GLenum mode', },
167 { 'return_type': 'void', 187 { 'return_type': 'void',
168 'names': ['glDeleteBuffersARB', 'glDeleteBuffers'], 188 'names': ['glDeleteBuffersARB', 'glDeleteBuffers'],
169 'arguments': 'GLsizei n, const GLuint* buffers', }, 189 'arguments': 'GLsizei n, const GLuint* buffers', },
170 { 'return_type': 'void', 190 { 'return_type': 'void',
191 'known_as': 'glDeleteFencesAPPLE',
192 'versions': [{ 'name': 'glDeleteFencesAPPLE',
193 'extensions': ['GL_APPLE_fence'] }],
194 'arguments': 'GLsizei n, const GLuint* fences', },
195 { 'return_type': 'void',
196 'names': ['glDeleteFencesNV'],
197 'arguments': 'GLsizei n, const GLuint* fences', },
198 { 'return_type': 'void',
171 'names': ['glDeleteFramebuffersEXT', 'glDeleteFramebuffers'], 199 'names': ['glDeleteFramebuffersEXT', 'glDeleteFramebuffers'],
172 'arguments': 'GLsizei n, const GLuint* framebuffers', }, 200 'arguments': 'GLsizei n, const GLuint* framebuffers', },
173 { 'return_type': 'void', 201 { 'return_type': 'void',
174 'names': ['glDeleteProgram'], 202 'names': ['glDeleteProgram'],
175 'arguments': 'GLuint program', }, 203 'arguments': 'GLuint program', },
176 { 'return_type': 'void', 204 { 'return_type': 'void',
177 'names': ['glDeleteQueries'], 205 'names': ['glDeleteQueries'],
178 'arguments': 'GLsizei n, const GLuint* ids', }, 206 'arguments': 'GLsizei n, const GLuint* ids', },
179 { 'return_type': 'void', 207 { 'return_type': 'void',
180 'names': ['glDeleteQueriesARB', 'glDeleteQueriesEXT'], 208 'names': ['glDeleteQueriesARB', 'glDeleteQueriesEXT'],
181 'arguments': 'GLsizei n, const GLuint* ids', }, 209 'arguments': 'GLsizei n, const GLuint* ids', },
182 { 'return_type': 'void', 210 { 'return_type': 'void',
183 'names': ['glDeleteRenderbuffersEXT', 'glDeleteRenderbuffers'], 211 'names': ['glDeleteRenderbuffersEXT', 'glDeleteRenderbuffers'],
184 'arguments': 'GLsizei n, const GLuint* renderbuffers', }, 212 'arguments': 'GLsizei n, const GLuint* renderbuffers', },
185 { 'return_type': 'void', 213 { 'return_type': 'void',
186 'names': ['glDeleteShader'], 214 'names': ['glDeleteShader'],
187 'arguments': 'GLuint shader', }, 215 'arguments': 'GLuint shader', },
188 { 'return_type': 'void', 216 { 'return_type': 'void',
217 'names': ['glDeleteSync'],
218 'arguments': 'GLsync sync', },
219 { 'return_type': 'void',
189 'names': ['glDeleteTextures'], 220 'names': ['glDeleteTextures'],
190 'arguments': 'GLsizei n, const GLuint* textures', }, 221 'arguments': 'GLsizei n, const GLuint* textures', },
191 { 'return_type': 'void', 222 { 'return_type': 'void',
223 'known_as': 'glDeleteVertexArraysOES',
224 'versions': [{ 'name': 'glDeleteVertexArrays',
225 'gl_versions': ['gl3', 'gl4', 'es3'] },
226 { 'name': 'glDeleteVertexArrays',
227 'extensions': ['GL_ARB_vertex_array_object'] },
228 { 'name': 'glDeleteVertexArraysOES' },
229 { 'name': 'glDeleteVertexArraysAPPLE',
230 'extensions': ['GL_APPLE_vertex_array_object'] }],
231 'arguments': 'GLsizei n, const GLuint* arrays' },
232 { 'return_type': 'void',
192 'names': ['glDepthFunc'], 233 'names': ['glDepthFunc'],
193 'arguments': 'GLenum func', }, 234 'arguments': 'GLenum func', },
194 { 'return_type': 'void', 235 { 'return_type': 'void',
195 'names': ['glDepthMask'], 236 'names': ['glDepthMask'],
196 'arguments': 'GLboolean flag', }, 237 'arguments': 'GLboolean flag', },
197 { 'return_type': 'void', 238 { 'return_type': 'void',
198 'names': ['glDepthRange'], 239 'names': ['glDepthRange'],
199 'arguments': 'GLclampd zNear, GLclampd zFar', }, 240 'arguments': 'GLclampd zNear, GLclampd zFar', },
200 { 'return_type': 'void', 241 { 'return_type': 'void',
201 'names': ['glDepthRangef'], 242 'names': ['glDepthRangef'],
202 'arguments': 'GLclampf zNear, GLclampf zFar', }, 243 'arguments': 'GLclampf zNear, GLclampf zFar', },
203 { 'return_type': 'void', 244 { 'return_type': 'void',
204 'names': ['glDetachShader'], 245 'names': ['glDetachShader'],
205 'arguments': 'GLuint program, GLuint shader', }, 246 'arguments': 'GLuint program, GLuint shader', },
206 { 'return_type': 'void', 247 { 'return_type': 'void',
207 'names': ['glDisable'], 248 'names': ['glDisable'],
208 'arguments': 'GLenum cap', }, 249 'arguments': 'GLenum cap', },
209 { 'return_type': 'void', 250 { 'return_type': 'void',
210 'names': ['glDisableVertexAttribArray'], 251 'names': ['glDisableVertexAttribArray'],
211 'arguments': 'GLuint index', }, 252 'arguments': 'GLuint index', },
212 { 'return_type': 'void', 253 { 'return_type': 'void',
254 'known_as': 'glDiscardFramebufferEXT',
255 'versions': [{ 'name': 'glInvalidateFramebuffer',
256 'gl_versions': ['es3'],
257 'extensions': [] },
258 { 'name': 'glDiscardFramebufferEXT',
259 'gl_versions': ['es1', 'es2'] }],
260 'arguments': 'GLenum target, GLsizei numAttachments, '
261 'const GLenum* attachments' },
262 { 'return_type': 'void',
213 'names': ['glDrawArrays'], 263 'names': ['glDrawArrays'],
214 'arguments': 'GLenum mode, GLint first, GLsizei count', }, 264 'arguments': 'GLenum mode, GLint first, GLsizei count', },
215 { 'return_type': 'void', 265 { 'return_type': 'void',
266 'known_as': 'glDrawArraysInstancedANGLE',
267 'names': ['glDrawArraysInstancedARB', 'glDrawArraysInstancedANGLE',
268 'glDrawArraysInstanced'],
269 'arguments': 'GLenum mode, GLint first, GLsizei count, GLsizei primcount', },
270 { 'return_type': 'void',
216 'names': ['glDrawBuffer'], 271 'names': ['glDrawBuffer'],
217 'arguments': 'GLenum mode', }, 272 'arguments': 'GLenum mode', },
218 { 'return_type': 'void', 273 { 'return_type': 'void',
219 'names': ['glDrawBuffersARB', 'glDrawBuffersEXT', 'glDrawBuffers'], 274 'names': ['glDrawBuffersARB', 'glDrawBuffersEXT', 'glDrawBuffers'],
220 'arguments': 'GLsizei n, const GLenum* bufs', }, 275 'arguments': 'GLsizei n, const GLenum* bufs', },
221 { 'return_type': 'void', 276 { 'return_type': 'void',
222 'names': ['glDrawElements'], 277 'names': ['glDrawElements'],
223 'arguments': 278 'arguments':
224 'GLenum mode, GLsizei count, GLenum type, const void* indices', }, 279 'GLenum mode, GLsizei count, GLenum type, const void* indices', },
225 { 'return_type': 'void', 280 { 'return_type': 'void',
226 'names': ['glEGLImageTargetTexture2DOES'], 281 'known_as': 'glDrawElementsInstancedANGLE',
282 'names': ['glDrawElementsInstancedARB', 'glDrawElementsInstancedANGLE',
283 'glDrawElementsInstanced'],
284 'arguments':
285 'GLenum mode, GLsizei count, GLenum type, const void* indices, '
286 'GLsizei primcount', },
287 { 'return_type': 'void',
288 'names': ['glEGLImageTargetRenderbufferStorageOES'],
227 'arguments': 'GLenum target, GLeglImageOES image', }, 289 'arguments': 'GLenum target, GLeglImageOES image', },
228 { 'return_type': 'void', 290 { 'return_type': 'void',
229 'names': ['glEGLImageTargetRenderbufferStorageOES'], 291 'names': ['glEGLImageTargetTexture2DOES'],
230 'arguments': 'GLenum target, GLeglImageOES image', }, 292 'arguments': 'GLenum target, GLeglImageOES image', },
231 { 'return_type': 'void', 293 { 'return_type': 'void',
232 'names': ['glEnable'], 294 'names': ['glEnable'],
233 'arguments': 'GLenum cap', }, 295 'arguments': 'GLenum cap', },
234 { 'return_type': 'void', 296 { 'return_type': 'void',
235 'names': ['glEnableVertexAttribArray'], 297 'names': ['glEnableVertexAttribArray'],
236 'arguments': 'GLuint index', }, 298 'arguments': 'GLuint index', },
237 { 'return_type': 'void', 299 { 'return_type': 'void',
238 'names': ['glEndQuery'], 300 'names': ['glEndQuery'],
239 'arguments': 'GLenum target', }, 301 'arguments': 'GLenum target', },
240 { 'return_type': 'void', 302 { 'return_type': 'void',
241 'names': ['glEndQueryARB', 'glEndQueryEXT'], 303 'names': ['glEndQueryARB', 'glEndQueryEXT'],
242 'arguments': 'GLenum target', }, 304 'arguments': 'GLenum target', },
305 { 'return_type': 'GLsync',
306 'names': ['glFenceSync'],
307 'arguments': 'GLenum condition, GLbitfield flags', },
243 { 'return_type': 'void', 308 { 'return_type': 'void',
244 'names': ['glFinish'], 309 'names': ['glFinish'],
245 'arguments': 'void', }, 310 'arguments': 'void', },
246 { 'return_type': 'void', 311 { 'return_type': 'void',
312 'known_as': 'glFinishFenceAPPLE',
313 'versions': [{ 'name': 'glFinishFenceAPPLE',
314 'extensions': ['GL_APPLE_fence'] }],
315 'arguments': 'GLuint fence', },
316 { 'return_type': 'void',
317 'names': ['glFinishFenceNV'],
318 'arguments': 'GLuint fence', },
319 { 'return_type': 'void',
247 'names': ['glFlush'], 320 'names': ['glFlush'],
248 'arguments': 'void', }, 321 'arguments': 'void', },
249 { 'return_type': 'void', 322 { 'return_type': 'void',
323 'names': ['glFlushMappedBufferRange'],
324 'arguments': 'GLenum target, GLintptr offset, GLsizeiptr length', },
325 { 'return_type': 'void',
250 'names': ['glFramebufferRenderbufferEXT', 'glFramebufferRenderbuffer'], 326 'names': ['glFramebufferRenderbufferEXT', 'glFramebufferRenderbuffer'],
251 'arguments': \ 327 'arguments':
252 'GLenum target, GLenum attachment, GLenum renderbuffertarget, ' 328 'GLenum target, GLenum attachment, GLenum renderbuffertarget, '
253 'GLuint renderbuffer', }, 329 'GLuint renderbuffer', },
254 { 'return_type': 'void', 330 { 'return_type': 'void',
255 'names': ['glFramebufferTexture2DEXT', 'glFramebufferTexture2D'], 331 'names': ['glFramebufferTexture2DEXT', 'glFramebufferTexture2D'],
256 'arguments': 332 'arguments':
257 'GLenum target, GLenum attachment, GLenum textarget, GLuint texture, ' 333 'GLenum target, GLenum attachment, GLenum textarget, GLuint texture, '
258 'GLint level', }, 334 'GLint level', },
259 { 'return_type': 'void', 335 { 'return_type': 'void',
260 'names': ['glFramebufferTexture2DMultisampleEXT'], 336 'names': ['glFramebufferTexture2DMultisampleEXT'],
261 'arguments': 337 'arguments':
262 'GLenum target, GLenum attachment, GLenum textarget, GLuint texture, ' 338 'GLenum target, GLenum attachment, GLenum textarget, GLuint texture, '
263 'GLint level, GLsizei samples', }, 339 'GLint level, GLsizei samples', },
264 { 'return_type': 'void', 340 { 'return_type': 'void',
265 'names': ['glFramebufferTexture2DMultisampleIMG'], 341 'names': ['glFramebufferTexture2DMultisampleIMG'],
266 'arguments': 342 'arguments':
267 'GLenum target, GLenum attachment, GLenum textarget, GLuint texture, ' 343 'GLenum target, GLenum attachment, GLenum textarget, GLuint texture, '
268 'GLint level, GLsizei samples', }, 344 'GLint level, GLsizei samples', },
269 { 'return_type': 'void', 345 { 'return_type': 'void',
270 'names': ['glFrontFace'], 346 'names': ['glFrontFace'],
271 'arguments': 'GLenum mode', }, 347 'arguments': 'GLenum mode', },
272 { 'return_type': 'void', 348 { 'return_type': 'void',
273 'names': ['glGenBuffersARB', 'glGenBuffers'], 349 'names': ['glGenBuffersARB', 'glGenBuffers'],
274 'arguments': 'GLsizei n, GLuint* buffers', }, 350 'arguments': 'GLsizei n, GLuint* buffers', },
275 { 'return_type': 'void', 351 { 'return_type': 'void',
352 'names': ['glGenerateMipmapEXT', 'glGenerateMipmap'],
353 'arguments': 'GLenum target', },
354 { 'return_type': 'void',
355 'known_as': 'glGenFencesAPPLE',
356 'versions': [{ 'name': 'glGenFencesAPPLE',
357 'extensions': ['GL_APPLE_fence'] }],
358 'arguments': 'GLsizei n, GLuint* fences', },
359 { 'return_type': 'void',
360 'names': ['glGenFencesNV'],
361 'arguments': 'GLsizei n, GLuint* fences', },
362 { 'return_type': 'void',
363 'names': ['glGenFramebuffersEXT', 'glGenFramebuffers'],
364 'arguments': 'GLsizei n, GLuint* framebuffers', },
365 { 'return_type': 'void',
276 'names': ['glGenQueries'], 366 'names': ['glGenQueries'],
277 'arguments': 'GLsizei n, GLuint* ids', }, 367 'arguments': 'GLsizei n, GLuint* ids', },
278 { 'return_type': 'void', 368 { 'return_type': 'void',
279 'names': ['glGenQueriesARB', 'glGenQueriesEXT'], 369 'names': ['glGenQueriesARB', 'glGenQueriesEXT'],
280 'arguments': 'GLsizei n, GLuint* ids', }, 370 'arguments': 'GLsizei n, GLuint* ids', },
281 { 'return_type': 'void', 371 { 'return_type': 'void',
282 'names': ['glGenerateMipmapEXT', 'glGenerateMipmap'],
283 'arguments': 'GLenum target', },
284 { 'return_type': 'void',
285 'names': ['glGenFramebuffersEXT', 'glGenFramebuffers'],
286 'arguments': 'GLsizei n, GLuint* framebuffers', },
287 { 'return_type': 'void',
288 'names': ['glGenRenderbuffersEXT', 'glGenRenderbuffers'], 372 'names': ['glGenRenderbuffersEXT', 'glGenRenderbuffers'],
289 'arguments': 'GLsizei n, GLuint* renderbuffers', }, 373 'arguments': 'GLsizei n, GLuint* renderbuffers', },
290 { 'return_type': 'void', 374 { 'return_type': 'void',
291 'names': ['glGenTextures'], 375 'names': ['glGenTextures'],
292 'arguments': 'GLsizei n, GLuint* textures', }, 376 'arguments': 'GLsizei n, GLuint* textures', },
293 { 'return_type': 'void', 377 { 'return_type': 'void',
378 'known_as': 'glGenVertexArraysOES',
379 'versions': [{ 'name': 'glGenVertexArrays',
380 'gl_versions': ['gl3', 'gl4', 'es3'] },
381 { 'name': 'glGenVertexArrays',
382 'extensions': ['GL_ARB_vertex_array_object'] },
383 { 'name': 'glGenVertexArraysOES' },
384 { 'name': 'glGenVertexArraysAPPLE',
385 'extensions': ['GL_APPLE_vertex_array_object'] }],
386 'arguments': 'GLsizei n, GLuint* arrays', },
387 { 'return_type': 'void',
294 'names': ['glGetActiveAttrib'], 388 'names': ['glGetActiveAttrib'],
295 'arguments': 389 'arguments':
296 'GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, ' 390 'GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, '
297 'GLint* size, GLenum* type, char* name', }, 391 'GLint* size, GLenum* type, char* name', },
298 { 'return_type': 'void', 392 { 'return_type': 'void',
299 'names': ['glGetActiveUniform'], 393 'names': ['glGetActiveUniform'],
300 'arguments': 394 'arguments':
301 'GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, ' 395 'GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, '
302 'GLint* size, GLenum* type, char* name', }, 396 'GLint* size, GLenum* type, char* name', },
303 { 'return_type': 'void', 397 { 'return_type': 'void',
304 'names': ['glGetAttachedShaders'], 398 'names': ['glGetAttachedShaders'],
305 'arguments': 399 'arguments':
306 'GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders', }, 400 'GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders', },
307 { 'return_type': 'GLint', 401 { 'return_type': 'GLint',
308 'names': ['glGetAttribLocation'], 402 'names': ['glGetAttribLocation'],
309 'arguments': 'GLuint program, const char* name', }, 403 'arguments': 'GLuint program, const char* name', },
310 { 'return_type': 'void', 404 { 'return_type': 'void',
311 'names': ['glGetBooleanv'], 405 'names': ['glGetBooleanv'],
312 'arguments': 'GLenum pname, GLboolean* params', }, 406 'arguments': 'GLenum pname, GLboolean* params', },
313 { 'return_type': 'void', 407 { 'return_type': 'void',
314 'names': ['glGetBufferParameteriv'], 408 'names': ['glGetBufferParameteriv'],
315 'arguments': 'GLenum target, GLenum pname, GLint* params', }, 409 'arguments': 'GLenum target, GLenum pname, GLint* params', },
316 { 'return_type': 'GLenum', 410 { 'return_type': 'GLenum',
317 'names': ['glGetError'], 411 'names': ['glGetError'],
318 'arguments': 'void', 412 'arguments': 'void',
319 'logging_code': """ 413 'logging_code': """
320 GL_SERVICE_LOG("GL_RESULT: " << GLES2Util::GetStringError(result)); 414 GL_SERVICE_LOG("GL_RESULT: " << GLES2Util::GetStringError(result));
321 """, }, 415 """, },
322 { 'return_type': 'void', 416 { 'return_type': 'void',
417 'names': ['glGetFenceivNV'],
418 'arguments': 'GLuint fence, GLenum pname, GLint* params', },
419 { 'return_type': 'void',
323 'names': ['glGetFloatv'], 420 'names': ['glGetFloatv'],
324 'arguments': 'GLenum pname, GLfloat* params', }, 421 'arguments': 'GLenum pname, GLfloat* params', },
325 { 'return_type': 'void', 422 { 'return_type': 'void',
326 'names': ['glGetFramebufferAttachmentParameterivEXT', 423 'names': ['glGetFramebufferAttachmentParameterivEXT',
327 'glGetFramebufferAttachmentParameteriv'], 424 'glGetFramebufferAttachmentParameteriv'],
328 'arguments': 'GLenum target, ' 425 'arguments': 'GLenum target, '
329 'GLenum attachment, GLenum pname, GLint* params', }, 426 'GLenum attachment, GLenum pname, GLint* params', },
330 { 'return_type': 'GLenum', 427 { 'return_type': 'GLenum',
331 'names': ['glGetGraphicsResetStatusARB', 428 'names': ['glGetGraphicsResetStatusARB',
332 'glGetGraphicsResetStatusKHR', 429 'glGetGraphicsResetStatusKHR',
333 'glGetGraphicsResetStatusEXT', 430 'glGetGraphicsResetStatusEXT',
334 'glGetGraphicsResetStatus'], 431 'glGetGraphicsResetStatus'],
335 'arguments': 'void', }, 432 'arguments': 'void', },
336 { 'return_type': 'void', 433 { 'return_type': 'void',
434 'names': ['glGetInteger64v'],
435 'arguments': 'GLenum pname, GLint64* params', },
436 { 'return_type': 'void',
337 'names': ['glGetIntegerv'], 437 'names': ['glGetIntegerv'],
338 'arguments': 'GLenum pname, GLint* params', }, 438 'arguments': 'GLenum pname, GLint* params', },
339 { 'return_type': 'void', 439 { 'return_type': 'void',
340 'names': ['glGetInteger64v'],
341 'arguments': 'GLenum pname, GLint64* params', },
342 { 'return_type': 'void',
343 'known_as': 'glGetProgramBinary', 440 'known_as': 'glGetProgramBinary',
344 'versions': [{ 'name': 'glGetProgramBinaryOES' }, 441 'versions': [{ 'name': 'glGetProgramBinaryOES' },
345 { 'name': 'glGetProgramBinary', 442 { 'name': 'glGetProgramBinary',
346 'extensions': ['GL_ARB_get_program_binary'] }, 443 'extensions': ['GL_ARB_get_program_binary'] },
347 { 'name': 'glGetProgramBinary' }], 444 { 'name': 'glGetProgramBinary' }],
348 'arguments': 'GLuint program, GLsizei bufSize, GLsizei* length, ' 445 'arguments': 'GLuint program, GLsizei bufSize, GLsizei* length, '
349 'GLenum* binaryFormat, GLvoid* binary' }, 446 'GLenum* binaryFormat, GLvoid* binary' },
350 { 'return_type': 'void', 447 { 'return_type': 'void',
351 'names': ['glGetProgramiv'],
352 'arguments': 'GLuint program, GLenum pname, GLint* params', },
353 { 'return_type': 'void',
354 'names': ['glGetProgramInfoLog'], 448 'names': ['glGetProgramInfoLog'],
355 'arguments': 449 'arguments':
356 'GLuint program, GLsizei bufsize, GLsizei* length, char* infolog', }, 450 'GLuint program, GLsizei bufsize, GLsizei* length, char* infolog', },
357 { 'return_type': 'void', 451 { 'return_type': 'void',
452 'names': ['glGetProgramiv'],
453 'arguments': 'GLuint program, GLenum pname, GLint* params', },
454 { 'return_type': 'void',
358 'names': ['glGetQueryiv'], 455 'names': ['glGetQueryiv'],
359 'arguments': 'GLenum target, GLenum pname, GLint* params', }, 456 'arguments': 'GLenum target, GLenum pname, GLint* params', },
360 { 'return_type': 'void', 457 { 'return_type': 'void',
361 'names': ['glGetQueryivARB', 'glGetQueryivEXT'], 458 'names': ['glGetQueryivARB', 'glGetQueryivEXT'],
362 'arguments': 'GLenum target, GLenum pname, GLint* params', }, 459 'arguments': 'GLenum target, GLenum pname, GLint* params', },
363 { 'return_type': 'void', 460 { 'return_type': 'void',
364 'names': ['glGetQueryObjecti64v'], 461 'names': ['glGetQueryObjecti64v'],
365 'arguments': 'GLuint id, GLenum pname, GLint64* params', }, 462 'arguments': 'GLuint id, GLenum pname, GLint64* params', },
366 { 'return_type': 'void', 463 { 'return_type': 'void',
464 'names': ['glGetQueryObjectiv', 'glGetQueryObjectivARB',
465 'glGetQueryObjectivEXT'],
466 'arguments': 'GLuint id, GLenum pname, GLint* params', },
467 { 'return_type': 'void',
367 'names': ['glGetQueryObjectui64v', 'glGetQueryObjectui64vEXT'], 468 'names': ['glGetQueryObjectui64v', 'glGetQueryObjectui64vEXT'],
368 'arguments': 'GLuint id, GLenum pname, GLuint64* params', }, 469 'arguments': 'GLuint id, GLenum pname, GLuint64* params', },
369 { 'return_type': 'void', 470 { 'return_type': 'void',
370 'names': ['glGetQueryObjectuiv'], 471 'names': ['glGetQueryObjectuiv'],
371 'arguments': 'GLuint id, GLenum pname, GLuint* params', }, 472 'arguments': 'GLuint id, GLenum pname, GLuint* params', },
372 { 'return_type': 'void', 473 { 'return_type': 'void',
373 'names': ['glGetQueryObjectuivARB', 'glGetQueryObjectuivEXT'], 474 'names': ['glGetQueryObjectuivARB', 'glGetQueryObjectuivEXT'],
374 'arguments': 'GLuint id, GLenum pname, GLuint* params', }, 475 'arguments': 'GLuint id, GLenum pname, GLuint* params', },
375 { 'return_type': 'void', 476 { 'return_type': 'void',
376 'names': ['glGetQueryObjectiv', 'glGetQueryObjectivARB',
377 'glGetQueryObjectivEXT'],
378 'arguments': 'GLuint id, GLenum pname, GLint* params', },
379 { 'return_type': 'void',
380 'names': ['glGetRenderbufferParameterivEXT', 'glGetRenderbufferParameteriv'], 477 'names': ['glGetRenderbufferParameterivEXT', 'glGetRenderbufferParameteriv'],
381 'arguments': 'GLenum target, GLenum pname, GLint* params', }, 478 'arguments': 'GLenum target, GLenum pname, GLint* params', },
382 { 'return_type': 'void', 479 { 'return_type': 'void',
383 'names': ['glGetShaderiv'],
384 'arguments': 'GLuint shader, GLenum pname, GLint* params', },
385 { 'return_type': 'void',
386 'names': ['glGetShaderInfoLog'], 480 'names': ['glGetShaderInfoLog'],
387 'arguments': 481 'arguments':
388 'GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog', }, 482 'GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog', },
389 { 'return_type': 'void', 483 { 'return_type': 'void',
484 'names': ['glGetShaderiv'],
485 'arguments': 'GLuint shader, GLenum pname, GLint* params', },
486 { 'return_type': 'void',
390 'names': ['glGetShaderPrecisionFormat'], 487 'names': ['glGetShaderPrecisionFormat'],
391 'arguments': 'GLenum shadertype, GLenum precisiontype, ' 488 'arguments': 'GLenum shadertype, GLenum precisiontype, '
392 'GLint* range, GLint* precision', }, 489 'GLint* range, GLint* precision', },
393 { 'return_type': 'void', 490 { 'return_type': 'void',
394 'names': ['glGetShaderSource'], 491 'names': ['glGetShaderSource'],
395 'arguments': 492 'arguments':
396 'GLuint shader, GLsizei bufsize, GLsizei* length, char* source', }, 493 'GLuint shader, GLsizei bufsize, GLsizei* length, char* source', },
397 { 'return_type': 'const GLubyte*', 494 { 'return_type': 'const GLubyte*',
398 'names': ['glGetString'], 495 'names': ['glGetString'],
399 'arguments': 'GLenum name', }, 496 'arguments': 'GLenum name', },
400 { 'return_type': 'void', 497 { 'return_type': 'void',
498 'names': ['glGetSynciv'],
499 'arguments':
500 'GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length,'
501 'GLint* values', },
502 { 'return_type': 'void',
401 'names': ['glGetTexLevelParameterfv'], 503 'names': ['glGetTexLevelParameterfv'],
402 'arguments': 'GLenum target, GLint level, GLenum pname, GLfloat* params', }, 504 'arguments': 'GLenum target, GLint level, GLenum pname, GLfloat* params', },
403 { 'return_type': 'void', 505 { 'return_type': 'void',
404 'names': ['glGetTexLevelParameteriv'], 506 'names': ['glGetTexLevelParameteriv'],
405 'arguments': 'GLenum target, GLint level, GLenum pname, GLint* params', }, 507 'arguments': 'GLenum target, GLint level, GLenum pname, GLint* params', },
406 { 'return_type': 'void', 508 { 'return_type': 'void',
407 'names': ['glGetTexParameterfv'], 509 'names': ['glGetTexParameterfv'],
408 'arguments': 'GLenum target, GLenum pname, GLfloat* params', }, 510 'arguments': 'GLenum target, GLenum pname, GLfloat* params', },
409 { 'return_type': 'void', 511 { 'return_type': 'void',
410 'names': ['glGetTexParameteriv'], 512 'names': ['glGetTexParameteriv'],
(...skipping 26 matching lines...) Expand all
437 { 'return_type': 'void', 539 { 'return_type': 'void',
438 'names': ['glInsertEventMarkerEXT'], 540 'names': ['glInsertEventMarkerEXT'],
439 'arguments': 'GLsizei length, const char* marker', }, 541 'arguments': 'GLsizei length, const char* marker', },
440 { 'return_type': 'GLboolean', 542 { 'return_type': 'GLboolean',
441 'names': ['glIsBuffer'], 543 'names': ['glIsBuffer'],
442 'arguments': 'GLuint buffer', }, 544 'arguments': 'GLuint buffer', },
443 { 'return_type': 'GLboolean', 545 { 'return_type': 'GLboolean',
444 'names': ['glIsEnabled'], 546 'names': ['glIsEnabled'],
445 'arguments': 'GLenum cap', }, 547 'arguments': 'GLenum cap', },
446 { 'return_type': 'GLboolean', 548 { 'return_type': 'GLboolean',
549 'known_as': 'glIsFenceAPPLE',
550 'versions': [{ 'name': 'glIsFenceAPPLE',
551 'extensions': ['GL_APPLE_fence'] }],
552 'arguments': 'GLuint fence', },
553 { 'return_type': 'GLboolean',
554 'names': ['glIsFenceNV'],
555 'arguments': 'GLuint fence', },
556 { 'return_type': 'GLboolean',
447 'names': ['glIsFramebufferEXT', 'glIsFramebuffer'], 557 'names': ['glIsFramebufferEXT', 'glIsFramebuffer'],
448 'arguments': 'GLuint framebuffer', }, 558 'arguments': 'GLuint framebuffer', },
449 { 'return_type': 'GLboolean', 559 { 'return_type': 'GLboolean',
450 'names': ['glIsProgram'], 560 'names': ['glIsProgram'],
451 'arguments': 'GLuint program', }, 561 'arguments': 'GLuint program', },
452 { 'return_type': 'GLboolean', 562 { 'return_type': 'GLboolean',
453 'names': ['glIsQueryARB', 'glIsQueryEXT'], 563 'names': ['glIsQueryARB', 'glIsQueryEXT'],
454 'arguments': 'GLuint query', }, 564 'arguments': 'GLuint query', },
455 { 'return_type': 'GLboolean', 565 { 'return_type': 'GLboolean',
456 'names': ['glIsRenderbufferEXT', 'glIsRenderbuffer'], 566 'names': ['glIsRenderbufferEXT', 'glIsRenderbuffer'],
457 'arguments': 'GLuint renderbuffer', }, 567 'arguments': 'GLuint renderbuffer', },
458 { 'return_type': 'GLboolean', 568 { 'return_type': 'GLboolean',
459 'names': ['glIsShader'], 569 'names': ['glIsShader'],
460 'arguments': 'GLuint shader', }, 570 'arguments': 'GLuint shader', },
461 { 'return_type': 'GLboolean', 571 { 'return_type': 'GLboolean',
572 'names': ['glIsSync'],
573 'arguments': 'GLsync sync', },
574 { 'return_type': 'GLboolean',
462 'names': ['glIsTexture'], 575 'names': ['glIsTexture'],
463 'arguments': 'GLuint texture', }, 576 'arguments': 'GLuint texture', },
577 { 'return_type': 'GLboolean',
578 'known_as': 'glIsVertexArrayOES',
579 'versions': [{ 'name': 'glIsVertexArray',
580 'gl_versions': ['gl3', 'gl4'] },
581 { 'name': 'glIsVertexArray',
582 'extensions': ['GL_ARB_vertex_array_object'] },
583 { 'name': 'glIsVertexArrayOES' },
584 { 'name': 'glIsVertexArrayAPPLE',
585 'extensions': ['GL_APPLE_vertex_array_object'] }],
586 'arguments': 'GLuint array' },
464 { 'return_type': 'void', 587 { 'return_type': 'void',
465 'names': ['glLineWidth'], 588 'names': ['glLineWidth'],
466 'arguments': 'GLfloat width', }, 589 'arguments': 'GLfloat width', },
467 { 'return_type': 'void', 590 { 'return_type': 'void',
468 'names': ['glLinkProgram'], 591 'names': ['glLinkProgram'],
469 'arguments': 'GLuint program', }, 592 'arguments': 'GLuint program', },
470 { 'return_type': 'void*', 593 { 'return_type': 'void*',
471 'known_as': 'glMapBuffer', 594 'known_as': 'glMapBuffer',
472 'names': ['glMapBufferOES', 'glMapBuffer'], 595 'names': ['glMapBufferOES', 'glMapBuffer'],
473 'arguments': 'GLenum target, GLenum access', }, 596 'arguments': 'GLenum target, GLenum access', },
474 { 'return_type': 'void*', 597 { 'return_type': 'void*',
475 'names': ['glMapBufferRange'], 598 'names': ['glMapBufferRange'],
476 'arguments': 599 'arguments':
477 'GLenum target, GLintptr offset, GLsizeiptr length, GLenum access', }, 600 'GLenum target, GLintptr offset, GLsizeiptr length, GLenum access', },
478 { 'return_type': 'void', 601 { 'return_type': 'void',
479 'names': ['glFlushMappedBufferRange'], 602 'known_as': 'glMatrixLoadfEXT',
480 'arguments': 'GLenum target, GLintptr offset, GLsizeiptr length', }, 603 'versions': [{ 'name': 'glMatrixLoadfEXT',
604 'gl_versions': ['gl4'],
605 'extensions': ['GL_EXT_direct_state_access'] },
606 { 'name': 'glMatrixLoadfEXT',
607 'gl_versions': ['es3'],
608 'extensions': ['GL_NV_path_rendering'] }],
609 'arguments': 'GLenum matrixMode, const GLfloat* m' },
610 { 'return_type': 'void',
611 'known_as': 'glMatrixLoadIdentityEXT',
612 'versions': [{ 'name': 'glMatrixLoadIdentityEXT',
613 'gl_versions': ['gl4'],
614 'extensions': ['GL_EXT_direct_state_access'] },
615 { 'name': 'glMatrixLoadIdentityEXT',
616 'gl_versions': ['es3'],
617 'extensions': ['GL_NV_path_rendering'] }],
618 'arguments': 'GLenum matrixMode' },
481 { 'return_type': 'void', 619 { 'return_type': 'void',
482 'names': ['glPixelStorei'], 620 'names': ['glPixelStorei'],
483 'arguments': 'GLenum pname, GLint param', }, 621 'arguments': 'GLenum pname, GLint param', },
484 { 'return_type': 'void', 622 { 'return_type': 'void',
485 'names': ['glPointParameteri'], 623 'names': ['glPointParameteri'],
486 'arguments': 'GLenum pname, GLint param', }, 624 'arguments': 'GLenum pname, GLint param', },
487 { 'return_type': 'void', 625 { 'return_type': 'void',
488 'names': ['glPolygonOffset'], 626 'names': ['glPolygonOffset'],
489 'arguments': 'GLfloat factor, GLfloat units', }, 627 'arguments': 'GLfloat factor, GLfloat units', },
490 { 'return_type': 'void', 628 { 'return_type': 'void',
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 # implementation, which require different use of the API and may have 664 # implementation, which require different use of the API and may have
527 # different performance (explicit resolve performing worse, for example). 665 # different performance (explicit resolve performing worse, for example).
528 # So even though the function signature is the same across versions, we split 666 # So even though the function signature is the same across versions, we split
529 # their definitions so that the function to use can be chosen correctly at a 667 # their definitions so that the function to use can be chosen correctly at a
530 # higher level. 668 # higher level.
531 # TODO(oetuaho@nvidia.com): Some of these might still be possible to combine. 669 # TODO(oetuaho@nvidia.com): Some of these might still be possible to combine.
532 # This could also fix weirdness in the mock bindings that's caused by the same 670 # This could also fix weirdness in the mock bindings that's caused by the same
533 # function name appearing multiple times. 671 # function name appearing multiple times.
534 # This is the ES3 function, which requires explicit resolve: 672 # This is the ES3 function, which requires explicit resolve:
535 { 'return_type': 'void', 673 { 'return_type': 'void',
674 'names': ['glRenderbufferStorageEXT', 'glRenderbufferStorage'],
675 'arguments':
676 'GLenum target, GLenum internalformat, GLsizei width, GLsizei height', },
677 { 'return_type': 'void',
536 'names': ['glRenderbufferStorageMultisample'], 678 'names': ['glRenderbufferStorageMultisample'],
537 'arguments': 'GLenum target, GLsizei samples, GLenum internalformat, ' 679 'arguments': 'GLenum target, GLsizei samples, GLenum internalformat, '
538 'GLsizei width, GLsizei height', }, 680 'GLsizei width, GLsizei height', },
681 { 'return_type': 'void',
682 'names': ['glRenderbufferStorageMultisampleANGLE',
683 'glRenderbufferStorageMultisample'],
684 'arguments': 'GLenum target, GLsizei samples, GLenum internalformat, '
685 'GLsizei width, GLsizei height', },
539 # In desktop GL, EXT and core versions both have an explicit resolve step, 686 # In desktop GL, EXT and core versions both have an explicit resolve step,
540 # though desktop core GL implicitly resolves when drawing to a window. 687 # though desktop core GL implicitly resolves when drawing to a window.
541 # TODO(oetuaho@nvidia.com): Right now this function also doubles as ES2 EXT 688 # TODO(oetuaho@nvidia.com): Right now this function also doubles as ES2 EXT
542 # function, which has implicit resolve, and for which the fallback is wrong. 689 # function, which has implicit resolve, and for which the fallback is wrong.
543 # Fix this. 690 # Fix this.
544 { 'return_type': 'void', 691 { 'return_type': 'void',
545 'names': ['glRenderbufferStorageMultisampleEXT', 692 'names': ['glRenderbufferStorageMultisampleEXT',
546 'glRenderbufferStorageMultisample'], 693 'glRenderbufferStorageMultisample'],
547 'arguments': 'GLenum target, GLsizei samples, GLenum internalformat, ' 694 'arguments': 'GLenum target, GLsizei samples, GLenum internalformat, '
548 'GLsizei width, GLsizei height', }, 695 'GLsizei width, GLsizei height', },
549 { 'return_type': 'void', 696 { 'return_type': 'void',
550 'names': ['glRenderbufferStorageMultisampleANGLE',
551 'glRenderbufferStorageMultisample'],
552 'arguments': 'GLenum target, GLsizei samples, GLenum internalformat, '
553 'GLsizei width, GLsizei height', },
554 { 'return_type': 'void',
555 'names': ['glRenderbufferStorageMultisampleIMG'], 697 'names': ['glRenderbufferStorageMultisampleIMG'],
556 'arguments': 'GLenum target, GLsizei samples, GLenum internalformat, ' 698 'arguments': 'GLenum target, GLsizei samples, GLenum internalformat, '
557 'GLsizei width, GLsizei height', }, 699 'GLsizei width, GLsizei height', },
558 { 'return_type': 'void', 700 { 'return_type': 'void',
559 'names': ['glRenderbufferStorageEXT', 'glRenderbufferStorage'],
560 'arguments':
561 'GLenum target, GLenum internalformat, GLsizei width, GLsizei height', },
562 { 'return_type': 'void',
563 'names': ['glSampleCoverage'], 701 'names': ['glSampleCoverage'],
564 'arguments': 'GLclampf value, GLboolean invert', }, 702 'arguments': 'GLclampf value, GLboolean invert', },
565 { 'return_type': 'void', 703 { 'return_type': 'void',
566 'names': ['glScissor'], 704 'names': ['glScissor'],
567 'arguments': 'GLint x, GLint y, GLsizei width, GLsizei height', }, 705 'arguments': 'GLint x, GLint y, GLsizei width, GLsizei height', },
568 { 'return_type': 'void', 706 { 'return_type': 'void',
707 'known_as': 'glSetFenceAPPLE',
708 'versions': [{ 'name': 'glSetFenceAPPLE',
709 'extensions': ['GL_APPLE_fence'] }],
710 'arguments': 'GLuint fence', },
711 { 'return_type': 'void',
712 'names': ['glSetFenceNV'],
713 'arguments': 'GLuint fence, GLenum condition', },
714 { 'return_type': 'void',
569 'names': ['glShaderBinary'], 715 'names': ['glShaderBinary'],
570 'arguments': 'GLsizei n, const GLuint* shaders, GLenum binaryformat, ' 716 'arguments': 'GLsizei n, const GLuint* shaders, GLenum binaryformat, '
571 'const void* binary, GLsizei length', }, 717 'const void* binary, GLsizei length', },
572 { 'return_type': 'void', 718 { 'return_type': 'void',
573 'names': ['glShaderSource'], 719 'names': ['glShaderSource'],
574 'arguments': 'GLuint shader, GLsizei count, const char* const* str, ' 720 'arguments': 'GLuint shader, GLsizei count, const char* const* str, '
575 'const GLint* length', 721 'const GLint* length',
576 'logging_code': """ 722 'logging_code': """
577 GL_SERVICE_LOG_CODE_BLOCK({ 723 GL_SERVICE_LOG_CODE_BLOCK({
578 for (GLsizei ii = 0; ii < count; ++ii) { 724 for (GLsizei ii = 0; ii < count; ++ii) {
(...skipping 21 matching lines...) Expand all
600 'arguments': 'GLuint mask', }, 746 'arguments': 'GLuint mask', },
601 { 'return_type': 'void', 747 { 'return_type': 'void',
602 'names': ['glStencilMaskSeparate'], 748 'names': ['glStencilMaskSeparate'],
603 'arguments': 'GLenum face, GLuint mask', }, 749 'arguments': 'GLenum face, GLuint mask', },
604 { 'return_type': 'void', 750 { 'return_type': 'void',
605 'names': ['glStencilOp'], 751 'names': ['glStencilOp'],
606 'arguments': 'GLenum fail, GLenum zfail, GLenum zpass', }, 752 'arguments': 'GLenum fail, GLenum zfail, GLenum zpass', },
607 { 'return_type': 'void', 753 { 'return_type': 'void',
608 'names': ['glStencilOpSeparate'], 754 'names': ['glStencilOpSeparate'],
609 'arguments': 'GLenum face, GLenum fail, GLenum zfail, GLenum zpass', }, 755 'arguments': 'GLenum face, GLenum fail, GLenum zfail, GLenum zpass', },
756 { 'return_type': 'GLboolean',
757 'known_as': 'glTestFenceAPPLE',
758 'versions': [{ 'name': 'glTestFenceAPPLE',
759 'extensions': ['GL_APPLE_fence'] }],
760 'arguments': 'GLuint fence', },
761 { 'return_type': 'GLboolean',
762 'names': ['glTestFenceNV'],
763 'arguments': 'GLuint fence', },
610 { 'return_type': 'void', 764 { 'return_type': 'void',
611 'names': ['glTexImage2D'], 765 'names': ['glTexImage2D'],
612 'arguments': 766 'arguments':
613 'GLenum target, GLint level, GLint internalformat, GLsizei width, ' 767 'GLenum target, GLint level, GLint internalformat, GLsizei width, '
614 'GLsizei height, GLint border, GLenum format, GLenum type, ' 768 'GLsizei height, GLint border, GLenum format, GLenum type, '
615 'const void* pixels', }, 769 'const void* pixels', },
616 { 'return_type': 'void', 770 { 'return_type': 'void',
617 'names': ['glTexParameterf'], 771 'names': ['glTexParameterf'],
618 'arguments': 'GLenum target, GLenum pname, GLfloat param', }, 772 'arguments': 'GLenum target, GLenum pname, GLfloat param', },
619 { 'return_type': 'void', 773 { 'return_type': 'void',
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 { 'return_type': 'void', 883 { 'return_type': 'void',
730 'names': ['glVertexAttrib3fv'], 884 'names': ['glVertexAttrib3fv'],
731 'arguments': 'GLuint indx, const GLfloat* values', }, 885 'arguments': 'GLuint indx, const GLfloat* values', },
732 { 'return_type': 'void', 886 { 'return_type': 'void',
733 'names': ['glVertexAttrib4f'], 887 'names': ['glVertexAttrib4f'],
734 'arguments': 'GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w', }, 888 'arguments': 'GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w', },
735 { 'return_type': 'void', 889 { 'return_type': 'void',
736 'names': ['glVertexAttrib4fv'], 890 'names': ['glVertexAttrib4fv'],
737 'arguments': 'GLuint indx, const GLfloat* values', }, 891 'arguments': 'GLuint indx, const GLfloat* values', },
738 { 'return_type': 'void', 892 { 'return_type': 'void',
893 'known_as': 'glVertexAttribDivisorANGLE',
894 'names': ['glVertexAttribDivisorARB', 'glVertexAttribDivisorANGLE',
895 'glVertexAttribDivisor'],
896 'arguments':
897 'GLuint index, GLuint divisor', },
898 { 'return_type': 'void',
739 'names': ['glVertexAttribPointer'], 899 'names': ['glVertexAttribPointer'],
740 'arguments': 'GLuint indx, GLint size, GLenum type, GLboolean normalized, ' 900 'arguments': 'GLuint indx, GLint size, GLenum type, GLboolean normalized, '
741 'GLsizei stride, const void* ptr', }, 901 'GLsizei stride, const void* ptr', },
742 { 'return_type': 'void', 902 { 'return_type': 'void',
743 'names': ['glViewport'], 903 'names': ['glViewport'],
744 'arguments': 'GLint x, GLint y, GLsizei width, GLsizei height', }, 904 'arguments': 'GLint x, GLint y, GLsizei width, GLsizei height', },
745 { 'return_type': 'void',
746 'names': ['glGenFencesNV'],
747 'arguments': 'GLsizei n, GLuint* fences', },
748 { 'return_type': 'void',
749 'names': ['glDeleteFencesNV'],
750 'arguments': 'GLsizei n, const GLuint* fences', },
751 { 'return_type': 'void',
752 'names': ['glSetFenceNV'],
753 'arguments': 'GLuint fence, GLenum condition', },
754 { 'return_type': 'GLboolean',
755 'names': ['glTestFenceNV'],
756 'arguments': 'GLuint fence', },
757 { 'return_type': 'void',
758 'names': ['glFinishFenceNV'],
759 'arguments': 'GLuint fence', },
760 { 'return_type': 'GLboolean',
761 'names': ['glIsFenceNV'],
762 'arguments': 'GLuint fence', },
763 { 'return_type': 'void',
764 'names': ['glGetFenceivNV'],
765 'arguments': 'GLuint fence, GLenum pname, GLint* params', },
766 { 'return_type': 'GLsync',
767 'names': ['glFenceSync'],
768 'arguments': 'GLenum condition, GLbitfield flags', },
769 { 'return_type': 'GLboolean',
770 'names': ['glIsSync'],
771 'arguments': 'GLsync sync', },
772 { 'return_type': 'void',
773 'names': ['glDeleteSync'],
774 'arguments': 'GLsync sync', },
775 { 'return_type': 'void',
776 'names': ['glGetSynciv'],
777 'arguments':
778 'GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length,'
779 'GLint* values', },
780 { 'return_type': 'GLenum',
781 'names': ['glClientWaitSync'],
782 'arguments':
783 'GLsync sync, GLbitfield flags, GLuint64 timeout', },
784 { 'return_type': 'GLenum', 905 { 'return_type': 'GLenum',
785 'names': ['glWaitSync'], 906 'names': ['glWaitSync'],
786 'arguments': 907 'arguments':
787 'GLsync sync, GLbitfield flags, GLuint64 timeout', }, 908 'GLsync sync, GLbitfield flags, GLuint64 timeout', },
788 { 'return_type': 'void',
789 'known_as': 'glDrawArraysInstancedANGLE',
790 'names': ['glDrawArraysInstancedARB', 'glDrawArraysInstancedANGLE',
791 'glDrawArraysInstanced'],
792 'arguments': 'GLenum mode, GLint first, GLsizei count, GLsizei primcount', },
793 { 'return_type': 'void',
794 'known_as': 'glDrawElementsInstancedANGLE',
795 'names': ['glDrawElementsInstancedARB', 'glDrawElementsInstancedANGLE',
796 'glDrawElementsInstanced'],
797 'arguments':
798 'GLenum mode, GLsizei count, GLenum type, const void* indices, '
799 'GLsizei primcount', },
800 { 'return_type': 'void',
801 'known_as': 'glVertexAttribDivisorANGLE',
802 'names': ['glVertexAttribDivisorARB', 'glVertexAttribDivisorANGLE',
803 'glVertexAttribDivisor'],
804 'arguments':
805 'GLuint index, GLuint divisor', },
806 { 'return_type': 'void',
807 'known_as': 'glGenVertexArraysOES',
808 'versions': [{ 'name': 'glGenVertexArrays',
809 'gl_versions': ['gl3', 'gl4', 'es3'] },
810 { 'name': 'glGenVertexArrays',
811 'extensions': ['GL_ARB_vertex_array_object'] },
812 { 'name': 'glGenVertexArraysOES' },
813 { 'name': 'glGenVertexArraysAPPLE',
814 'extensions': ['GL_APPLE_vertex_array_object'] }],
815 'arguments': 'GLsizei n, GLuint* arrays', },
816 { 'return_type': 'void',
817 'known_as': 'glDeleteVertexArraysOES',
818 'versions': [{ 'name': 'glDeleteVertexArrays',
819 'gl_versions': ['gl3', 'gl4', 'es3'] },
820 { 'name': 'glDeleteVertexArrays',
821 'extensions': ['GL_ARB_vertex_array_object'] },
822 { 'name': 'glDeleteVertexArraysOES' },
823 { 'name': 'glDeleteVertexArraysAPPLE',
824 'extensions': ['GL_APPLE_vertex_array_object'] }],
825 'arguments': 'GLsizei n, const GLuint* arrays' },
826 { 'return_type': 'void',
827 'known_as': 'glBindVertexArrayOES',
828 'versions': [{ 'name': 'glBindVertexArray',
829 'gl_versions': ['gl3', 'gl4', 'es3'] },
830 { 'name': 'glBindVertexArray',
831 'extensions': ['GL_ARB_vertex_array_object'] },
832 { 'name': 'glBindVertexArrayOES' },
833 { 'name': 'glBindVertexArrayAPPLE',
834 'extensions': ['GL_APPLE_vertex_array_object'] }],
835 'arguments': 'GLuint array' },
836 { 'return_type': 'GLboolean',
837 'known_as': 'glIsVertexArrayOES',
838 'versions': [{ 'name': 'glIsVertexArray',
839 'gl_versions': ['gl3', 'gl4'] },
840 { 'name': 'glIsVertexArray',
841 'extensions': ['GL_ARB_vertex_array_object'] },
842 { 'name': 'glIsVertexArrayOES' },
843 { 'name': 'glIsVertexArrayAPPLE',
844 'extensions': ['GL_APPLE_vertex_array_object'] }],
845 'arguments': 'GLuint array' },
846 { 'return_type': 'void',
847 'known_as': 'glDiscardFramebufferEXT',
848 'versions': [{ 'name': 'glInvalidateFramebuffer',
849 'gl_versions': ['es3'],
850 'extensions': [] },
851 { 'name': 'glDiscardFramebufferEXT',
852 'gl_versions': ['es1', 'es2'] }],
853 'arguments': 'GLenum target, GLsizei numAttachments, '
854 'const GLenum* attachments' },
855 { 'return_type': 'void',
856 'known_as': 'glMatrixLoadfEXT',
857 'versions': [{ 'name': 'glMatrixLoadfEXT',
858 'gl_versions': ['gl4'],
859 'extensions': ['GL_EXT_direct_state_access'] },
860 { 'name': 'glMatrixLoadfEXT',
861 'gl_versions': ['es3'],
862 'extensions': ['GL_NV_path_rendering'] }],
863 'arguments': 'GLenum matrixMode, const GLfloat* m' },
864 { 'return_type': 'void',
865 'known_as': 'glMatrixLoadIdentityEXT',
866 'versions': [{ 'name': 'glMatrixLoadIdentityEXT',
867 'gl_versions': ['gl4'],
868 'extensions': ['GL_EXT_direct_state_access'] },
869 { 'name': 'glMatrixLoadIdentityEXT',
870 'gl_versions': ['es3'],
871 'extensions': ['GL_NV_path_rendering'] }],
872 'arguments': 'GLenum matrixMode' },
873 { 'return_type': 'void',
874 'known_as': 'glBlendBarrierKHR',
875 'versions': [{ 'name': 'glBlendBarrierNV',
876 'extensions': ['GL_NV_blend_equation_advanced'] },
877 { 'name': 'glBlendBarrierKHR',
878 'extensions': ['GL_KHR_blend_equation_advanced'] }],
879 'arguments': 'void' },
880 ] 909 ]
881 910
882 OSMESA_FUNCTIONS = [ 911 OSMESA_FUNCTIONS = [
912 { 'return_type': 'void',
913 'names': ['OSMesaColorClamp'],
914 'arguments': 'GLboolean enable', },
883 { 'return_type': 'OSMesaContext', 915 { 'return_type': 'OSMesaContext',
884 'names': ['OSMesaCreateContext'], 916 'names': ['OSMesaCreateContext'],
885 'arguments': 'GLenum format, OSMesaContext sharelist', }, 917 'arguments': 'GLenum format, OSMesaContext sharelist', },
886 { 'return_type': 'OSMesaContext', 918 { 'return_type': 'OSMesaContext',
887 'names': ['OSMesaCreateContextExt'], 919 'names': ['OSMesaCreateContextExt'],
888 'arguments': 920 'arguments':
889 'GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, ' 921 'GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, '
890 'OSMesaContext sharelist', }, 922 'OSMesaContext sharelist', },
891 { 'return_type': 'void', 923 { 'return_type': 'void',
892 'names': ['OSMesaDestroyContext'], 924 'names': ['OSMesaDestroyContext'],
893 'arguments': 'OSMesaContext ctx', }, 925 'arguments': 'OSMesaContext ctx', },
894 { 'return_type': 'GLboolean', 926 { 'return_type': 'GLboolean',
895 'names': ['OSMesaMakeCurrent'], 927 'names': ['OSMesaGetColorBuffer'],
896 'arguments': 'OSMesaContext ctx, void* buffer, GLenum type, GLsizei width, ' 928 'arguments': 'OSMesaContext c, GLint* width, GLint* height, GLint* format, '
897 'GLsizei height', }, 929 'void** buffer', },
898 { 'return_type': 'OSMesaContext', 930 { 'return_type': 'OSMesaContext',
899 'names': ['OSMesaGetCurrentContext'], 931 'names': ['OSMesaGetCurrentContext'],
900 'arguments': 'void', }, 932 'arguments': 'void', },
901 { 'return_type': 'void',
902 'names': ['OSMesaPixelStore'],
903 'arguments': 'GLint pname, GLint value', },
904 { 'return_type': 'void',
905 'names': ['OSMesaGetIntegerv'],
906 'arguments': 'GLint pname, GLint* value', },
907 { 'return_type': 'GLboolean', 933 { 'return_type': 'GLboolean',
908 'names': ['OSMesaGetDepthBuffer'], 934 'names': ['OSMesaGetDepthBuffer'],
909 'arguments': 935 'arguments':
910 'OSMesaContext c, GLint* width, GLint* height, GLint* bytesPerValue, ' 936 'OSMesaContext c, GLint* width, GLint* height, GLint* bytesPerValue, '
911 'void** buffer', }, 937 'void** buffer', },
912 { 'return_type': 'GLboolean', 938 { 'return_type': 'void',
913 'names': ['OSMesaGetColorBuffer'], 939 'names': ['OSMesaGetIntegerv'],
914 'arguments': 'OSMesaContext c, GLint* width, GLint* height, GLint* format, ' 940 'arguments': 'GLint pname, GLint* value', },
915 'void** buffer', },
916 { 'return_type': 'OSMESAproc', 941 { 'return_type': 'OSMESAproc',
917 'names': ['OSMesaGetProcAddress'], 942 'names': ['OSMesaGetProcAddress'],
918 'arguments': 'const char* funcName', }, 943 'arguments': 'const char* funcName', },
944 { 'return_type': 'GLboolean',
945 'names': ['OSMesaMakeCurrent'],
946 'arguments': 'OSMesaContext ctx, void* buffer, GLenum type, GLsizei width, '
947 'GLsizei height', },
919 { 'return_type': 'void', 948 { 'return_type': 'void',
920 'names': ['OSMesaColorClamp'], 949 'names': ['OSMesaPixelStore'],
921 'arguments': 'GLboolean enable', }, 950 'arguments': 'GLint pname, GLint value', },
922 ] 951 ]
923 952
924 EGL_FUNCTIONS = [ 953 EGL_FUNCTIONS = [
925 { 'return_type': 'EGLint',
926 'names': ['eglGetError'],
927 'arguments': 'void', },
928 { 'return_type': 'EGLDisplay',
929 'names': ['eglGetDisplay'],
930 'arguments': 'EGLNativeDisplayType display_id', },
931 { 'return_type': 'EGLDisplay',
932 'known_as': 'eglGetPlatformDisplayEXT',
933 'versions': [{ 'name': 'eglGetPlatformDisplayEXT',
934 'extensions': ['EGL_ANGLE_platform_angle'] }],
935 'arguments': 'EGLenum platform, void* native_display, '
936 'const EGLint* attrib_list', },
937 { 'return_type': 'EGLBoolean', 954 { 'return_type': 'EGLBoolean',
938 'names': ['eglInitialize'], 955 'names': ['eglBindAPI'],
939 'arguments': 'EGLDisplay dpy, EGLint* major, EGLint* minor', }, 956 'arguments': 'EGLenum api', },
940 { 'return_type': 'EGLBoolean', 957 { 'return_type': 'EGLBoolean',
941 'names': ['eglTerminate'], 958 'names': ['eglBindTexImage'],
942 'arguments': 'EGLDisplay dpy', }, 959 'arguments': 'EGLDisplay dpy, EGLSurface surface, EGLint buffer', },
943 { 'return_type': 'const char*',
944 'names': ['eglQueryString'],
945 'arguments': 'EGLDisplay dpy, EGLint name', },
946 { 'return_type': 'EGLBoolean',
947 'names': ['eglGetConfigs'],
948 'arguments': 'EGLDisplay dpy, EGLConfig* configs, EGLint config_size, '
949 'EGLint* num_config', },
950 { 'return_type': 'EGLBoolean', 960 { 'return_type': 'EGLBoolean',
951 'names': ['eglChooseConfig'], 961 'names': ['eglChooseConfig'],
952 'arguments': 'EGLDisplay dpy, const EGLint* attrib_list, EGLConfig* configs, ' 962 'arguments': 'EGLDisplay dpy, const EGLint* attrib_list, EGLConfig* configs, '
953 'EGLint config_size, EGLint* num_config', }, 963 'EGLint config_size, EGLint* num_config', },
964 { 'return_type': 'EGLint',
965 'versions': [{ 'name': 'eglClientWaitSyncKHR',
966 'extensions': ['EGL_KHR_fence_sync'] }],
967 'arguments': 'EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, '
968 'EGLTimeKHR timeout' },
954 { 'return_type': 'EGLBoolean', 969 { 'return_type': 'EGLBoolean',
955 'names': ['eglGetConfigAttrib'], 970 'names': ['eglCopyBuffers'],
956 'arguments': 971 'arguments':
957 'EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint* value', }, 972 'EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target', },
973 { 'return_type': 'EGLContext',
974 'names': ['eglCreateContext'],
975 'arguments': 'EGLDisplay dpy, EGLConfig config, EGLContext share_context, '
976 'const EGLint* attrib_list', },
958 { 'return_type': 'EGLImageKHR', 977 { 'return_type': 'EGLImageKHR',
959 'versions': [{ 'name': 'eglCreateImageKHR', 978 'versions': [{ 'name': 'eglCreateImageKHR',
960 'extensions': 979 'extensions':
961 ['EGL_KHR_image_base', 'EGL_KHR_gl_texture_2D_image'] }], 980 ['EGL_KHR_image_base', 'EGL_KHR_gl_texture_2D_image'] }],
962 'arguments': 981 'arguments':
963 'EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, ' 982 'EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, '
964 'const EGLint* attrib_list' }, 983 'const EGLint* attrib_list' },
965 { 'return_type': 'EGLBoolean',
966 'versions': [{ 'name' : 'eglDestroyImageKHR',
967 'extensions': ['EGL_KHR_image_base'] }],
968 'arguments': 'EGLDisplay dpy, EGLImageKHR image' },
969 { 'return_type': 'EGLSurface', 984 { 'return_type': 'EGLSurface',
970 'names': ['eglCreateWindowSurface'], 985 'names': ['eglCreatePbufferFromClientBuffer'],
971 'arguments': 'EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, ' 986 'arguments':
972 'const EGLint* attrib_list', }, 987 'EGLDisplay dpy, EGLenum buftype, void* buffer, EGLConfig config, '
988 'const EGLint* attrib_list', },
973 { 'return_type': 'EGLSurface', 989 { 'return_type': 'EGLSurface',
974 'names': ['eglCreatePbufferSurface'], 990 'names': ['eglCreatePbufferSurface'],
975 'arguments': 'EGLDisplay dpy, EGLConfig config, const EGLint* attrib_list', }, 991 'arguments': 'EGLDisplay dpy, EGLConfig config, const EGLint* attrib_list', },
976 { 'return_type': 'EGLSurface', 992 { 'return_type': 'EGLSurface',
977 'names': ['eglCreatePixmapSurface'], 993 'names': ['eglCreatePixmapSurface'],
978 'arguments': 'EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, ' 994 'arguments': 'EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, '
979 'const EGLint* attrib_list', }, 995 'const EGLint* attrib_list', },
996 { 'return_type': 'EGLSyncKHR',
997 'versions': [{ 'name': 'eglCreateSyncKHR',
998 'extensions': ['EGL_KHR_fence_sync'] }],
999 'arguments': 'EGLDisplay dpy, EGLenum type, const EGLint* attrib_list' },
1000 { 'return_type': 'EGLSurface',
1001 'names': ['eglCreateWindowSurface'],
1002 'arguments': 'EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, '
1003 'const EGLint* attrib_list', },
1004 { 'return_type': 'EGLBoolean',
1005 'names': ['eglDestroyContext'],
1006 'arguments': 'EGLDisplay dpy, EGLContext ctx', },
1007 { 'return_type': 'EGLBoolean',
1008 'versions': [{ 'name' : 'eglDestroyImageKHR',
1009 'extensions': ['EGL_KHR_image_base'] }],
1010 'arguments': 'EGLDisplay dpy, EGLImageKHR image' },
980 { 'return_type': 'EGLBoolean', 1011 { 'return_type': 'EGLBoolean',
981 'names': ['eglDestroySurface'], 1012 'names': ['eglDestroySurface'],
982 'arguments': 'EGLDisplay dpy, EGLSurface surface', }, 1013 'arguments': 'EGLDisplay dpy, EGLSurface surface', },
983 { 'return_type': 'EGLBoolean', 1014 { 'return_type': 'EGLBoolean',
984 'names': ['eglQuerySurface'], 1015 'versions': [{ 'name': 'eglDestroySyncKHR',
985 'arguments': 1016 'extensions': ['EGL_KHR_fence_sync'] }],
986 'EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint* value', }, 1017 'arguments': 'EGLDisplay dpy, EGLSyncKHR sync' },
987 { 'return_type': 'EGLBoolean', 1018 { 'return_type': 'EGLBoolean',
988 'names': ['eglBindAPI'], 1019 'names': ['eglGetConfigAttrib'],
989 'arguments': 'EGLenum api', }, 1020 'arguments':
990 { 'return_type': 'EGLenum', 1021 'EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint* value', },
991 'names': ['eglQueryAPI'], 1022 { 'return_type': 'EGLBoolean',
992 'arguments': 'void', }, 1023 'names': ['eglGetConfigs'],
993 { 'return_type': 'EGLBoolean', 1024 'arguments': 'EGLDisplay dpy, EGLConfig* configs, EGLint config_size, '
994 'names': ['eglWaitClient'], 1025 'EGLint* num_config', },
995 'arguments': 'void', },
996 { 'return_type': 'EGLBoolean',
997 'names': ['eglReleaseThread'],
998 'arguments': 'void', },
999 { 'return_type': 'EGLSurface',
1000 'names': ['eglCreatePbufferFromClientBuffer'],
1001 'arguments':
1002 'EGLDisplay dpy, EGLenum buftype, void* buffer, EGLConfig config, '
1003 'const EGLint* attrib_list', },
1004 { 'return_type': 'EGLBoolean',
1005 'names': ['eglSurfaceAttrib'],
1006 'arguments':
1007 'EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value', },
1008 { 'return_type': 'EGLBoolean',
1009 'names': ['eglBindTexImage'],
1010 'arguments': 'EGLDisplay dpy, EGLSurface surface, EGLint buffer', },
1011 { 'return_type': 'EGLBoolean',
1012 'names': ['eglReleaseTexImage'],
1013 'arguments': 'EGLDisplay dpy, EGLSurface surface, EGLint buffer', },
1014 { 'return_type': 'EGLBoolean',
1015 'names': ['eglSwapInterval'],
1016 'arguments': 'EGLDisplay dpy, EGLint interval', },
1017 { 'return_type': 'EGLContext',
1018 'names': ['eglCreateContext'],
1019 'arguments': 'EGLDisplay dpy, EGLConfig config, EGLContext share_context, '
1020 'const EGLint* attrib_list', },
1021 { 'return_type': 'EGLBoolean',
1022 'names': ['eglDestroyContext'],
1023 'arguments': 'EGLDisplay dpy, EGLContext ctx', },
1024 { 'return_type': 'EGLBoolean',
1025 'names': ['eglMakeCurrent'],
1026 'arguments':
1027 'EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx', },
1028 { 'return_type': 'EGLContext', 1026 { 'return_type': 'EGLContext',
1029 'names': ['eglGetCurrentContext'], 1027 'names': ['eglGetCurrentContext'],
1030 'arguments': 'void', }, 1028 'arguments': 'void', },
1029 { 'return_type': 'EGLDisplay',
1030 'names': ['eglGetCurrentDisplay'],
1031 'arguments': 'void', },
1031 { 'return_type': 'EGLSurface', 1032 { 'return_type': 'EGLSurface',
1032 'names': ['eglGetCurrentSurface'], 1033 'names': ['eglGetCurrentSurface'],
1033 'arguments': 'EGLint readdraw', }, 1034 'arguments': 'EGLint readdraw', },
1034 { 'return_type': 'EGLDisplay', 1035 { 'return_type': 'EGLDisplay',
1035 'names': ['eglGetCurrentDisplay'], 1036 'names': ['eglGetDisplay'],
1036 'arguments': 'void', }, 1037 'arguments': 'EGLNativeDisplayType display_id', },
1037 { 'return_type': 'EGLBoolean', 1038 { 'return_type': 'EGLint',
1038 'names': ['eglQueryContext'], 1039 'names': ['eglGetError'],
1039 'arguments': 1040 'arguments': 'void', },
1040 'EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint* value', }, 1041 { 'return_type': 'EGLDisplay',
1041 { 'return_type': 'EGLBoolean', 1042 'known_as': 'eglGetPlatformDisplayEXT',
1042 'names': ['eglWaitGL'], 1043 'versions': [{ 'name': 'eglGetPlatformDisplayEXT',
1043 'arguments': 'void', }, 1044 'extensions': ['EGL_ANGLE_platform_angle'] }],
1044 { 'return_type': 'EGLBoolean', 1045 'arguments': 'EGLenum platform, void* native_display, '
1045 'names': ['eglWaitNative'], 1046 'const EGLint* attrib_list', },
1046 'arguments': 'EGLint engine', },
1047 { 'return_type': 'EGLBoolean',
1048 'names': ['eglSwapBuffers'],
1049 'arguments': 'EGLDisplay dpy, EGLSurface surface', },
1050 { 'return_type': 'EGLBoolean',
1051 'names': ['eglCopyBuffers'],
1052 'arguments':
1053 'EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target', },
1054 { 'return_type': '__eglMustCastToProperFunctionPointerType', 1047 { 'return_type': '__eglMustCastToProperFunctionPointerType',
1055 'names': ['eglGetProcAddress'], 1048 'names': ['eglGetProcAddress'],
1056 'arguments': 'const char* procname', }, 1049 'arguments': 'const char* procname', },
1057 { 'return_type': 'EGLBoolean', 1050 { 'return_type': 'EGLBoolean',
1058 'names': ['eglPostSubBufferNV'],
1059 'arguments': 'EGLDisplay dpy, EGLSurface surface, '
1060 'EGLint x, EGLint y, EGLint width, EGLint height', },
1061 { 'return_type': 'EGLBoolean',
1062 'names': ['eglQuerySurfacePointerANGLE'],
1063 'arguments':
1064 'EGLDisplay dpy, EGLSurface surface, EGLint attribute, void** value', },
1065 { 'return_type': 'EGLSyncKHR',
1066 'versions': [{ 'name': 'eglCreateSyncKHR',
1067 'extensions': ['EGL_KHR_fence_sync'] }],
1068 'arguments': 'EGLDisplay dpy, EGLenum type, const EGLint* attrib_list' },
1069 { 'return_type': 'EGLint',
1070 'versions': [{ 'name': 'eglClientWaitSyncKHR',
1071 'extensions': ['EGL_KHR_fence_sync'] }],
1072 'arguments': 'EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, '
1073 'EGLTimeKHR timeout' },
1074 { 'return_type': 'EGLBoolean',
1075 'versions': [{ 'name': 'eglGetSyncAttribKHR', 1051 'versions': [{ 'name': 'eglGetSyncAttribKHR',
1076 'extensions': ['EGL_KHR_fence_sync'] }], 1052 'extensions': ['EGL_KHR_fence_sync'] }],
1077 'arguments': 'EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, ' 1053 'arguments': 'EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, '
1078 'EGLint* value' }, 1054 'EGLint* value' },
1079 { 'return_type': 'EGLBoolean', 1055 { 'return_type': 'EGLBoolean',
1080 'versions': [{ 'name': 'eglDestroySyncKHR',
1081 'extensions': ['EGL_KHR_fence_sync'] }],
1082 'arguments': 'EGLDisplay dpy, EGLSyncKHR sync' },
1083 { 'return_type': 'EGLBoolean',
1084 'names': ['eglGetSyncValuesCHROMIUM'], 1056 'names': ['eglGetSyncValuesCHROMIUM'],
1085 'arguments': 1057 'arguments':
1086 'EGLDisplay dpy, EGLSurface surface, ' 1058 'EGLDisplay dpy, EGLSurface surface, '
1087 'EGLuint64CHROMIUM* ust, EGLuint64CHROMIUM* msc, ' 1059 'EGLuint64CHROMIUM* ust, EGLuint64CHROMIUM* msc, '
1088 'EGLuint64CHROMIUM* sbc', }, 1060 'EGLuint64CHROMIUM* sbc', },
1061 { 'return_type': 'EGLBoolean',
1062 'names': ['eglInitialize'],
1063 'arguments': 'EGLDisplay dpy, EGLint* major, EGLint* minor', },
1064 { 'return_type': 'EGLBoolean',
1065 'names': ['eglMakeCurrent'],
1066 'arguments':
1067 'EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx', },
1068 { 'return_type': 'EGLBoolean',
1069 'names': ['eglPostSubBufferNV'],
1070 'arguments': 'EGLDisplay dpy, EGLSurface surface, '
1071 'EGLint x, EGLint y, EGLint width, EGLint height', },
1072 { 'return_type': 'EGLenum',
1073 'names': ['eglQueryAPI'],
1074 'arguments': 'void', },
1075 { 'return_type': 'EGLBoolean',
1076 'names': ['eglQueryContext'],
1077 'arguments':
1078 'EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint* value', },
1079 { 'return_type': 'const char*',
1080 'names': ['eglQueryString'],
1081 'arguments': 'EGLDisplay dpy, EGLint name', },
1082 { 'return_type': 'EGLBoolean',
1083 'names': ['eglQuerySurface'],
1084 'arguments':
1085 'EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint* value', },
1086 { 'return_type': 'EGLBoolean',
1087 'names': ['eglQuerySurfacePointerANGLE'],
1088 'arguments':
1089 'EGLDisplay dpy, EGLSurface surface, EGLint attribute, void** value', },
1090 { 'return_type': 'EGLBoolean',
1091 'names': ['eglReleaseTexImage'],
1092 'arguments': 'EGLDisplay dpy, EGLSurface surface, EGLint buffer', },
1093 { 'return_type': 'EGLBoolean',
1094 'names': ['eglReleaseThread'],
1095 'arguments': 'void', },
1096 { 'return_type': 'EGLBoolean',
1097 'names': ['eglSurfaceAttrib'],
1098 'arguments':
1099 'EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value', },
1100 { 'return_type': 'EGLBoolean',
1101 'names': ['eglSwapBuffers'],
1102 'arguments': 'EGLDisplay dpy, EGLSurface surface', },
1103 { 'return_type': 'EGLBoolean',
1104 'names': ['eglSwapInterval'],
1105 'arguments': 'EGLDisplay dpy, EGLint interval', },
1106 { 'return_type': 'EGLBoolean',
1107 'names': ['eglTerminate'],
1108 'arguments': 'EGLDisplay dpy', },
1109 { 'return_type': 'EGLBoolean',
1110 'names': ['eglWaitClient'],
1111 'arguments': 'void', },
1112 { 'return_type': 'EGLBoolean',
1113 'names': ['eglWaitGL'],
1114 'arguments': 'void', },
1115 { 'return_type': 'EGLBoolean',
1116 'names': ['eglWaitNative'],
1117 'arguments': 'EGLint engine', },
1089 { 'return_type': 'EGLint', 1118 { 'return_type': 'EGLint',
1090 'versions': [{ 'name': 'eglWaitSyncKHR', 1119 'versions': [{ 'name': 'eglWaitSyncKHR',
1091 'extensions': ['EGL_KHR_fence_sync', 'EGL_KHR_wait_sync'] }], 1120 'extensions': ['EGL_KHR_fence_sync', 'EGL_KHR_wait_sync'] }],
1092 'arguments': 'EGLDisplay dpy, EGLSyncKHR sync, EGLint flags' } 1121 'arguments': 'EGLDisplay dpy, EGLSyncKHR sync, EGLint flags' },
1093 ] 1122 ]
1094 1123
1095 WGL_FUNCTIONS = [ 1124 WGL_FUNCTIONS = [
1125 { 'return_type': 'BOOL',
1126 'names': ['wglChoosePixelFormatARB'],
1127 'arguments':
1128 'HDC dc, const int* int_attrib_list, const float* float_attrib_list, '
1129 'UINT max_formats, int* formats, UINT* num_formats', },
1130 { 'return_type': 'BOOL',
1131 'names': ['wglCopyContext'],
1132 'arguments': 'HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask', },
1096 { 'return_type': 'HGLRC', 1133 { 'return_type': 'HGLRC',
1097 'names': ['wglCreateContext'], 1134 'names': ['wglCreateContext'],
1098 'arguments': 'HDC hdc', }, 1135 'arguments': 'HDC hdc', },
1099 { 'return_type': 'HGLRC', 1136 { 'return_type': 'HGLRC',
1100 'names': ['wglCreateLayerContext'], 1137 'names': ['wglCreateLayerContext'],
1101 'arguments': 'HDC hdc, int iLayerPlane', }, 1138 'arguments': 'HDC hdc, int iLayerPlane', },
1102 { 'return_type': 'BOOL', 1139 { 'return_type': 'HPBUFFERARB',
1103 'names': ['wglCopyContext'], 1140 'names': ['wglCreatePbufferARB'],
1104 'arguments': 'HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask', }, 1141 'arguments': 'HDC hDC, int iPixelFormat, int iWidth, int iHeight, '
1142 'const int* piAttribList', },
1105 { 'return_type': 'BOOL', 1143 { 'return_type': 'BOOL',
1106 'names': ['wglDeleteContext'], 1144 'names': ['wglDeleteContext'],
1107 'arguments': 'HGLRC hglrc', }, 1145 'arguments': 'HGLRC hglrc', },
1146 { 'return_type': 'BOOL',
1147 'names': ['wglDestroyPbufferARB'],
1148 'arguments': 'HPBUFFERARB hPbuffer', },
1108 { 'return_type': 'HGLRC', 1149 { 'return_type': 'HGLRC',
1109 'names': ['wglGetCurrentContext'], 1150 'names': ['wglGetCurrentContext'],
1110 'arguments': '', }, 1151 'arguments': '', },
1111 { 'return_type': 'HDC', 1152 { 'return_type': 'HDC',
1112 'names': ['wglGetCurrentDC'], 1153 'names': ['wglGetCurrentDC'],
1113 'arguments': '', }, 1154 'arguments': '', },
1114 { 'return_type': 'BOOL',
1115 'names': ['wglMakeCurrent'],
1116 'arguments': 'HDC hdc, HGLRC hglrc', },
1117 { 'return_type': 'BOOL',
1118 'names': ['wglShareLists'],
1119 'arguments': 'HGLRC hglrc1, HGLRC hglrc2', },
1120 { 'return_type': 'BOOL',
1121 'names': ['wglSwapIntervalEXT'],
1122 'arguments': 'int interval', },
1123 { 'return_type': 'BOOL',
1124 'names': ['wglSwapLayerBuffers'],
1125 'arguments': 'HDC hdc, UINT fuPlanes', },
1126 { 'return_type': 'const char*', 1155 { 'return_type': 'const char*',
1127 'names': ['wglGetExtensionsStringARB'], 1156 'names': ['wglGetExtensionsStringARB'],
1128 'arguments': 'HDC hDC', }, 1157 'arguments': 'HDC hDC', },
1129 { 'return_type': 'const char*', 1158 { 'return_type': 'const char*',
1130 'names': ['wglGetExtensionsStringEXT'], 1159 'names': ['wglGetExtensionsStringEXT'],
1131 'arguments': '', }, 1160 'arguments': '', },
1132 { 'return_type': 'BOOL',
1133 'names': ['wglChoosePixelFormatARB'],
1134 'arguments':
1135 'HDC dc, const int* int_attrib_list, const float* float_attrib_list, '
1136 'UINT max_formats, int* formats, UINT* num_formats', },
1137 { 'return_type': 'HPBUFFERARB',
1138 'names': ['wglCreatePbufferARB'],
1139 'arguments': 'HDC hDC, int iPixelFormat, int iWidth, int iHeight, '
1140 'const int* piAttribList', },
1141 { 'return_type': 'HDC', 1161 { 'return_type': 'HDC',
1142 'names': ['wglGetPbufferDCARB'], 1162 'names': ['wglGetPbufferDCARB'],
1143 'arguments': 'HPBUFFERARB hPbuffer', }, 1163 'arguments': 'HPBUFFERARB hPbuffer', },
1164 { 'return_type': 'BOOL',
1165 'names': ['wglMakeCurrent'],
1166 'arguments': 'HDC hdc, HGLRC hglrc', },
1167 { 'return_type': 'BOOL',
1168 'names': ['wglQueryPbufferARB'],
1169 'arguments': 'HPBUFFERARB hPbuffer, int iAttribute, int* piValue', },
1144 { 'return_type': 'int', 1170 { 'return_type': 'int',
1145 'names': ['wglReleasePbufferDCARB'], 1171 'names': ['wglReleasePbufferDCARB'],
1146 'arguments': 'HPBUFFERARB hPbuffer, HDC hDC', }, 1172 'arguments': 'HPBUFFERARB hPbuffer, HDC hDC', },
1147 { 'return_type': 'BOOL', 1173 { 'return_type': 'BOOL',
1148 'names': ['wglDestroyPbufferARB'], 1174 'names': ['wglShareLists'],
1149 'arguments': 'HPBUFFERARB hPbuffer', }, 1175 'arguments': 'HGLRC hglrc1, HGLRC hglrc2', },
1150 { 'return_type': 'BOOL', 1176 { 'return_type': 'BOOL',
1151 'names': ['wglQueryPbufferARB'], 1177 'names': ['wglSwapIntervalEXT'],
1152 'arguments': 'HPBUFFERARB hPbuffer, int iAttribute, int* piValue', }, 1178 'arguments': 'int interval', },
1179 { 'return_type': 'BOOL',
1180 'names': ['wglSwapLayerBuffers'],
1181 'arguments': 'HDC hdc, UINT fuPlanes', },
1153 ] 1182 ]
1154 1183
1155 GLX_FUNCTIONS = [ 1184 GLX_FUNCTIONS = [
1156 { 'return_type': 'int', 1185 { 'return_type': 'void',
1157 'names': ['glXWaitVideoSyncSGI'], 1186 'names': ['glXBindTexImageEXT'],
1158 'arguments': 'int divisor, int remainder, unsigned int* count', }, 1187 'arguments':
1188 'Display* dpy, GLXDrawable drawable, int buffer, int* attribList', },
1189 { 'return_type': 'GLXFBConfig*',
1190 'names': ['glXChooseFBConfig'],
1191 'arguments':
1192 'Display* dpy, int screen, const int* attribList, int* nitems', },
1159 { 'return_type': 'XVisualInfo*', 1193 { 'return_type': 'XVisualInfo*',
1160 'names': ['glXChooseVisual'], 1194 'names': ['glXChooseVisual'],
1161 'arguments': 'Display* dpy, int screen, int* attribList', }, 1195 'arguments': 'Display* dpy, int screen, int* attribList', },
1162 { 'return_type': 'void', 1196 { 'return_type': 'void',
1197 'names': ['glXCopyContext'],
1198 'arguments':
1199 'Display* dpy, GLXContext src, GLXContext dst, unsigned long mask', },
1200 { 'return_type': 'void',
1163 'names': ['glXCopySubBufferMESA'], 1201 'names': ['glXCopySubBufferMESA'],
1164 'arguments': 'Display* dpy, GLXDrawable drawable, ' 1202 'arguments': 'Display* dpy, GLXDrawable drawable, '
1165 'int x, int y, int width, int height', }, 1203 'int x, int y, int width, int height', },
1166 { 'return_type': 'GLXContext', 1204 { 'return_type': 'GLXContext',
1167 'names': ['glXCreateContext'], 1205 'names': ['glXCreateContext'],
1168 'arguments': 1206 'arguments':
1169 'Display* dpy, XVisualInfo* vis, GLXContext shareList, int direct', }, 1207 'Display* dpy, XVisualInfo* vis, GLXContext shareList, int direct', },
1170 { 'return_type': 'void', 1208 { 'return_type': 'GLXContext',
1171 'names': ['glXBindTexImageEXT'], 1209 'names': ['glXCreateContextAttribsARB'],
1172 'arguments': 1210 'arguments':
1173 'Display* dpy, GLXDrawable drawable, int buffer, int* attribList', }, 1211 'Display* dpy, GLXFBConfig config, GLXContext share_context, int direct, '
1174 { 'return_type': 'void', 1212 'const int* attrib_list', },
1175 'names': ['glXReleaseTexImageEXT'], 1213 { 'return_type': 'GLXPixmap',
1176 'arguments': 'Display* dpy, GLXDrawable drawable, int buffer', }, 1214 'names': ['glXCreateGLXPixmap'],
1215 'arguments': 'Display* dpy, XVisualInfo* visual, Pixmap pixmap', },
1216 { 'return_type': 'GLXContext',
1217 'names': ['glXCreateNewContext'],
1218 'arguments': 'Display* dpy, GLXFBConfig config, int renderType, '
1219 'GLXContext shareList, int direct', },
1220 { 'return_type': 'GLXPbuffer',
1221 'names': ['glXCreatePbuffer'],
1222 'arguments': 'Display* dpy, GLXFBConfig config, const int* attribList', },
1223 { 'return_type': 'GLXPixmap',
1224 'names': ['glXCreatePixmap'],
1225 'arguments': 'Display* dpy, GLXFBConfig config, '
1226 'Pixmap pixmap, const int* attribList', },
1227 { 'return_type': 'GLXWindow',
1228 'names': ['glXCreateWindow'],
1229 'arguments':
1230 'Display* dpy, GLXFBConfig config, Window win, const int* attribList', },
1177 { 'return_type': 'void', 1231 { 'return_type': 'void',
1178 'names': ['glXDestroyContext'], 1232 'names': ['glXDestroyContext'],
1179 'arguments': 'Display* dpy, GLXContext ctx', }, 1233 'arguments': 'Display* dpy, GLXContext ctx', },
1180 { 'return_type': 'int',
1181 'names': ['glXMakeCurrent'],
1182 'arguments': 'Display* dpy, GLXDrawable drawable, GLXContext ctx', },
1183 { 'return_type': 'void',
1184 'names': ['glXCopyContext'],
1185 'arguments':
1186 'Display* dpy, GLXContext src, GLXContext dst, unsigned long mask', },
1187 { 'return_type': 'void',
1188 'names': ['glXSwapBuffers'],
1189 'arguments': 'Display* dpy, GLXDrawable drawable', },
1190 { 'return_type': 'GLXPixmap',
1191 'names': ['glXCreateGLXPixmap'],
1192 'arguments': 'Display* dpy, XVisualInfo* visual, Pixmap pixmap', },
1193 { 'return_type': 'void', 1234 { 'return_type': 'void',
1194 'names': ['glXDestroyGLXPixmap'], 1235 'names': ['glXDestroyGLXPixmap'],
1195 'arguments': 'Display* dpy, GLXPixmap pixmap', }, 1236 'arguments': 'Display* dpy, GLXPixmap pixmap', },
1196 { 'return_type': 'int', 1237 { 'return_type': 'void',
1197 'names': ['glXQueryExtension'], 1238 'names': ['glXDestroyPbuffer'],
1198 'arguments': 'Display* dpy, int* errorb, int* event', }, 1239 'arguments': 'Display* dpy, GLXPbuffer pbuf', },
1199 { 'return_type': 'int', 1240 { 'return_type': 'void',
1200 'names': ['glXQueryVersion'], 1241 'names': ['glXDestroyPixmap'],
1201 'arguments': 'Display* dpy, int* maj, int* min', }, 1242 'arguments': 'Display* dpy, GLXPixmap pixmap', },
1202 { 'return_type': 'int', 1243 { 'return_type': 'void',
1203 'names': ['glXIsDirect'], 1244 'names': ['glXDestroyWindow'],
1204 'arguments': 'Display* dpy, GLXContext ctx', }, 1245 'arguments': 'Display* dpy, GLXWindow window', },
1246 { 'return_type': 'const char*',
1247 'names': ['glXGetClientString'],
1248 'arguments': 'Display* dpy, int name', },
1205 { 'return_type': 'int', 1249 { 'return_type': 'int',
1206 'names': ['glXGetConfig'], 1250 'names': ['glXGetConfig'],
1207 'arguments': 'Display* dpy, XVisualInfo* visual, int attrib, int* value', }, 1251 'arguments': 'Display* dpy, XVisualInfo* visual, int attrib, int* value', },
1208 { 'return_type': 'GLXContext', 1252 { 'return_type': 'GLXContext',
1209 'names': ['glXGetCurrentContext'], 1253 'names': ['glXGetCurrentContext'],
1210 'arguments': 'void', }, 1254 'arguments': 'void', },
1255 { 'return_type': 'Display*',
1256 'names': ['glXGetCurrentDisplay'],
1257 'arguments': 'void', },
1211 { 'return_type': 'GLXDrawable', 1258 { 'return_type': 'GLXDrawable',
1212 'names': ['glXGetCurrentDrawable'], 1259 'names': ['glXGetCurrentDrawable'],
1213 'arguments': 'void', }, 1260 'arguments': 'void', },
1261 { 'return_type': 'GLXDrawable',
1262 'names': ['glXGetCurrentReadDrawable'],
1263 'arguments': 'void', },
1264 { 'return_type': 'int',
1265 'names': ['glXGetFBConfigAttrib'],
1266 'arguments': 'Display* dpy, GLXFBConfig config, int attribute, int* value', },
1267 { 'return_type': 'GLXFBConfig',
1268 'names': ['glXGetFBConfigFromVisualSGIX'],
1269 'arguments': 'Display* dpy, XVisualInfo* visualInfo', },
1270 { 'return_type': 'GLXFBConfig*',
1271 'names': ['glXGetFBConfigs'],
1272 'arguments': 'Display* dpy, int screen, int* nelements', },
1273 { 'return_type': 'bool',
1274 'names': ['glXGetMscRateOML'],
1275 'arguments':
1276 'Display* dpy, GLXDrawable drawable, int32* numerator, '
1277 'int32* denominator' },
1214 { 'return_type': 'void', 1278 { 'return_type': 'void',
1215 'names': ['glXWaitGL'], 1279 'names': ['glXGetSelectedEvent'],
1216 'arguments': 'void', }, 1280 'arguments': 'Display* dpy, GLXDrawable drawable, unsigned long* mask', },
1281 { 'return_type': 'bool',
1282 'names': ['glXGetSyncValuesOML'],
1283 'arguments':
1284 'Display* dpy, GLXDrawable drawable, int64* ust, int64* msc, '
1285 'int64* sbc' },
1286 { 'return_type': 'XVisualInfo*',
1287 'names': ['glXGetVisualFromFBConfig'],
1288 'arguments': 'Display* dpy, GLXFBConfig config', },
1289 { 'return_type': 'int',
1290 'names': ['glXIsDirect'],
1291 'arguments': 'Display* dpy, GLXContext ctx', },
1292 { 'return_type': 'int',
1293 'names': ['glXMakeContextCurrent'],
1294 'arguments':
1295 'Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx', },
1296 { 'return_type': 'int',
1297 'names': ['glXMakeCurrent'],
1298 'arguments': 'Display* dpy, GLXDrawable drawable, GLXContext ctx', },
1299 { 'return_type': 'int',
1300 'names': ['glXQueryContext'],
1301 'arguments': 'Display* dpy, GLXContext ctx, int attribute, int* value', },
1217 { 'return_type': 'void', 1302 { 'return_type': 'void',
1218 'names': ['glXWaitX'], 1303 'names': ['glXQueryDrawable'],
1219 'arguments': 'void', }, 1304 'arguments':
1220 { 'return_type': 'void', 1305 'Display* dpy, GLXDrawable draw, int attribute, unsigned int* value', },
1221 'names': ['glXUseXFont'], 1306 { 'return_type': 'int',
1222 'arguments': 'Font font, int first, int count, int list', }, 1307 'names': ['glXQueryExtension'],
1308 'arguments': 'Display* dpy, int* errorb, int* event', },
1223 { 'return_type': 'const char*', 1309 { 'return_type': 'const char*',
1224 'names': ['glXQueryExtensionsString'], 1310 'names': ['glXQueryExtensionsString'],
1225 'arguments': 'Display* dpy, int screen', }, 1311 'arguments': 'Display* dpy, int screen', },
1226 { 'return_type': 'const char*', 1312 { 'return_type': 'const char*',
1227 'names': ['glXQueryServerString'], 1313 'names': ['glXQueryServerString'],
1228 'arguments': 'Display* dpy, int screen, int name', }, 1314 'arguments': 'Display* dpy, int screen, int name', },
1229 { 'return_type': 'const char*',
1230 'names': ['glXGetClientString'],
1231 'arguments': 'Display* dpy, int name', },
1232 { 'return_type': 'Display*',
1233 'names': ['glXGetCurrentDisplay'],
1234 'arguments': 'void', },
1235 { 'return_type': 'GLXFBConfig*',
1236 'names': ['glXChooseFBConfig'],
1237 'arguments':
1238 'Display* dpy, int screen, const int* attribList, int* nitems', },
1239 { 'return_type': 'int', 1315 { 'return_type': 'int',
1240 'names': ['glXGetFBConfigAttrib'], 1316 'names': ['glXQueryVersion'],
1241 'arguments': 'Display* dpy, GLXFBConfig config, int attribute, int* value', }, 1317 'arguments': 'Display* dpy, int* maj, int* min', },
1242 { 'return_type': 'GLXFBConfig*',
1243 'names': ['glXGetFBConfigs'],
1244 'arguments': 'Display* dpy, int screen, int* nelements', },
1245 { 'return_type': 'XVisualInfo*',
1246 'names': ['glXGetVisualFromFBConfig'],
1247 'arguments': 'Display* dpy, GLXFBConfig config', },
1248 { 'return_type': 'GLXWindow',
1249 'names': ['glXCreateWindow'],
1250 'arguments':
1251 'Display* dpy, GLXFBConfig config, Window win, const int* attribList', },
1252 { 'return_type': 'void', 1318 { 'return_type': 'void',
1253 'names': ['glXDestroyWindow'], 1319 'names': ['glXReleaseTexImageEXT'],
1254 'arguments': 'Display* dpy, GLXWindow window', }, 1320 'arguments': 'Display* dpy, GLXDrawable drawable, int buffer', },
1255 { 'return_type': 'GLXPixmap',
1256 'names': ['glXCreatePixmap'],
1257 'arguments': 'Display* dpy, GLXFBConfig config, '
1258 'Pixmap pixmap, const int* attribList', },
1259 { 'return_type': 'void',
1260 'names': ['glXDestroyPixmap'],
1261 'arguments': 'Display* dpy, GLXPixmap pixmap', },
1262 { 'return_type': 'GLXPbuffer',
1263 'names': ['glXCreatePbuffer'],
1264 'arguments': 'Display* dpy, GLXFBConfig config, const int* attribList', },
1265 { 'return_type': 'void',
1266 'names': ['glXDestroyPbuffer'],
1267 'arguments': 'Display* dpy, GLXPbuffer pbuf', },
1268 { 'return_type': 'void',
1269 'names': ['glXQueryDrawable'],
1270 'arguments':
1271 'Display* dpy, GLXDrawable draw, int attribute, unsigned int* value', },
1272 { 'return_type': 'GLXContext',
1273 'names': ['glXCreateNewContext'],
1274 'arguments': 'Display* dpy, GLXFBConfig config, int renderType, '
1275 'GLXContext shareList, int direct', },
1276 { 'return_type': 'int',
1277 'names': ['glXMakeContextCurrent'],
1278 'arguments':
1279 'Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx', },
1280 { 'return_type': 'GLXDrawable',
1281 'names': ['glXGetCurrentReadDrawable'],
1282 'arguments': 'void', },
1283 { 'return_type': 'int',
1284 'names': ['glXQueryContext'],
1285 'arguments': 'Display* dpy, GLXContext ctx, int attribute, int* value', },
1286 { 'return_type': 'void', 1321 { 'return_type': 'void',
1287 'names': ['glXSelectEvent'], 1322 'names': ['glXSelectEvent'],
1288 'arguments': 'Display* dpy, GLXDrawable drawable, unsigned long mask', }, 1323 'arguments': 'Display* dpy, GLXDrawable drawable, unsigned long mask', },
1289 { 'return_type': 'void', 1324 { 'return_type': 'void',
1290 'names': ['glXGetSelectedEvent'], 1325 'names': ['glXSwapBuffers'],
1291 'arguments': 'Display* dpy, GLXDrawable drawable, unsigned long* mask', }, 1326 'arguments': 'Display* dpy, GLXDrawable drawable', },
1327 { 'return_type': 'void',
1328 'names': ['glXSwapIntervalEXT'],
1329 'arguments': 'Display* dpy, GLXDrawable drawable, int interval', },
1292 { 'return_type': 'void', 1330 { 'return_type': 'void',
1293 'names': ['glXSwapIntervalMESA'], 1331 'names': ['glXSwapIntervalMESA'],
1294 'arguments': 'unsigned int interval', }, 1332 'arguments': 'unsigned int interval', },
1295 { 'return_type': 'void', 1333 { 'return_type': 'void',
1296 'names': ['glXSwapIntervalEXT'], 1334 'names': ['glXUseXFont'],
1297 'arguments': 'Display* dpy, GLXDrawable drawable, int interval', }, 1335 'arguments': 'Font font, int first, int count, int list', },
1298 { 'return_type': 'GLXFBConfig', 1336 { 'return_type': 'void',
1299 'names': ['glXGetFBConfigFromVisualSGIX'], 1337 'names': ['glXWaitGL'],
1300 'arguments': 'Display* dpy, XVisualInfo* visualInfo', }, 1338 'arguments': 'void', },
1301 { 'return_type': 'GLXContext', 1339 { 'return_type': 'int',
1302 'names': ['glXCreateContextAttribsARB'], 1340 'names': ['glXWaitVideoSyncSGI'],
1303 'arguments': 1341 'arguments': 'int divisor, int remainder, unsigned int* count', },
1304 'Display* dpy, GLXFBConfig config, GLXContext share_context, int direct, ' 1342 { 'return_type': 'void',
1305 'const int* attrib_list', }, 1343 'names': ['glXWaitX'],
1306 { 'return_type': 'bool', 1344 'arguments': 'void', },
1307 'names': ['glXGetSyncValuesOML'],
1308 'arguments':
1309 'Display* dpy, GLXDrawable drawable, int64* ust, int64* msc, '
1310 'int64* sbc' },
1311 { 'return_type': 'bool',
1312 'names': ['glXGetMscRateOML'],
1313 'arguments':
1314 'Display* dpy, GLXDrawable drawable, int32* numerator, '
1315 'int32* denominator' },
1316 ] 1345 ]
1317 1346
1318 FUNCTION_SETS = [ 1347 FUNCTION_SETS = [
1319 [GL_FUNCTIONS, 'gl', [ 1348 [GL_FUNCTIONS, 'gl', [
1320 'GL/glext.h', 1349 'GL/glext.h',
1321 'GLES2/gl2ext.h', 1350 'GLES2/gl2ext.h',
1322 # Files below are Chromium-specific and shipped with Chromium sources. 1351 # Files below are Chromium-specific and shipped with Chromium sources.
1323 'GL/glextchromium.h', 1352 'GL/glextchromium.h',
1324 'GLES2/gl2chromium.h', 1353 'GLES2/gl2chromium.h',
1325 'GLES2/gl2extchromium.h' 1354 'GLES2/gl2extchromium.h'
1326 ], []], 1355 ], []],
1327 [OSMESA_FUNCTIONS, 'osmesa', [], []], 1356 [OSMESA_FUNCTIONS, 'osmesa', [], []],
1328 [EGL_FUNCTIONS, 'egl', [ 1357 [EGL_FUNCTIONS, 'egl', [
1329 'EGL/eglext.h', 1358 'EGL/eglext.h',
1330 # Files below are Chromium-specific and shipped with Chromium sources. 1359 # Files below are Chromium-specific and shipped with Chromium sources.
1331 'EGL/eglextchromium.h', 1360 'EGL/eglextchromium.h',
1332 ], 1361 ],
1333 [ 1362 [
1334 'EGL_ANGLE_d3d_share_handle_client_buffer', 1363 'EGL_ANGLE_d3d_share_handle_client_buffer',
1335 'EGL_ANGLE_surface_d3d_texture_2d_share_handle', 1364 'EGL_ANGLE_surface_d3d_texture_2d_share_handle',
1336 ], 1365 ],
1337 ], 1366 ],
1338 [WGL_FUNCTIONS, 'wgl', ['GL/wglext.h'], []], 1367 [WGL_FUNCTIONS, 'wgl', ['GL/wglext.h'], []],
1339 [GLX_FUNCTIONS, 'glx', ['GL/glx.h', 'GL/glxext.h'], []], 1368 [GLX_FUNCTIONS, 'glx', ['GL/glx.h', 'GL/glxext.h'], []],
1340 ] 1369 ]
1341 1370
1371
1342 def GenerateHeader(file, functions, set_name, used_extensions): 1372 def GenerateHeader(file, functions, set_name, used_extensions):
1343 """Generates gl_bindings_autogen_x.h""" 1373 """Generates gl_bindings_autogen_x.h"""
1344 1374
1345 # Write file header. 1375 # Write file header.
1346 file.write( 1376 file.write(
1347 """// Copyright (c) 2012 The Chromium Authors. All rights reserved. 1377 """// Copyright (c) 2012 The Chromium Authors. All rights reserved.
1348 // Use of this source code is governed by a BSD-style license that can be 1378 // Use of this source code is governed by a BSD-style license that can be
1349 // found in the LICENSE file. 1379 // found in the LICENSE file.
1350 1380
1351 // This file is automatically generated. 1381 // This file is automatically generated.
(...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after
2021 2051
2022 raise Exception('Header %s not found.' % header) 2052 raise Exception('Header %s not found.' % header)
2023 2053
2024 2054
2025 def main(argv): 2055 def main(argv):
2026 """This is the main function.""" 2056 """This is the main function."""
2027 2057
2028 parser = optparse.OptionParser() 2058 parser = optparse.OptionParser()
2029 parser.add_option('--inputs', action='store_true') 2059 parser.add_option('--inputs', action='store_true')
2030 parser.add_option('--header-paths') 2060 parser.add_option('--header-paths')
2061 parser.add_option('--verify-order', action='store_true')
2031 2062
2032 options, args = parser.parse_args(argv) 2063 options, args = parser.parse_args(argv)
2033 2064
2034 if options.inputs: 2065 if options.inputs:
2035 for [_, _, headers, _] in FUNCTION_SETS: 2066 for [_, _, headers, _] in FUNCTION_SETS:
2036 for header in headers: 2067 for header in headers:
2037 print ResolveHeader(header, options.header_paths) 2068 print ResolveHeader(header, options.header_paths)
2038 return 0 2069 return 0
2039 2070
2040 directory = '.' 2071 directory = '.'
2041 if len(args) >= 1: 2072 if len(args) >= 1:
2042 directory = args[0] 2073 directory = args[0]
2043 2074
2044 for [functions, set_name, extension_headers, extensions] in FUNCTION_SETS: 2075 for [functions, set_name, extension_headers, extensions] in FUNCTION_SETS:
2045 # Function names can be specified in two ways (list of unique names or list 2076 # Function names can be specified in two ways (list of unique names or list
2046 # of versions with different binding conditions). Fill in the data to the 2077 # of versions with different binding conditions). Fill in the data to the
2047 # versions list in case it is missing, so that can be used from here on: 2078 # versions list in case it is missing, so that can be used from here on:
2048 for func in functions: 2079 for func in functions:
2049 assert 'versions' in func or 'names' in func, 'Function with no names' 2080 assert 'versions' in func or 'names' in func, 'Function with no names'
2050 if 'versions' not in func: 2081 if 'versions' not in func:
2051 func['versions'] = [{'name': n} for n in func['names']] 2082 func['versions'] = [{'name': n} for n in func['names']]
2052 # Use the first version's name unless otherwise specified 2083 # Use the first version's name unless otherwise specified
2053 if 'known_as' not in func: 2084 if 'known_as' not in func:
2054 func['known_as'] = func['versions'][0]['name'] 2085 func['known_as'] = func['versions'][0]['name']
2055 # Make sure that 'names' is not accidentally used instead of 'versions' 2086 # Make sure that 'names' is not accidentally used instead of 'versions'
2056 if 'names' in func: 2087 if 'names' in func:
2057 del func['names'] 2088 del func['names']
2058 2089
2090 # Check function names in each set is sorted in alphabetical order.
2091 for index in range(len(functions) - 1):
2092 func_name = functions[index]['known_as']
2093 next_func_name = functions[index + 1]['known_as']
2094 if func_name.lower() > next_func_name.lower():
2095 raise Exception(
2096 'function %s is not in alphabetical order' % next_func_name)
2097 if options.verify_order:
2098 continue
2099
2059 extension_headers = [ResolveHeader(h, options.header_paths) 2100 extension_headers = [ResolveHeader(h, options.header_paths)
2060 for h in extension_headers] 2101 for h in extension_headers]
2061 used_extensions = FillExtensionsFromHeaders( 2102 used_extensions = FillExtensionsFromHeaders(
2062 functions, extension_headers, extensions) 2103 functions, extension_headers, extensions)
2063 2104
2064 header_file = open( 2105 header_file = open(
2065 os.path.join(directory, 'gl_bindings_autogen_%s.h' % set_name), 'wb') 2106 os.path.join(directory, 'gl_bindings_autogen_%s.h' % set_name), 'wb')
2066 GenerateHeader(header_file, functions, set_name, used_extensions) 2107 GenerateHeader(header_file, functions, set_name, used_extensions)
2067 header_file.close() 2108 header_file.close()
2068 2109
2069 header_file = open( 2110 header_file = open(
2070 os.path.join(directory, 'gl_bindings_api_autogen_%s.h' % set_name), 2111 os.path.join(directory, 'gl_bindings_api_autogen_%s.h' % set_name),
2071 'wb') 2112 'wb')
2072 GenerateAPIHeader(header_file, functions, set_name) 2113 GenerateAPIHeader(header_file, functions, set_name)
2073 header_file.close() 2114 header_file.close()
2074 2115
2075 source_file = open( 2116 source_file = open(
2076 os.path.join(directory, 'gl_bindings_autogen_%s.cc' % set_name), 'wb') 2117 os.path.join(directory, 'gl_bindings_autogen_%s.cc' % set_name), 'wb')
2077 GenerateSource(source_file, functions, set_name, used_extensions) 2118 GenerateSource(source_file, functions, set_name, used_extensions)
2078 source_file.close() 2119 source_file.close()
2079 2120
2080 header_file = open( 2121 if not options.verify_order:
2081 os.path.join(directory, 'gl_mock_autogen_gl.h'), 'wb') 2122 header_file = open(
2082 GenerateMockHeader(header_file, GL_FUNCTIONS, 'gl') 2123 os.path.join(directory, 'gl_mock_autogen_gl.h'), 'wb')
2083 header_file.close() 2124 GenerateMockHeader(header_file, GL_FUNCTIONS, 'gl')
2125 header_file.close()
2084 2126
2085 header_file = open(os.path.join(directory, 'gl_bindings_autogen_mock.h'), 2127 header_file = open(os.path.join(directory, 'gl_bindings_autogen_mock.h'),
2086 'wb') 2128 'wb')
2087 GenerateMockBindingsHeader(header_file, GL_FUNCTIONS) 2129 GenerateMockBindingsHeader(header_file, GL_FUNCTIONS)
2088 header_file.close() 2130 header_file.close()
2089 2131
2090 source_file = open(os.path.join(directory, 'gl_bindings_autogen_mock.cc'), 2132 source_file = open(os.path.join(directory, 'gl_bindings_autogen_mock.cc'),
2091 'wb') 2133 'wb')
2092 GenerateMockBindingsSource(source_file, GL_FUNCTIONS) 2134 GenerateMockBindingsSource(source_file, GL_FUNCTIONS)
2093 source_file.close() 2135 source_file.close()
2094 return 0 2136 return 0
2095 2137
2096 2138
2097 if __name__ == '__main__': 2139 if __name__ == '__main__':
2098 sys.exit(main(sys.argv[1:])) 2140 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « ui/gl/BUILD.gn ('k') | ui/gl/gl.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698