OLD | NEW |
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 28 matching lines...) Expand all Loading... |
39 versions array. This can be overridden by supplying a 'known_as' key. | 39 versions array. This can be overridden by supplying a 'known_as' key. |
40 """ | 40 """ |
41 GL_FUNCTIONS = [ | 41 GL_FUNCTIONS = [ |
42 { 'return_type': 'void', | 42 { 'return_type': 'void', |
43 'names': ['glActiveTexture'], | 43 'names': ['glActiveTexture'], |
44 'arguments': 'GLenum texture', }, | 44 'arguments': 'GLenum texture', }, |
45 { 'return_type': 'void', | 45 { 'return_type': 'void', |
46 'names': ['glAttachShader'], | 46 'names': ['glAttachShader'], |
47 'arguments': 'GLuint program, GLuint shader', }, | 47 'arguments': 'GLuint program, GLuint shader', }, |
48 { 'return_type': 'void', | 48 { 'return_type': 'void', |
49 'versions': [{ 'name': 'glBeginQuery' }], | 49 'versions': [{ 'name': 'glBeginQuery' }, |
50 'arguments': 'GLenum target, GLuint id', }, | 50 { 'name': 'glBeginQueryARB' }, |
51 { 'return_type': 'void', | |
52 'versions': [{ 'name': 'glBeginQueryARB' }, | |
53 { 'name': 'glBeginQueryEXT', | 51 { 'name': 'glBeginQueryEXT', |
54 'extensions': ['GL_EXT_occlusion_query_boolean'] }], | 52 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
55 'arguments': 'GLenum target, GLuint id', }, | 53 'arguments': 'GLenum target, GLuint id', }, |
56 { 'return_type': 'void', | 54 { 'return_type': 'void', |
57 'versions': [{ 'name': 'glBeginTransformFeedback' }], | 55 'versions': [{ 'name': 'glBeginTransformFeedback' }], |
58 'arguments': 'GLenum primitiveMode', }, | 56 'arguments': 'GLenum primitiveMode', }, |
59 { 'return_type': 'void', | 57 { 'return_type': 'void', |
60 'names': ['glBindAttribLocation'], | 58 'names': ['glBindAttribLocation'], |
61 'arguments': 'GLuint program, GLuint index, const char* name', }, | 59 'arguments': 'GLuint program, GLuint index, const char* name', }, |
62 { 'return_type': 'void', | 60 { 'return_type': 'void', |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 { 'return_type': 'void', | 255 { 'return_type': 'void', |
258 'names': ['glDeleteFencesNV'], | 256 'names': ['glDeleteFencesNV'], |
259 'arguments': 'GLsizei n, const GLuint* fences', }, | 257 'arguments': 'GLsizei n, const GLuint* fences', }, |
260 { 'return_type': 'void', | 258 { 'return_type': 'void', |
261 'names': ['glDeleteFramebuffersEXT', 'glDeleteFramebuffers'], | 259 'names': ['glDeleteFramebuffersEXT', 'glDeleteFramebuffers'], |
262 'arguments': 'GLsizei n, const GLuint* framebuffers', }, | 260 'arguments': 'GLsizei n, const GLuint* framebuffers', }, |
263 { 'return_type': 'void', | 261 { 'return_type': 'void', |
264 'names': ['glDeleteProgram'], | 262 'names': ['glDeleteProgram'], |
265 'arguments': 'GLuint program', }, | 263 'arguments': 'GLuint program', }, |
266 { 'return_type': 'void', | 264 { 'return_type': 'void', |
267 'versions': [{ 'name': 'glDeleteQueries' }], | 265 'versions': [{ 'name': 'glDeleteQueries' }, |
268 'arguments': 'GLsizei n, const GLuint* ids', }, | 266 { 'name': 'glDeleteQueriesARB'}, |
269 { 'return_type': 'void', | |
270 'versions': [{ 'name': 'glDeleteQueriesARB'}, | |
271 { 'name': 'glDeleteQueriesEXT', | 267 { 'name': 'glDeleteQueriesEXT', |
272 'extensions': ['GL_EXT_occlusion_query_boolean'] }], | 268 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
273 'arguments': 'GLsizei n, const GLuint* ids', }, | 269 'arguments': 'GLsizei n, const GLuint* ids', }, |
274 { 'return_type': 'void', | 270 { 'return_type': 'void', |
275 'names': ['glDeleteRenderbuffersEXT', 'glDeleteRenderbuffers'], | 271 'names': ['glDeleteRenderbuffersEXT', 'glDeleteRenderbuffers'], |
276 'arguments': 'GLsizei n, const GLuint* renderbuffers', }, | 272 'arguments': 'GLsizei n, const GLuint* renderbuffers', }, |
277 { 'return_type': 'void', | 273 { 'return_type': 'void', |
278 'versions': [{ 'name': 'glDeleteSamplers' }], | 274 'versions': [{ 'name': 'glDeleteSamplers' }], |
279 'arguments': 'GLsizei n, const GLuint* samplers', }, | 275 'arguments': 'GLsizei n, const GLuint* samplers', }, |
280 { 'return_type': 'void', | 276 { 'return_type': 'void', |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
360 { 'return_type': 'void', | 356 { 'return_type': 'void', |
361 'names': ['glEGLImageTargetTexture2DOES'], | 357 'names': ['glEGLImageTargetTexture2DOES'], |
362 'arguments': 'GLenum target, GLeglImageOES image', }, | 358 'arguments': 'GLenum target, GLeglImageOES image', }, |
363 { 'return_type': 'void', | 359 { 'return_type': 'void', |
364 'names': ['glEnable'], | 360 'names': ['glEnable'], |
365 'arguments': 'GLenum cap', }, | 361 'arguments': 'GLenum cap', }, |
366 { 'return_type': 'void', | 362 { 'return_type': 'void', |
367 'names': ['glEnableVertexAttribArray'], | 363 'names': ['glEnableVertexAttribArray'], |
368 'arguments': 'GLuint index', }, | 364 'arguments': 'GLuint index', }, |
369 { 'return_type': 'void', | 365 { 'return_type': 'void', |
370 'versions': [{ 'name': 'glEndQuery' }], | 366 'versions': [{ 'name': 'glEndQuery' }, |
371 'arguments': 'GLenum target', }, | 367 { 'name': 'glEndQueryARB' }, |
372 { 'return_type': 'void', | |
373 'versions': [{ 'name': 'glEndQueryARB' }, | |
374 { 'name': 'glEndQueryEXT', | 368 { 'name': 'glEndQueryEXT', |
375 'extensions': ['GL_EXT_occlusion_query_boolean'] }], | 369 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
376 'arguments': 'GLenum target', }, | 370 'arguments': 'GLenum target', }, |
377 { 'return_type': 'void', | 371 { 'return_type': 'void', |
378 'versions': [{ 'name': 'glEndTransformFeedback' }], | 372 'versions': [{ 'name': 'glEndTransformFeedback' }], |
379 'arguments': 'void', }, | 373 'arguments': 'void', }, |
380 { 'return_type': 'GLsync', | 374 { 'return_type': 'GLsync', |
381 'versions': [{ 'name': 'glFenceSync', | 375 'versions': [{ 'name': 'glFenceSync', |
382 'extensions': ['GL_ARB_sync'] }], | 376 'extensions': ['GL_ARB_sync'] }], |
383 'arguments': 'GLenum condition, GLbitfield flags', }, | 377 'arguments': 'GLenum condition, GLbitfield flags', }, |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
437 'versions': [{ 'name': 'glGenFencesAPPLE', | 431 'versions': [{ 'name': 'glGenFencesAPPLE', |
438 'extensions': ['GL_APPLE_fence'] }], | 432 'extensions': ['GL_APPLE_fence'] }], |
439 'arguments': 'GLsizei n, GLuint* fences', }, | 433 'arguments': 'GLsizei n, GLuint* fences', }, |
440 { 'return_type': 'void', | 434 { 'return_type': 'void', |
441 'names': ['glGenFencesNV'], | 435 'names': ['glGenFencesNV'], |
442 'arguments': 'GLsizei n, GLuint* fences', }, | 436 'arguments': 'GLsizei n, GLuint* fences', }, |
443 { 'return_type': 'void', | 437 { 'return_type': 'void', |
444 'names': ['glGenFramebuffersEXT', 'glGenFramebuffers'], | 438 'names': ['glGenFramebuffersEXT', 'glGenFramebuffers'], |
445 'arguments': 'GLsizei n, GLuint* framebuffers', }, | 439 'arguments': 'GLsizei n, GLuint* framebuffers', }, |
446 { 'return_type': 'void', | 440 { 'return_type': 'void', |
447 'versions': [{ 'name': 'glGenQueries' }], | 441 'versions': [{ 'name': 'glGenQueries' }, |
448 'arguments': 'GLsizei n, GLuint* ids', }, | 442 { 'name': 'glGenQueriesARB', }, |
449 { 'return_type': 'void', | |
450 'versions': [{ 'name': 'glGenQueriesARB', }, | |
451 { 'name' : 'glGenQueriesEXT', | 443 { 'name' : 'glGenQueriesEXT', |
452 'extensions': ['GL_EXT_occlusion_query_boolean'] }], | 444 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
453 'arguments': 'GLsizei n, GLuint* ids', }, | 445 'arguments': 'GLsizei n, GLuint* ids', }, |
454 { 'return_type': 'void', | 446 { 'return_type': 'void', |
455 'names': ['glGenRenderbuffersEXT', 'glGenRenderbuffers'], | 447 'names': ['glGenRenderbuffersEXT', 'glGenRenderbuffers'], |
456 'arguments': 'GLsizei n, GLuint* renderbuffers', }, | 448 'arguments': 'GLsizei n, GLuint* renderbuffers', }, |
457 { 'return_type': 'void', | 449 { 'return_type': 'void', |
458 'versions': [{ 'name': 'glGenSamplers' }], | 450 'versions': [{ 'name': 'glGenSamplers' }], |
459 'arguments': 'GLsizei n, GLuint* samplers', }, | 451 'arguments': 'GLsizei n, GLuint* samplers', }, |
460 { 'return_type': 'void', | 452 { 'return_type': 'void', |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
559 'names': ['glGetProgramInfoLog'], | 551 'names': ['glGetProgramInfoLog'], |
560 'arguments': | 552 'arguments': |
561 'GLuint program, GLsizei bufsize, GLsizei* length, char* infolog', }, | 553 'GLuint program, GLsizei bufsize, GLsizei* length, char* infolog', }, |
562 { 'return_type': 'void', | 554 { 'return_type': 'void', |
563 'names': ['glGetProgramiv'], | 555 'names': ['glGetProgramiv'], |
564 'arguments': 'GLuint program, GLenum pname, GLint* params', }, | 556 'arguments': 'GLuint program, GLenum pname, GLint* params', }, |
565 { 'return_type': 'GLint', | 557 { 'return_type': 'GLint', |
566 'names': ['glGetProgramResourceLocation'], | 558 'names': ['glGetProgramResourceLocation'], |
567 'arguments': 'GLuint program, GLenum programInterface, const char* name', }, | 559 'arguments': 'GLuint program, GLenum programInterface, const char* name', }, |
568 { 'return_type': 'void', | 560 { 'return_type': 'void', |
569 'versions': [{ 'name': 'glGetQueryiv' }], | 561 'versions': [{ 'name': 'glGetQueryiv' }, |
570 'arguments': 'GLenum target, GLenum pname, GLint* params', }, | 562 { 'name': 'glGetQueryivARB' }, |
571 { 'return_type': 'void', | |
572 'versions': [{ 'name': 'glGetQueryivARB' }, | |
573 { 'name': 'glGetQueryivEXT', | 563 { 'name': 'glGetQueryivEXT', |
574 'extensions': ['GL_EXT_occlusion_query_boolean'] }], | 564 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
575 'arguments': 'GLenum target, GLenum pname, GLint* params', }, | 565 'arguments': 'GLenum target, GLenum pname, GLint* params', }, |
576 { 'return_type': 'void', | 566 { 'return_type': 'void', |
577 'versions': [{ 'name': 'glGetQueryObjecti64v', | 567 'versions': [{ 'name': 'glGetQueryObjecti64v', |
578 'extensions': ['GL_ARB_timer_query'] }, | 568 'extensions': ['GL_ARB_timer_query'] }, |
579 { 'name': 'glGetQueryObjecti64vEXT' }], | 569 { 'name': 'glGetQueryObjecti64vEXT' }], |
580 'arguments': 'GLuint id, GLenum pname, GLint64* params', }, | 570 'arguments': 'GLuint id, GLenum pname, GLint64* params', }, |
581 { 'return_type': 'void', | 571 { 'return_type': 'void', |
582 'names': ['glGetQueryObjectiv'], | 572 'versions': [{ 'name': 'glGetQueryObjectiv' }, |
583 'arguments': 'GLuint id, GLenum pname, GLint* params', }, | 573 { 'name': 'glGetQueryObjectivARB' }, |
584 { 'return_type': 'void', | 574 { 'name': 'glGetQueryObjectivEXT' }], |
585 'names': ['glGetQueryObjectivARB', 'glGetQueryObjectivEXT'], | |
586 'arguments': 'GLuint id, GLenum pname, GLint* params', }, | 575 'arguments': 'GLuint id, GLenum pname, GLint* params', }, |
587 { 'return_type': 'void', | 576 { 'return_type': 'void', |
588 'versions': [{ 'name': 'glGetQueryObjectui64v', | 577 'versions': [{ 'name': 'glGetQueryObjectui64v', |
589 'extensions': ['GL_ARB_timer_query'] }, | 578 'extensions': ['GL_ARB_timer_query'] }, |
590 { 'name': 'glGetQueryObjectui64vEXT' }], | 579 { 'name': 'glGetQueryObjectui64vEXT' }], |
591 'arguments': 'GLuint id, GLenum pname, GLuint64* params', }, | 580 'arguments': 'GLuint id, GLenum pname, GLuint64* params', }, |
592 { 'return_type': 'void', | 581 { 'return_type': 'void', |
593 'versions': [{ 'name': 'glGetQueryObjectuiv' }], | 582 'versions': [{ 'name': 'glGetQueryObjectuiv' }, |
594 'arguments': 'GLuint id, GLenum pname, GLuint* params', }, | 583 { 'name': 'glGetQueryObjectuivARB' }, |
595 { 'return_type': 'void', | |
596 'versions': [{ 'name': 'glGetQueryObjectuivARB' }, | |
597 { 'name': 'glGetQueryObjectuivEXT', | 584 { 'name': 'glGetQueryObjectuivEXT', |
598 'extensions': ['GL_EXT_occlusion_query_boolean'] }], | 585 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
599 'arguments': 'GLuint id, GLenum pname, GLuint* params', }, | 586 'arguments': 'GLuint id, GLenum pname, GLuint* params', }, |
600 { 'return_type': 'void', | 587 { 'return_type': 'void', |
601 'names': ['glGetRenderbufferParameterivEXT', 'glGetRenderbufferParameteriv'], | 588 'names': ['glGetRenderbufferParameterivEXT', 'glGetRenderbufferParameteriv'], |
602 'arguments': 'GLenum target, GLenum pname, GLint* params', }, | 589 'arguments': 'GLenum target, GLenum pname, GLint* params', }, |
603 { 'return_type': 'void', | 590 { 'return_type': 'void', |
604 'versions': [{ 'name': 'glGetSamplerParameterfv' }], | 591 'versions': [{ 'name': 'glGetSamplerParameterfv' }], |
605 'arguments': 'GLuint sampler, GLenum pname, GLfloat* params', }, | 592 'arguments': 'GLuint sampler, GLenum pname, GLfloat* params', }, |
606 { 'return_type': 'void', | 593 { 'return_type': 'void', |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
707 { 'return_type': 'GLboolean', | 694 { 'return_type': 'GLboolean', |
708 'names': ['glIsFenceNV'], | 695 'names': ['glIsFenceNV'], |
709 'arguments': 'GLuint fence', }, | 696 'arguments': 'GLuint fence', }, |
710 { 'return_type': 'GLboolean', | 697 { 'return_type': 'GLboolean', |
711 'names': ['glIsFramebufferEXT', 'glIsFramebuffer'], | 698 'names': ['glIsFramebufferEXT', 'glIsFramebuffer'], |
712 'arguments': 'GLuint framebuffer', }, | 699 'arguments': 'GLuint framebuffer', }, |
713 { 'return_type': 'GLboolean', | 700 { 'return_type': 'GLboolean', |
714 'names': ['glIsProgram'], | 701 'names': ['glIsProgram'], |
715 'arguments': 'GLuint program', }, | 702 'arguments': 'GLuint program', }, |
716 { 'return_type': 'GLboolean', | 703 { 'return_type': 'GLboolean', |
717 'versions': [{ 'name': 'glIsQuery' }], | 704 'versions': [{ 'name': 'glIsQuery' }, |
718 'arguments': 'GLuint query', }, | 705 { 'name': 'glIsQueryARB' }, |
719 { 'return_type': 'GLboolean', | |
720 'versions': [{ 'name': 'glIsQueryARB' }, | |
721 { 'name': 'glIsQueryEXT', | 706 { 'name': 'glIsQueryEXT', |
722 'extensions': ['GL_EXT_occlusion_query_boolean'] }], | 707 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
723 'arguments': 'GLuint query', }, | 708 'arguments': 'GLuint query', }, |
724 { 'return_type': 'GLboolean', | 709 { 'return_type': 'GLboolean', |
725 'names': ['glIsRenderbufferEXT', 'glIsRenderbuffer'], | 710 'names': ['glIsRenderbufferEXT', 'glIsRenderbuffer'], |
726 'arguments': 'GLuint renderbuffer', }, | 711 'arguments': 'GLuint renderbuffer', }, |
727 { 'return_type': 'GLboolean', | 712 { 'return_type': 'GLboolean', |
728 'versions': [{ 'name': 'glIsSampler' }], | 713 'versions': [{ 'name': 'glIsSampler' }], |
729 'arguments': 'GLuint sampler', }, | 714 'arguments': 'GLuint sampler', }, |
730 { 'return_type': 'GLboolean', | 715 { 'return_type': 'GLboolean', |
(...skipping 1825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2556 'gl_enums_implementation_autogen.h'), | 2541 'gl_enums_implementation_autogen.h'), |
2557 'wb') | 2542 'wb') |
2558 GenerateEnumUtils(header_file, enum_header_filenames) | 2543 GenerateEnumUtils(header_file, enum_header_filenames) |
2559 header_file.close() | 2544 header_file.close() |
2560 ClangFormat(header_file.name) | 2545 ClangFormat(header_file.name) |
2561 return 0 | 2546 return 0 |
2562 | 2547 |
2563 | 2548 |
2564 if __name__ == '__main__': | 2549 if __name__ == '__main__': |
2565 sys.exit(main(sys.argv[1:])) | 2550 sys.exit(main(sys.argv[1:])) |
OLD | NEW |