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 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 { 'return_type': 'void', | 227 { 'return_type': 'void', |
228 'names': ['glCopyTexSubImage2D'], | 228 'names': ['glCopyTexSubImage2D'], |
229 'arguments': | 229 'arguments': |
230 'GLenum target, GLint level, GLint xoffset, ' | 230 'GLenum target, GLint level, GLint xoffset, ' |
231 'GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height', }, | 231 'GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height', }, |
232 { 'return_type': 'void', | 232 { 'return_type': 'void', |
233 'versions': [{ 'name': 'glCopyTexSubImage3D' }], | 233 'versions': [{ 'name': 'glCopyTexSubImage3D' }], |
234 'arguments': | 234 'arguments': |
235 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' | 235 'GLenum target, GLint level, GLint xoffset, GLint yoffset, ' |
236 'GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height', }, | 236 'GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height', }, |
| 237 { 'return_type': 'void', |
| 238 'known_as': 'glCoverFillPathNV', |
| 239 'versions': [{ 'name': 'glCoverFillPathNV', |
| 240 'extensions': ['GL_NV_path_rendering'] }], |
| 241 'arguments': 'GLuint path, GLenum coverMode' }, |
| 242 { 'return_type': 'void', |
| 243 'known_as': 'glCoverStrokePathNV', |
| 244 'versions': [{ 'name': 'glCoverStrokePathNV', |
| 245 'extensions': ['GL_NV_path_rendering'] }], |
| 246 'arguments': 'GLuint name, GLenum coverMode' }, |
237 { 'return_type': 'GLuint', | 247 { 'return_type': 'GLuint', |
238 'names': ['glCreateProgram'], | 248 'names': ['glCreateProgram'], |
239 'arguments': 'void', }, | 249 'arguments': 'void', }, |
240 { 'return_type': 'GLuint', | 250 { 'return_type': 'GLuint', |
241 'names': ['glCreateShader'], | 251 'names': ['glCreateShader'], |
242 'arguments': 'GLenum type', }, | 252 'arguments': 'GLenum type', }, |
243 { 'return_type': 'void', | 253 { 'return_type': 'void', |
244 'names': ['glCullFace'], | 254 'names': ['glCullFace'], |
245 'arguments': 'GLenum mode', }, | 255 'arguments': 'GLenum mode', }, |
246 { 'return_type': 'void', | 256 { 'return_type': 'void', |
247 'names': ['glDeleteBuffers'], | 257 'names': ['glDeleteBuffers'], |
248 'known_as': 'glDeleteBuffersARB', | 258 'known_as': 'glDeleteBuffersARB', |
249 'arguments': 'GLsizei n, const GLuint* buffers', }, | 259 'arguments': 'GLsizei n, const GLuint* buffers', }, |
250 { 'return_type': 'void', | 260 { 'return_type': 'void', |
251 'known_as': 'glDeleteFencesAPPLE', | 261 'known_as': 'glDeleteFencesAPPLE', |
252 'versions': [{ 'name': 'glDeleteFencesAPPLE', | 262 'versions': [{ 'name': 'glDeleteFencesAPPLE', |
253 'extensions': ['GL_APPLE_fence'] }], | 263 'extensions': ['GL_APPLE_fence'] }], |
254 'arguments': 'GLsizei n, const GLuint* fences', }, | 264 'arguments': 'GLsizei n, const GLuint* fences', }, |
255 { 'return_type': 'void', | 265 { 'return_type': 'void', |
256 'names': ['glDeleteFencesNV'], | 266 'names': ['glDeleteFencesNV'], |
257 'arguments': 'GLsizei n, const GLuint* fences', }, | 267 'arguments': 'GLsizei n, const GLuint* fences', }, |
258 { 'return_type': 'void', | 268 { 'return_type': 'void', |
259 'names': ['glDeleteFramebuffersEXT', 'glDeleteFramebuffers'], | 269 'names': ['glDeleteFramebuffersEXT', 'glDeleteFramebuffers'], |
260 'arguments': 'GLsizei n, const GLuint* framebuffers', }, | 270 'arguments': 'GLsizei n, const GLuint* framebuffers', }, |
261 { 'return_type': 'void', | 271 { 'return_type': 'void', |
| 272 'known_as': 'glDeletePathsNV', |
| 273 'versions': [{ 'name': 'glDeletePathsNV', |
| 274 'extensions': ['GL_NV_path_rendering'] }], |
| 275 'arguments': 'GLuint path, GLsizei range' }, |
| 276 { 'return_type': 'void', |
262 'names': ['glDeleteProgram'], | 277 'names': ['glDeleteProgram'], |
263 'arguments': 'GLuint program', }, | 278 'arguments': 'GLuint program', }, |
264 { 'return_type': 'void', | 279 { 'return_type': 'void', |
265 'versions': [{ 'name': 'glDeleteQueries' }, | 280 'versions': [{ 'name': 'glDeleteQueries' }, |
266 { 'name': 'glDeleteQueriesARB'}, | 281 { 'name': 'glDeleteQueriesARB'}, |
267 { 'name': 'glDeleteQueriesEXT', | 282 { 'name': 'glDeleteQueriesEXT', |
268 'extensions': ['GL_EXT_occlusion_query_boolean'] }], | 283 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
269 'arguments': 'GLsizei n, const GLuint* ids', }, | 284 'arguments': 'GLsizei n, const GLuint* ids', }, |
270 { 'return_type': 'void', | 285 { 'return_type': 'void', |
271 'names': ['glDeleteRenderbuffersEXT', 'glDeleteRenderbuffers'], | 286 'names': ['glDeleteRenderbuffersEXT', 'glDeleteRenderbuffers'], |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 'known_as': 'glGenFencesAPPLE', | 445 'known_as': 'glGenFencesAPPLE', |
431 'versions': [{ 'name': 'glGenFencesAPPLE', | 446 'versions': [{ 'name': 'glGenFencesAPPLE', |
432 'extensions': ['GL_APPLE_fence'] }], | 447 'extensions': ['GL_APPLE_fence'] }], |
433 'arguments': 'GLsizei n, GLuint* fences', }, | 448 'arguments': 'GLsizei n, GLuint* fences', }, |
434 { 'return_type': 'void', | 449 { 'return_type': 'void', |
435 'names': ['glGenFencesNV'], | 450 'names': ['glGenFencesNV'], |
436 'arguments': 'GLsizei n, GLuint* fences', }, | 451 'arguments': 'GLsizei n, GLuint* fences', }, |
437 { 'return_type': 'void', | 452 { 'return_type': 'void', |
438 'names': ['glGenFramebuffersEXT', 'glGenFramebuffers'], | 453 'names': ['glGenFramebuffersEXT', 'glGenFramebuffers'], |
439 'arguments': 'GLsizei n, GLuint* framebuffers', }, | 454 'arguments': 'GLsizei n, GLuint* framebuffers', }, |
| 455 { 'return_type': 'GLuint', |
| 456 'known_as': 'glGenPathsNV', |
| 457 'versions': [{ 'name': 'glGenPathsNV', |
| 458 'extensions': ['GL_NV_path_rendering'] }], |
| 459 'arguments': 'GLsizei range' }, |
440 { 'return_type': 'void', | 460 { 'return_type': 'void', |
441 'versions': [{ 'name': 'glGenQueries' }, | 461 'versions': [{ 'name': 'glGenQueries' }, |
442 { 'name': 'glGenQueriesARB', }, | 462 { 'name': 'glGenQueriesARB', }, |
443 { 'name' : 'glGenQueriesEXT', | 463 { 'name' : 'glGenQueriesEXT', |
444 'extensions': ['GL_EXT_occlusion_query_boolean'] }], | 464 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
445 'arguments': 'GLsizei n, GLuint* ids', }, | 465 'arguments': 'GLsizei n, GLuint* ids', }, |
446 { 'return_type': 'void', | 466 { 'return_type': 'void', |
447 'names': ['glGenRenderbuffersEXT', 'glGenRenderbuffers'], | 467 'names': ['glGenRenderbuffersEXT', 'glGenRenderbuffers'], |
448 'arguments': 'GLsizei n, GLuint* renderbuffers', }, | 468 'arguments': 'GLsizei n, GLuint* renderbuffers', }, |
449 { 'return_type': 'void', | 469 { 'return_type': 'void', |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
697 'versions': [{ 'name': 'glIsFenceAPPLE', | 717 'versions': [{ 'name': 'glIsFenceAPPLE', |
698 'extensions': ['GL_APPLE_fence'] }], | 718 'extensions': ['GL_APPLE_fence'] }], |
699 'arguments': 'GLuint fence', }, | 719 'arguments': 'GLuint fence', }, |
700 { 'return_type': 'GLboolean', | 720 { 'return_type': 'GLboolean', |
701 'names': ['glIsFenceNV'], | 721 'names': ['glIsFenceNV'], |
702 'arguments': 'GLuint fence', }, | 722 'arguments': 'GLuint fence', }, |
703 { 'return_type': 'GLboolean', | 723 { 'return_type': 'GLboolean', |
704 'names': ['glIsFramebufferEXT', 'glIsFramebuffer'], | 724 'names': ['glIsFramebufferEXT', 'glIsFramebuffer'], |
705 'arguments': 'GLuint framebuffer', }, | 725 'arguments': 'GLuint framebuffer', }, |
706 { 'return_type': 'GLboolean', | 726 { 'return_type': 'GLboolean', |
| 727 'known_as': 'glIsPathNV', |
| 728 'versions': [{ 'name': 'glIsPathNV', |
| 729 'extensions': ['GL_NV_path_rendering'] }], |
| 730 'arguments': 'GLuint path' }, |
| 731 { 'return_type': 'GLboolean', |
707 'names': ['glIsProgram'], | 732 'names': ['glIsProgram'], |
708 'arguments': 'GLuint program', }, | 733 'arguments': 'GLuint program', }, |
709 { 'return_type': 'GLboolean', | 734 { 'return_type': 'GLboolean', |
710 'versions': [{ 'name': 'glIsQuery' }, | 735 'versions': [{ 'name': 'glIsQuery' }, |
711 { 'name': 'glIsQueryARB' }, | 736 { 'name': 'glIsQueryARB' }, |
712 { 'name': 'glIsQueryEXT', | 737 { 'name': 'glIsQueryEXT', |
713 'extensions': ['GL_EXT_occlusion_query_boolean'] }], | 738 'extensions': ['GL_EXT_occlusion_query_boolean'] }], |
714 'arguments': 'GLuint query', }, | 739 'arguments': 'GLuint query', }, |
715 { 'return_type': 'GLboolean', | 740 { 'return_type': 'GLboolean', |
716 'names': ['glIsRenderbufferEXT', 'glIsRenderbuffer'], | 741 'names': ['glIsRenderbufferEXT', 'glIsRenderbuffer'], |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
763 'extensions': ['GL_EXT_direct_state_access', | 788 'extensions': ['GL_EXT_direct_state_access', |
764 'GL_NV_path_rendering'] }], | 789 'GL_NV_path_rendering'] }], |
765 'arguments': 'GLenum matrixMode, const GLfloat* m' }, | 790 'arguments': 'GLenum matrixMode, const GLfloat* m' }, |
766 { 'return_type': 'void', | 791 { 'return_type': 'void', |
767 'known_as': 'glMatrixLoadIdentityEXT', | 792 'known_as': 'glMatrixLoadIdentityEXT', |
768 'versions': [{ 'name': 'glMatrixLoadIdentityEXT', | 793 'versions': [{ 'name': 'glMatrixLoadIdentityEXT', |
769 'extensions': ['GL_EXT_direct_state_access', | 794 'extensions': ['GL_EXT_direct_state_access', |
770 'GL_NV_path_rendering'] },], | 795 'GL_NV_path_rendering'] },], |
771 'arguments': 'GLenum matrixMode' }, | 796 'arguments': 'GLenum matrixMode' }, |
772 { 'return_type': 'void', | 797 { 'return_type': 'void', |
| 798 'known_as': 'glPathCommandsNV', |
| 799 'versions': [{ 'name': 'glPathCommandsNV', |
| 800 'extensions': ['GL_NV_path_rendering'] }], |
| 801 'arguments': 'GLuint path, GLsizei numCommands, const GLubyte* commands, ' |
| 802 'GLsizei numCoords, GLenum coordType, const GLvoid* coords' }, |
| 803 { 'return_type': 'void', |
| 804 'known_as': 'glPathParameterfNV', |
| 805 'versions': [{ 'name': 'glPathParameterfNV', |
| 806 'extensions': ['GL_NV_path_rendering'] }], |
| 807 'arguments': 'GLuint path, GLenum pname, GLfloat value' }, |
| 808 { 'return_type': 'void', |
| 809 'known_as': 'glPathParameteriNV', |
| 810 'versions': [{ 'name': 'glPathParameteriNV', |
| 811 'extensions': ['GL_NV_path_rendering'] }], |
| 812 'arguments': 'GLuint path, GLenum pname, GLint value' }, |
| 813 { 'return_type': 'void', |
| 814 'known_as': 'glPathStencilFuncNV', |
| 815 'versions': [{ 'name': 'glPathStencilFuncNV', |
| 816 'extensions': ['GL_NV_path_rendering'] }], |
| 817 'arguments': 'GLenum func, GLint ref, GLuint mask' }, |
| 818 { 'return_type': 'void', |
773 'versions': [{ 'name': 'glPauseTransformFeedback' }], | 819 'versions': [{ 'name': 'glPauseTransformFeedback' }], |
774 'arguments': 'void', }, | 820 'arguments': 'void', }, |
775 { 'return_type': 'void', | 821 { 'return_type': 'void', |
776 'names': ['glPixelStorei'], | 822 'names': ['glPixelStorei'], |
777 'arguments': 'GLenum pname, GLint param', }, | 823 'arguments': 'GLenum pname, GLint param', }, |
778 { 'return_type': 'void', | 824 { 'return_type': 'void', |
779 'names': ['glPointParameteri'], | 825 'names': ['glPointParameteri'], |
780 'arguments': 'GLenum pname, GLint param', }, | 826 'arguments': 'GLenum pname, GLint param', }, |
781 { 'return_type': 'void', | 827 { 'return_type': 'void', |
782 'names': ['glPolygonOffset'], | 828 'names': ['glPolygonOffset'], |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
881 } else { | 927 } else { |
882 GL_SERVICE_LOG(" " << ii << ": ---\\n" << str[ii] << "\\n---"); | 928 GL_SERVICE_LOG(" " << ii << ": ---\\n" << str[ii] << "\\n---"); |
883 } | 929 } |
884 } else { | 930 } else { |
885 GL_SERVICE_LOG(" " << ii << ": NULL"); | 931 GL_SERVICE_LOG(" " << ii << ": NULL"); |
886 } | 932 } |
887 } | 933 } |
888 }); | 934 }); |
889 """, }, | 935 """, }, |
890 { 'return_type': 'void', | 936 { 'return_type': 'void', |
| 937 'known_as': 'glStencilFillPathNV', |
| 938 'versions': [{ 'name': 'glStencilFillPathNV', |
| 939 'extensions': ['GL_NV_path_rendering'] }], |
| 940 'arguments': 'GLuint path, GLenum fillMode, GLuint mask' }, |
| 941 { 'return_type': 'void', |
891 'names': ['glStencilFunc'], | 942 'names': ['glStencilFunc'], |
892 'arguments': 'GLenum func, GLint ref, GLuint mask', }, | 943 'arguments': 'GLenum func, GLint ref, GLuint mask', }, |
893 { 'return_type': 'void', | 944 { 'return_type': 'void', |
894 'names': ['glStencilFuncSeparate'], | 945 'names': ['glStencilFuncSeparate'], |
895 'arguments': 'GLenum face, GLenum func, GLint ref, GLuint mask', }, | 946 'arguments': 'GLenum face, GLenum func, GLint ref, GLuint mask', }, |
896 { 'return_type': 'void', | 947 { 'return_type': 'void', |
897 'names': ['glStencilMask'], | 948 'names': ['glStencilMask'], |
898 'arguments': 'GLuint mask', }, | 949 'arguments': 'GLuint mask', }, |
899 { 'return_type': 'void', | 950 { 'return_type': 'void', |
900 'names': ['glStencilMaskSeparate'], | 951 'names': ['glStencilMaskSeparate'], |
901 'arguments': 'GLenum face, GLuint mask', }, | 952 'arguments': 'GLenum face, GLuint mask', }, |
902 { 'return_type': 'void', | 953 { 'return_type': 'void', |
903 'names': ['glStencilOp'], | 954 'names': ['glStencilOp'], |
904 'arguments': 'GLenum fail, GLenum zfail, GLenum zpass', }, | 955 'arguments': 'GLenum fail, GLenum zfail, GLenum zpass', }, |
905 { 'return_type': 'void', | 956 { 'return_type': 'void', |
906 'names': ['glStencilOpSeparate'], | 957 'names': ['glStencilOpSeparate'], |
907 'arguments': 'GLenum face, GLenum fail, GLenum zfail, GLenum zpass', }, | 958 'arguments': 'GLenum face, GLenum fail, GLenum zfail, GLenum zpass', }, |
| 959 { 'return_type': 'void', |
| 960 'known_as': 'glStencilStrokePathNV', |
| 961 'versions': [{ 'name': 'glStencilStrokePathNV', |
| 962 'extensions': ['GL_NV_path_rendering'] }], |
| 963 'arguments': 'GLuint path, GLint reference, GLuint mask' }, |
| 964 { 'return_type': 'void', |
| 965 'known_as': 'glStencilThenCoverFillPathNV', |
| 966 'versions': [{ 'name': 'glStencilThenCoverFillPathNV', |
| 967 'extensions': ['GL_NV_path_rendering'] }], |
| 968 'arguments': 'GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode' }, |
| 969 { 'return_type': 'void', |
| 970 'known_as': 'glStencilThenCoverStrokePathNV', |
| 971 'versions': [{ 'name': 'glStencilThenCoverStrokePathNV', |
| 972 'extensions': ['GL_NV_path_rendering'] }], |
| 973 'arguments': 'GLuint path, GLint reference, GLuint mask, GLenum coverMode' }, |
908 { 'return_type': 'GLboolean', | 974 { 'return_type': 'GLboolean', |
909 'known_as': 'glTestFenceAPPLE', | 975 'known_as': 'glTestFenceAPPLE', |
910 'versions': [{ 'name': 'glTestFenceAPPLE', | 976 'versions': [{ 'name': 'glTestFenceAPPLE', |
911 'extensions': ['GL_APPLE_fence'] }], | 977 'extensions': ['GL_APPLE_fence'] }], |
912 'arguments': 'GLuint fence', }, | 978 'arguments': 'GLuint fence', }, |
913 { 'return_type': 'GLboolean', | 979 { 'return_type': 'GLboolean', |
914 'names': ['glTestFenceNV'], | 980 'names': ['glTestFenceNV'], |
915 'arguments': 'GLuint fence', }, | 981 'arguments': 'GLuint fence', }, |
916 { 'return_type': 'void', | 982 { 'return_type': 'void', |
917 'names': ['glTexImage2D'], | 983 'names': ['glTexImage2D'], |
(...skipping 1689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2607 'gl_enums_implementation_autogen.h'), | 2673 'gl_enums_implementation_autogen.h'), |
2608 'wb') | 2674 'wb') |
2609 GenerateEnumUtils(header_file, enum_header_filenames) | 2675 GenerateEnumUtils(header_file, enum_header_filenames) |
2610 header_file.close() | 2676 header_file.close() |
2611 ClangFormat(header_file.name) | 2677 ClangFormat(header_file.name) |
2612 return 0 | 2678 return 0 |
2613 | 2679 |
2614 | 2680 |
2615 if __name__ == '__main__': | 2681 if __name__ == '__main__': |
2616 sys.exit(main(sys.argv[1:])) | 2682 sys.exit(main(sys.argv[1:])) |
OLD | NEW |