| 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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 312 { 'return_type': 'GLuint', | 312 { 'return_type': 'GLuint', |
| 313 'names': ['glCreateProgram'], | 313 'names': ['glCreateProgram'], |
| 314 'arguments': 'void', }, | 314 'arguments': 'void', }, |
| 315 { 'return_type': 'GLuint', | 315 { 'return_type': 'GLuint', |
| 316 'names': ['glCreateShader'], | 316 'names': ['glCreateShader'], |
| 317 'arguments': 'GLenum type', }, | 317 'arguments': 'GLenum type', }, |
| 318 { 'return_type': 'void', | 318 { 'return_type': 'void', |
| 319 'names': ['glCullFace'], | 319 'names': ['glCullFace'], |
| 320 'arguments': 'GLenum mode', }, | 320 'arguments': 'GLenum mode', }, |
| 321 { 'return_type': 'void', | 321 { 'return_type': 'void', |
| 322 'versions': [{ 'name': 'glDebugMessageCallback' }, |
| 323 { 'name': 'glDebugMessageCallbackKHR', |
| 324 'extensions': ['GL_KHR_debug'] }], |
| 325 'arguments': 'GLDEBUGPROC callback, const void* userParam', }, |
| 326 { 'return_type': 'void', |
| 327 'versions': [{ 'name': 'glDebugMessageControl' }, |
| 328 { 'name': 'glDebugMessageControlKHR', |
| 329 'extensions': ['GL_KHR_debug'] }], |
| 330 'arguments': |
| 331 'GLenum source, GLenum type, GLenum severity, GLsizei count, ' |
| 332 'const GLuint* ids, GLboolean enabled', }, |
| 333 { 'return_type': 'void', |
| 334 'versions': [{ 'name': 'glDebugMessageInsert' }, |
| 335 { 'name': 'glDebugMessageInsertKHR', |
| 336 'extensions': ['GL_KHR_debug'] }], |
| 337 'arguments': |
| 338 'GLenum source, GLenum type, GLuint id, GLenum severity, ' |
| 339 'GLsizei length, const char* buf', }, |
| 340 { 'return_type': 'void', |
| 322 'names': ['glDeleteBuffers'], | 341 'names': ['glDeleteBuffers'], |
| 323 'known_as': 'glDeleteBuffersARB', | 342 'known_as': 'glDeleteBuffersARB', |
| 324 'arguments': 'GLsizei n, const GLuint* buffers', }, | 343 'arguments': 'GLsizei n, const GLuint* buffers', }, |
| 325 { 'return_type': 'void', | 344 { 'return_type': 'void', |
| 326 'known_as': 'glDeleteFencesAPPLE', | 345 'known_as': 'glDeleteFencesAPPLE', |
| 327 'versions': [{ 'name': 'glDeleteFencesAPPLE', | 346 'versions': [{ 'name': 'glDeleteFencesAPPLE', |
| 328 'extensions': ['GL_APPLE_fence'] }], | 347 'extensions': ['GL_APPLE_fence'] }], |
| 329 'arguments': 'GLsizei n, const GLuint* fences', }, | 348 'arguments': 'GLsizei n, const GLuint* fences', }, |
| 330 { 'return_type': 'void', | 349 { 'return_type': 'void', |
| 331 'names': ['glDeleteFencesNV'], | 350 'names': ['glDeleteFencesNV'], |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 613 'extensions': ['GL_ANGLE_robust_client_memory']}], | 632 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 614 'arguments': | 633 'arguments': |
| 615 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' | 634 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 616 'GLint* params', }, | 635 'GLint* params', }, |
| 617 { 'return_type': 'void', | 636 { 'return_type': 'void', |
| 618 'versions': [{'name': 'glGetBufferPointervRobustANGLE', | 637 'versions': [{'name': 'glGetBufferPointervRobustANGLE', |
| 619 'extensions': ['GL_ANGLE_robust_client_memory']}], | 638 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 620 'arguments': | 639 'arguments': |
| 621 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' | 640 'GLenum target, GLenum pname, GLsizei bufSize, GLsizei* length, ' |
| 622 'void** params', }, | 641 'void** params', }, |
| 642 { 'return_type': 'void', |
| 643 'versions': [{ 'name': 'glGetDebugMessageLog' }, |
| 644 { 'name': 'glGetDebugMessageLogKHR', |
| 645 'extensions': ['GL_KHR_debug'] }], |
| 646 'arguments': |
| 647 'GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, ' |
| 648 'GLuint* ids, GLenum* severities, GLsizei* lengths, char* messageLog', }, |
| 623 { 'return_type': 'GLenum', | 649 { 'return_type': 'GLenum', |
| 624 'names': ['glGetError'], | 650 'names': ['glGetError'], |
| 625 'arguments': 'void', | 651 'arguments': 'void', |
| 626 'logging_code': """ | 652 'logging_code': """ |
| 627 GL_SERVICE_LOG("GL_RESULT: " << GLEnums::GetStringError(result)); | 653 GL_SERVICE_LOG("GL_RESULT: " << GLEnums::GetStringError(result)); |
| 628 """, }, | 654 """, }, |
| 629 { 'return_type': 'void', | 655 { 'return_type': 'void', |
| 630 'names': ['glGetFenceivNV'], | 656 'names': ['glGetFenceivNV'], |
| 631 'arguments': 'GLuint fence, GLenum pname, GLint* params', }, | 657 'arguments': 'GLuint fence, GLenum pname, GLint* params', }, |
| 632 { 'return_type': 'void', | 658 { 'return_type': 'void', |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 731 'arguments': | 757 'arguments': |
| 732 'GLuint program, GLint location, GLsizei bufSize, GLsizei* length, ' | 758 'GLuint program, GLint location, GLsizei bufSize, GLsizei* length, ' |
| 733 'GLint* params', }, | 759 'GLint* params', }, |
| 734 { 'return_type': 'void', | 760 { 'return_type': 'void', |
| 735 'versions': [{'name': 'glGetnUniformuivRobustANGLE', | 761 'versions': [{'name': 'glGetnUniformuivRobustANGLE', |
| 736 'extensions': ['GL_ANGLE_robust_client_memory']}], | 762 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 737 'arguments': | 763 'arguments': |
| 738 'GLuint program, GLint location, GLsizei bufSize, GLsizei* length, ' | 764 'GLuint program, GLint location, GLsizei bufSize, GLsizei* length, ' |
| 739 'GLuint* params', }, | 765 'GLuint* params', }, |
| 740 { 'return_type': 'void', | 766 { 'return_type': 'void', |
| 767 'versions': [{ 'name': 'glGetObjectLabel' }, |
| 768 { 'name': 'glGetObjectLabelKHR', |
| 769 'extensions': ['GL_KHR_debug'] }], |
| 770 'arguments': |
| 771 'GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, ' |
| 772 'char* label', }, |
| 773 { 'return_type': 'void', |
| 774 'versions': [{ 'name': 'glGetObjectPtrLabel' }, |
| 775 { 'name': 'glGetObjectPtrLabelKHR', |
| 776 'extensions': ['GL_KHR_debug'] }], |
| 777 'arguments': 'void* ptr, GLsizei bufSize, GLsizei* length, char* label', }, |
| 778 { 'return_type': 'void', |
| 779 'versions': [{ 'name': 'glGetPointerv' }, |
| 780 { 'name': 'glGetPointervKHR', |
| 781 'extensions': ['GL_KHR_debug'] }], |
| 782 'arguments': 'GLenum pname, void** params', }, |
| 783 { 'return_type': 'void', |
| 741 'versions': [{'name': 'glGetPointervRobustANGLERobustANGLE', | 784 'versions': [{'name': 'glGetPointervRobustANGLERobustANGLE', |
| 742 'extensions': ['GL_ANGLE_robust_client_memory']}], | 785 'extensions': ['GL_ANGLE_robust_client_memory']}], |
| 743 'arguments': | 786 'arguments': |
| 744 'GLenum pname, GLsizei bufSize, GLsizei* length, void** params', }, | 787 'GLenum pname, GLsizei bufSize, GLsizei* length, void** params', }, |
| 745 { 'return_type': 'void', | 788 { 'return_type': 'void', |
| 746 'known_as': 'glGetProgramBinary', | 789 'known_as': 'glGetProgramBinary', |
| 747 'versions': [{ 'name': 'glGetProgramBinaryOES' }, | 790 'versions': [{ 'name': 'glGetProgramBinaryOES' }, |
| 748 { 'name': 'glGetProgramBinary', | 791 { 'name': 'glGetProgramBinary', |
| 749 'extensions': ['GL_ARB_get_program_binary'] }], | 792 'extensions': ['GL_ARB_get_program_binary'] }], |
| 750 'arguments': 'GLuint program, GLsizei bufSize, GLsizei* length, ' | 793 'arguments': 'GLuint program, GLsizei bufSize, GLsizei* length, ' |
| (...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1159 'GL_NV_path_rendering'] },], | 1202 'GL_NV_path_rendering'] },], |
| 1160 'arguments': 'GLenum matrixMode' }, | 1203 'arguments': 'GLenum matrixMode' }, |
| 1161 { 'return_type': 'void', | 1204 { 'return_type': 'void', |
| 1162 'known_as': 'glMemoryBarrierEXT', | 1205 'known_as': 'glMemoryBarrierEXT', |
| 1163 'versions': [{ 'name': 'glMemoryBarrier', | 1206 'versions': [{ 'name': 'glMemoryBarrier', |
| 1164 'extensions': ['GL_ARB_shader_image_load_store'] }, | 1207 'extensions': ['GL_ARB_shader_image_load_store'] }, |
| 1165 { 'name': 'glMemoryBarrierEXT', | 1208 { 'name': 'glMemoryBarrierEXT', |
| 1166 'extensions': ['GL_EXT_shader_image_load_store'] }], | 1209 'extensions': ['GL_EXT_shader_image_load_store'] }], |
| 1167 'arguments': 'GLbitfield barriers', }, | 1210 'arguments': 'GLbitfield barriers', }, |
| 1168 { 'return_type': 'void', | 1211 { 'return_type': 'void', |
| 1212 'versions': [{ 'name': 'glObjectLabel' }, |
| 1213 { 'name': 'glObjectLabelKHR', |
| 1214 'extensions': ['GL_KHR_debug'] }], |
| 1215 'arguments': |
| 1216 'GLenum identifier, GLuint name, GLsizei length, const char* label', }, |
| 1217 { 'return_type': 'void', |
| 1218 'versions': [{ 'name': 'glObjectPtrLabel' }, |
| 1219 { 'name': 'glObjectPtrLabelKHR', |
| 1220 'extensions': ['GL_KHR_debug'] }], |
| 1221 'arguments': 'void* ptr, GLsizei length, const char* label', }, |
| 1222 { 'return_type': 'void', |
| 1169 'names': ['glPathCommandsNV'], | 1223 'names': ['glPathCommandsNV'], |
| 1170 'arguments': 'GLuint path, GLsizei numCommands, const GLubyte* commands, ' | 1224 'arguments': 'GLuint path, GLsizei numCommands, const GLubyte* commands, ' |
| 1171 'GLsizei numCoords, GLenum coordType, const GLvoid* coords' }, | 1225 'GLsizei numCoords, GLenum coordType, const GLvoid* coords' }, |
| 1172 { 'return_type': 'void', | 1226 { 'return_type': 'void', |
| 1173 'names': ['glPathParameterfNV'], | 1227 'names': ['glPathParameterfNV'], |
| 1174 'arguments': 'GLuint path, GLenum pname, GLfloat value' }, | 1228 'arguments': 'GLuint path, GLenum pname, GLfloat value' }, |
| 1175 { 'return_type': 'void', | 1229 { 'return_type': 'void', |
| 1176 'names': ['glPathParameteriNV'], | 1230 'names': ['glPathParameteriNV'], |
| 1177 'arguments': 'GLuint path, GLenum pname, GLint value' }, | 1231 'arguments': 'GLuint path, GLenum pname, GLint value' }, |
| 1178 { 'return_type': 'void', | 1232 { 'return_type': 'void', |
| 1179 'names': ['glPathStencilFuncNV'], | 1233 'names': ['glPathStencilFuncNV'], |
| 1180 'arguments': 'GLenum func, GLint ref, GLuint mask' }, | 1234 'arguments': 'GLenum func, GLint ref, GLuint mask' }, |
| 1181 { 'return_type': 'void', | 1235 { 'return_type': 'void', |
| 1182 'versions': [{ 'name': 'glPauseTransformFeedback', | 1236 'versions': [{ 'name': 'glPauseTransformFeedback', |
| 1183 'extensions': ['GL_ARB_transform_feedback2'] }], | 1237 'extensions': ['GL_ARB_transform_feedback2'] }], |
| 1184 'arguments': 'void', }, | 1238 'arguments': 'void', }, |
| 1185 { 'return_type': 'void', | 1239 { 'return_type': 'void', |
| 1186 'names': ['glPixelStorei'], | 1240 'names': ['glPixelStorei'], |
| 1187 'arguments': 'GLenum pname, GLint param', }, | 1241 'arguments': 'GLenum pname, GLint param', }, |
| 1188 { 'return_type': 'void', | 1242 { 'return_type': 'void', |
| 1189 'names': ['glPointParameteri'], | 1243 'names': ['glPointParameteri'], |
| 1190 'arguments': 'GLenum pname, GLint param', }, | 1244 'arguments': 'GLenum pname, GLint param', }, |
| 1191 { 'return_type': 'void', | 1245 { 'return_type': 'void', |
| 1192 'names': ['glPolygonOffset'], | 1246 'names': ['glPolygonOffset'], |
| 1193 'arguments': 'GLfloat factor, GLfloat units', }, | 1247 'arguments': 'GLfloat factor, GLfloat units', }, |
| 1194 { 'return_type': 'void', | 1248 { 'return_type': 'void', |
| 1249 'versions': [{ 'name': 'glPopDebugGroup' }, |
| 1250 { 'name': 'glPopDebugGroupKHR', |
| 1251 'extensions': ['GL_KHR_debug'] }], |
| 1252 'arguments': '', }, |
| 1253 { 'return_type': 'void', |
| 1195 'names': ['glPopGroupMarkerEXT'], | 1254 'names': ['glPopGroupMarkerEXT'], |
| 1196 'arguments': 'void', }, | 1255 'arguments': 'void', }, |
| 1197 { 'return_type': 'void', | 1256 { 'return_type': 'void', |
| 1198 'names': ['glPrimitiveRestartIndex'], | 1257 'names': ['glPrimitiveRestartIndex'], |
| 1199 'arguments': 'GLuint index', }, | 1258 'arguments': 'GLuint index', }, |
| 1200 { 'return_type': 'void', | 1259 { 'return_type': 'void', |
| 1201 'known_as': 'glProgramBinary', | 1260 'known_as': 'glProgramBinary', |
| 1202 'versions': [{ 'name': 'glProgramBinaryOES' }, | 1261 'versions': [{ 'name': 'glProgramBinaryOES' }, |
| 1203 { 'name': 'glProgramBinary', | 1262 { 'name': 'glProgramBinary', |
| 1204 'extensions': ['GL_ARB_get_program_binary'] }], | 1263 'extensions': ['GL_ARB_get_program_binary'] }], |
| 1205 'arguments': 'GLuint program, GLenum binaryFormat, ' | 1264 'arguments': 'GLuint program, GLenum binaryFormat, ' |
| 1206 'const GLvoid* binary, GLsizei length' }, | 1265 'const GLvoid* binary, GLsizei length' }, |
| 1207 { 'return_type': 'void', | 1266 { 'return_type': 'void', |
| 1208 'versions': [{ 'name': 'glProgramParameteri', | 1267 'versions': [{ 'name': 'glProgramParameteri', |
| 1209 'extensions': ['GL_ARB_get_program_binary'] }], | 1268 'extensions': ['GL_ARB_get_program_binary'] }], |
| 1210 'arguments': 'GLuint program, GLenum pname, GLint value' }, | 1269 'arguments': 'GLuint program, GLenum pname, GLint value' }, |
| 1211 { 'return_type': 'void', | 1270 { 'return_type': 'void', |
| 1212 'names': ['glProgramPathFragmentInputGenNV'], | 1271 'names': ['glProgramPathFragmentInputGenNV'], |
| 1213 'arguments': 'GLuint program, GLint location, GLenum genMode, ' | 1272 'arguments': 'GLuint program, GLint location, GLenum genMode, ' |
| 1214 'GLint components, const GLfloat* coeffs', | 1273 'GLint components, const GLfloat* coeffs', |
| 1215 'is_optional': True, }, | 1274 'is_optional': True, }, |
| 1216 { 'return_type': 'void', | 1275 { 'return_type': 'void', |
| 1276 'versions': [{ 'name': 'glPushDebugGroup' }, |
| 1277 { 'name': 'glPushDebugGroupKHR', |
| 1278 'extensions': ['GL_KHR_debug'] }], |
| 1279 'arguments': |
| 1280 'GLenum source, GLuint id, GLsizei length, const char* message', }, |
| 1281 { 'return_type': 'void', |
| 1217 'names': ['glPushGroupMarkerEXT'], | 1282 'names': ['glPushGroupMarkerEXT'], |
| 1218 'arguments': 'GLsizei length, const char* marker', }, | 1283 'arguments': 'GLsizei length, const char* marker', }, |
| 1219 { 'return_type': 'void', | 1284 { 'return_type': 'void', |
| 1220 'versions': [{ 'name': 'glQueryCounter', | 1285 'versions': [{ 'name': 'glQueryCounter', |
| 1221 'extensions': ['GL_ARB_timer_query'] }, | 1286 'extensions': ['GL_ARB_timer_query'] }, |
| 1222 { 'name': 'glQueryCounterEXT' }], | 1287 { 'name': 'glQueryCounterEXT' }], |
| 1223 'arguments': 'GLuint id, GLenum target', }, | 1288 'arguments': 'GLuint id, GLenum target', }, |
| 1224 { 'return_type': 'void', | 1289 { 'return_type': 'void', |
| 1225 'names': ['glReadBuffer'], | 1290 'names': ['glReadBuffer'], |
| 1226 'arguments': 'GLenum src', }, | 1291 'arguments': 'GLenum src', }, |
| (...skipping 980 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2207 'arguments': 'void', }, | 2272 'arguments': 'void', }, |
| 2208 ] | 2273 ] |
| 2209 | 2274 |
| 2210 FUNCTION_SETS = [ | 2275 FUNCTION_SETS = [ |
| 2211 [GL_FUNCTIONS, 'gl', [ | 2276 [GL_FUNCTIONS, 'gl', [ |
| 2212 'GL/gl.h', | 2277 'GL/gl.h', |
| 2213 'noninclude/GL/glext.h', | 2278 'noninclude/GL/glext.h', |
| 2214 'GLES2/gl2ext.h', | 2279 'GLES2/gl2ext.h', |
| 2215 'GLES3/gl3.h', | 2280 'GLES3/gl3.h', |
| 2216 'GLES3/gl31.h', | 2281 'GLES3/gl31.h', |
| 2282 'GLES3/gl32.h', |
| 2217 # Files below are Chromium-specific and shipped with Chromium sources. | 2283 # Files below are Chromium-specific and shipped with Chromium sources. |
| 2218 'GL/glextchromium.h', | 2284 'GL/glextchromium.h', |
| 2219 'GLES2/gl2chromium.h', | 2285 'GLES2/gl2chromium.h', |
| 2220 'GLES2/gl2extchromium.h' | 2286 'GLES2/gl2extchromium.h' |
| 2221 ], [ | 2287 ], [ |
| 2222 "GL_EXT_unpack_subimage", | 2288 "GL_EXT_unpack_subimage", |
| 2223 ] | 2289 ] |
| 2224 ], | 2290 ], |
| 2225 [OSMESA_FUNCTIONS, 'osmesa', [], []], | 2291 [OSMESA_FUNCTIONS, 'osmesa', [], []], |
| 2226 [EGL_FUNCTIONS, 'egl', [ | 2292 [EGL_FUNCTIONS, 'egl', [ |
| (...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2811 'GLuint': '0U', | 2877 'GLuint': '0U', |
| 2812 'GLint': '0', | 2878 'GLint': '0', |
| 2813 'GLboolean': 'GL_FALSE', | 2879 'GLboolean': 'GL_FALSE', |
| 2814 'GLbyte': '0', | 2880 'GLbyte': '0', |
| 2815 'GLubyte': '0', | 2881 'GLubyte': '0', |
| 2816 'GLbutfield': '0', | 2882 'GLbutfield': '0', |
| 2817 'GLushort': '0', | 2883 'GLushort': '0', |
| 2818 'GLsizei': '0', | 2884 'GLsizei': '0', |
| 2819 'GLfloat': '0.0f', | 2885 'GLfloat': '0.0f', |
| 2820 'GLdouble': '0.0', | 2886 'GLdouble': '0.0', |
| 2821 'GLsync': 'NULL'} | 2887 'GLsync': 'NULL', |
| 2888 'GLDEBUGPROC': 'NULL'} |
| 2822 if return_type.endswith('*'): | 2889 if return_type.endswith('*'): |
| 2823 file.write(' return NULL;\n') | 2890 file.write(' return NULL;\n') |
| 2824 elif return_type != 'void': | 2891 elif return_type != 'void': |
| 2825 file.write(' return %s;\n' % default_value[return_type]) | 2892 file.write(' return %s;\n' % default_value[return_type]) |
| 2826 file.write('}\n') | 2893 file.write('}\n') |
| 2827 | 2894 |
| 2828 file.write('\n') | 2895 file.write('\n') |
| 2829 file.write('} // namespace gl\n') | 2896 file.write('} // namespace gl\n') |
| 2830 | 2897 |
| 2831 | 2898 |
| (...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3315 header_file = open( | 3382 header_file = open( |
| 3316 os.path.join(directory, 'gl_stub_autogen_gl.cc'), 'wb') | 3383 os.path.join(directory, 'gl_stub_autogen_gl.cc'), 'wb') |
| 3317 GenerateStubSource(header_file, GL_FUNCTIONS) | 3384 GenerateStubSource(header_file, GL_FUNCTIONS) |
| 3318 header_file.close() | 3385 header_file.close() |
| 3319 ClangFormat(header_file.name) | 3386 ClangFormat(header_file.name) |
| 3320 return 0 | 3387 return 0 |
| 3321 | 3388 |
| 3322 | 3389 |
| 3323 if __name__ == '__main__': | 3390 if __name__ == '__main__': |
| 3324 sys.exit(main(sys.argv[1:])) | 3391 sys.exit(main(sys.argv[1:])) |
| OLD | NEW |