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

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

Issue 2472703003: Load the GL_KHR_debug entry points and log messages they produce. (Closed)
Patch Set: Update window system string Created 4 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 | « third_party/khronos/GLES3/gl32.h ('k') | ui/gl/gl_bindings_api_autogen_gl.h » ('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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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
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
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
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:]))
OLDNEW
« no previous file with comments | « third_party/khronos/GLES3/gl32.h ('k') | ui/gl/gl_bindings_api_autogen_gl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698