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

Side by Side Diff: gpu/command_buffer/build_gles2_cmd_buffer.py

Issue 1349233002: Mandoline: Enable more GL commands which are used by WebGL. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review issue Created 5 years, 3 months 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
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 GLES2 command buffers.""" 6 """code generator for GLES2 command buffers."""
7 7
8 import itertools 8 import itertools
9 import os 9 import os
10 import os.path 10 import os.path
(...skipping 2118 matching lines...) Expand 10 before | Expand all | Expand 10 after
2129 2129
2130 _FUNCTION_INFO = { 2130 _FUNCTION_INFO = {
2131 'ActiveTexture': { 2131 'ActiveTexture': {
2132 'decoder_func': 'DoActiveTexture', 2132 'decoder_func': 'DoActiveTexture',
2133 'unit_test': False, 2133 'unit_test': False,
2134 'impl_func': False, 2134 'impl_func': False,
2135 'client_test': False, 2135 'client_test': False,
2136 }, 2136 },
2137 'ApplyScreenSpaceAntialiasingCHROMIUM': { 2137 'ApplyScreenSpaceAntialiasingCHROMIUM': {
2138 'decoder_func': 'DoApplyScreenSpaceAntialiasingCHROMIUM', 2138 'decoder_func': 'DoApplyScreenSpaceAntialiasingCHROMIUM',
2139 'extension': 'CHROMIUM_screen_space_antialiasing',
2139 'extension_flag': 'chromium_screen_space_antialiasing', 2140 'extension_flag': 'chromium_screen_space_antialiasing',
2140 'unit_test': False, 2141 'unit_test': False,
2141 'client_test': False, 2142 'client_test': False,
2142 }, 2143 },
2143 'AttachShader': {'decoder_func': 'DoAttachShader'}, 2144 'AttachShader': {'decoder_func': 'DoAttachShader'},
2144 'BindAttribLocation': { 2145 'BindAttribLocation': {
2145 'type': 'GLchar', 2146 'type': 'GLchar',
2146 'data_transfer_methods': ['bucket'], 2147 'data_transfer_methods': ['bucket'],
2147 'needs_size': True, 2148 'needs_size': True,
2148 }, 2149 },
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
2318 'extension': "CHROMIUM_texture_mailbox", 2319 'extension': "CHROMIUM_texture_mailbox",
2319 'chromium': True, 2320 'chromium': True,
2320 'trace_level': 2, 2321 'trace_level': 2,
2321 }, 2322 },
2322 'GenValuebuffersCHROMIUM': { 2323 'GenValuebuffersCHROMIUM': {
2323 'type': 'GENn', 2324 'type': 'GENn',
2324 'gl_test_func': 'glGenValuebuffersCHROMIUM', 2325 'gl_test_func': 'glGenValuebuffersCHROMIUM',
2325 'resource_type': 'Valuebuffer', 2326 'resource_type': 'Valuebuffer',
2326 'resource_types': 'Valuebuffers', 2327 'resource_types': 'Valuebuffers',
2327 'unit_test': False, 2328 'unit_test': False,
2328 'extension': True, 2329 'extension': 'CHROMIUM_subscribe_uniform',
2329 'chromium': True, 2330 'chromium': True,
2330 }, 2331 },
2331 'DeleteValuebuffersCHROMIUM': { 2332 'DeleteValuebuffersCHROMIUM': {
2332 'type': 'DELn', 2333 'type': 'DELn',
2333 'gl_test_func': 'glDeleteValuebuffersCHROMIUM', 2334 'gl_test_func': 'glDeleteValuebuffersCHROMIUM',
2334 'resource_type': 'Valuebuffer', 2335 'resource_type': 'Valuebuffer',
2335 'resource_types': 'Valuebuffers', 2336 'resource_types': 'Valuebuffers',
2336 'unit_test': False, 2337 'unit_test': False,
2337 'extension': True, 2338 'extension': 'CHROMIUM_subscribe_uniform',
2338 'chromium': True, 2339 'chromium': True,
2339 }, 2340 },
2340 'IsValuebufferCHROMIUM': { 2341 'IsValuebufferCHROMIUM': {
2341 'type': 'Is', 2342 'type': 'Is',
2342 'decoder_func': 'DoIsValuebufferCHROMIUM', 2343 'decoder_func': 'DoIsValuebufferCHROMIUM',
2343 'expectation': False, 2344 'expectation': False,
2344 'extension': True, 2345 'extension': 'CHROMIUM_subscribe_uniform',
2345 'chromium': True, 2346 'chromium': True,
2346 }, 2347 },
2347 'BindValuebufferCHROMIUM': { 2348 'BindValuebufferCHROMIUM': {
2348 'type': 'Bind', 2349 'type': 'Bind',
2349 'decoder_func': 'DoBindValueBufferCHROMIUM', 2350 'decoder_func': 'DoBindValueBufferCHROMIUM',
2350 'gen_func': 'GenValueBuffersCHROMIUM', 2351 'gen_func': 'GenValueBuffersCHROMIUM',
2351 'unit_test': False, 2352 'unit_test': False,
2352 'extension': True, 2353 'extension': 'CHROMIUM_subscribe_uniform',
2353 'chromium': True, 2354 'chromium': True,
2354 }, 2355 },
2355 'SubscribeValueCHROMIUM': { 2356 'SubscribeValueCHROMIUM': {
2356 'decoder_func': 'DoSubscribeValueCHROMIUM', 2357 'decoder_func': 'DoSubscribeValueCHROMIUM',
2357 'unit_test': False, 2358 'unit_test': False,
2358 'extension': True, 2359 'extension': 'CHROMIUM_subscribe_uniform',
2359 'chromium': True, 2360 'chromium': True,
2360 }, 2361 },
2361 'PopulateSubscribedValuesCHROMIUM': { 2362 'PopulateSubscribedValuesCHROMIUM': {
2362 'decoder_func': 'DoPopulateSubscribedValuesCHROMIUM', 2363 'decoder_func': 'DoPopulateSubscribedValuesCHROMIUM',
2363 'unit_test': False, 2364 'unit_test': False,
2364 'extension': True, 2365 'extension': 'CHROMIUM_subscribe_uniform',
2365 'chromium': True, 2366 'chromium': True,
2366 }, 2367 },
2367 'UniformValuebufferCHROMIUM': { 2368 'UniformValuebufferCHROMIUM': {
2368 'decoder_func': 'DoUniformValueBufferCHROMIUM', 2369 'decoder_func': 'DoUniformValueBufferCHROMIUM',
2369 'unit_test': False, 2370 'unit_test': False,
2370 'extension': True, 2371 'extension': 'CHROMIUM_subscribe_uniform',
2371 'chromium': True, 2372 'chromium': True,
2372 }, 2373 },
2373 'ClearStencil': { 2374 'ClearStencil': {
2374 'type': 'StateSet', 2375 'type': 'StateSet',
2375 'state': 'ClearStencil', 2376 'state': 'ClearStencil',
2376 }, 2377 },
2377 'EnableFeatureCHROMIUM': { 2378 'EnableFeatureCHROMIUM': {
2378 'type': 'Custom', 2379 'type': 'Custom',
2379 'data_transfer_methods': ['shm'], 2380 'data_transfer_methods': ['shm'],
2380 'decoder_func': 'DoEnableFeatureCHROMIUM', 2381 'decoder_func': 'DoEnableFeatureCHROMIUM',
2381 'expectation': False, 2382 'expectation': False,
2382 'cmd_args': 'GLuint bucket_id, GLint* result', 2383 'cmd_args': 'GLuint bucket_id, GLint* result',
2383 'result': ['GLint'], 2384 'result': ['GLint'],
2384 'extension': True, 2385 'extension': 'GL_CHROMIUM_enable_feature',
2385 'chromium': True, 2386 'chromium': True,
2386 'pepper_interface': 'ChromiumEnableFeature', 2387 'pepper_interface': 'ChromiumEnableFeature',
2387 }, 2388 },
2388 'CompileShader': {'decoder_func': 'DoCompileShader', 'unit_test': False}, 2389 'CompileShader': {'decoder_func': 'DoCompileShader', 'unit_test': False},
2389 'CompressedTexImage2D': { 2390 'CompressedTexImage2D': {
2390 'type': 'Manual', 2391 'type': 'Manual',
2391 'data_transfer_methods': ['bucket', 'shm'], 2392 'data_transfer_methods': ['bucket', 'shm'],
2392 'trace_level': 1, 2393 'trace_level': 1,
2393 }, 2394 },
2394 'CompressedTexSubImage2D': { 2395 'CompressedTexSubImage2D': {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
2448 'trace_level': 1, 2449 'trace_level': 1,
2449 }, 2450 },
2450 'CreateGpuMemoryBufferImageCHROMIUM': { 2451 'CreateGpuMemoryBufferImageCHROMIUM': {
2451 'type': 'Manual', 2452 'type': 'Manual',
2452 'cmd_args': 2453 'cmd_args':
2453 'GLsizei width, GLsizei height, GLenum internalformat, GLenum usage', 2454 'GLsizei width, GLsizei height, GLenum internalformat, GLenum usage',
2454 'result': ['GLuint'], 2455 'result': ['GLuint'],
2455 'client_test': False, 2456 'client_test': False,
2456 'gen_cmd': False, 2457 'gen_cmd': False,
2457 'expectation': False, 2458 'expectation': False,
2458 'extension': "CHROMIUM_image", 2459 'extension': "CHROMIUM_gpu_memory_buffer_image",
2459 'chromium': True, 2460 'chromium': True,
2460 'trace_level': 1, 2461 'trace_level': 1,
2461 }, 2462 },
2462 'CreateProgram': { 2463 'CreateProgram': {
2463 'type': 'Create', 2464 'type': 'Create',
2464 'client_test': False, 2465 'client_test': False,
2465 }, 2466 },
2466 'CreateShader': { 2467 'CreateShader': {
2467 'type': 'Create', 2468 'type': 'Create',
2468 'client_test': False, 2469 'client_test': False,
(...skipping 19 matching lines...) Expand all
2488 'BlendFunc': { 2489 'BlendFunc': {
2489 'type': 'StateSetRGBAlpha', 2490 'type': 'StateSetRGBAlpha',
2490 'state': 'BlendFunc', 2491 'state': 'BlendFunc',
2491 }, 2492 },
2492 'BlendFuncSeparate': { 2493 'BlendFuncSeparate': {
2493 'type': 'StateSet', 2494 'type': 'StateSet',
2494 'state': 'BlendFunc', 2495 'state': 'BlendFunc',
2495 }, 2496 },
2496 'BlendBarrierKHR': { 2497 'BlendBarrierKHR': {
2497 'gl_test_func': 'glBlendBarrierKHR', 2498 'gl_test_func': 'glBlendBarrierKHR',
2498 'extension': True, 2499 'extension': 'KHR_blend_equation_advanced',
2499 'extension_flag': 'blend_equation_advanced', 2500 'extension_flag': 'blend_equation_advanced',
2500 'client_test': False, 2501 'client_test': False,
2501 }, 2502 },
2502 'SampleCoverage': {'decoder_func': 'DoSampleCoverage'}, 2503 'SampleCoverage': {'decoder_func': 'DoSampleCoverage'},
2503 'StencilFunc': { 2504 'StencilFunc': {
2504 'type': 'StateSetFrontBack', 2505 'type': 'StateSetFrontBack',
2505 'state': 'StencilFunc', 2506 'state': 'StencilFunc',
2506 }, 2507 },
2507 'StencilFuncSeparate': { 2508 'StencilFuncSeparate': {
2508 'type': 'StateSetFrontBackSeparate', 2509 'type': 'StateSetFrontBackSeparate',
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
2659 'FramebufferTexture2D': { 2660 'FramebufferTexture2D': {
2660 'decoder_func': 'DoFramebufferTexture2D', 2661 'decoder_func': 'DoFramebufferTexture2D',
2661 'gl_test_func': 'glFramebufferTexture2DEXT', 2662 'gl_test_func': 'glFramebufferTexture2DEXT',
2662 'trace_level': 1, 2663 'trace_level': 1,
2663 }, 2664 },
2664 'FramebufferTexture2DMultisampleEXT': { 2665 'FramebufferTexture2DMultisampleEXT': {
2665 'decoder_func': 'DoFramebufferTexture2DMultisample', 2666 'decoder_func': 'DoFramebufferTexture2DMultisample',
2666 'gl_test_func': 'glFramebufferTexture2DMultisampleEXT', 2667 'gl_test_func': 'glFramebufferTexture2DMultisampleEXT',
2667 'expectation': False, 2668 'expectation': False,
2668 'unit_test': False, 2669 'unit_test': False,
2670 'extension': 'EXT_multisampled_render_to_texture',
2669 'extension_flag': 'multisampled_render_to_texture', 2671 'extension_flag': 'multisampled_render_to_texture',
2670 'trace_level': 1, 2672 'trace_level': 1,
2671 }, 2673 },
2672 'FramebufferTextureLayer': { 2674 'FramebufferTextureLayer': {
2673 'decoder_func': 'DoFramebufferTextureLayer', 2675 'decoder_func': 'DoFramebufferTextureLayer',
2674 'unsafe': True, 2676 'unsafe': True,
2675 'trace_level': 1, 2677 'trace_level': 1,
2676 }, 2678 },
2677 'GenerateMipmap': { 2679 'GenerateMipmap': {
2678 'decoder_func': 'DoGenerateMipmap', 2680 'decoder_func': 'DoGenerateMipmap',
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
2886 'GetProgramiv': { 2888 'GetProgramiv': {
2887 'type': 'GETn', 2889 'type': 'GETn',
2888 'decoder_func': 'DoGetProgramiv', 2890 'decoder_func': 'DoGetProgramiv',
2889 'result': ['SizedResult<GLint>'], 2891 'result': ['SizedResult<GLint>'],
2890 'expectation': False, 2892 'expectation': False,
2891 }, 2893 },
2892 'GetProgramInfoCHROMIUM': { 2894 'GetProgramInfoCHROMIUM': {
2893 'type': 'Custom', 2895 'type': 'Custom',
2894 'expectation': False, 2896 'expectation': False,
2895 'impl_func': False, 2897 'impl_func': False,
2896 'extension': True, 2898 'extension': 'CHROMIUM_get_multiple',
2897 'chromium': True, 2899 'chromium': True,
2898 'client_test': False, 2900 'client_test': False,
2899 'cmd_args': 'GLidProgram program, uint32_t bucket_id', 2901 'cmd_args': 'GLidProgram program, uint32_t bucket_id',
2900 'result': [ 2902 'result': [
2901 'uint32_t link_status', 2903 'uint32_t link_status',
2902 'uint32_t num_attribs', 2904 'uint32_t num_attribs',
2903 'uint32_t num_uniforms', 2905 'uint32_t num_uniforms',
2904 ], 2906 ],
2905 }, 2907 },
2906 'GetProgramInfoLog': { 2908 'GetProgramInfoLog': {
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
3189 }, 3191 },
3190 'MapBufferCHROMIUM': { 3192 'MapBufferCHROMIUM': {
3191 'gen_cmd': False, 3193 'gen_cmd': False,
3192 'extension': "CHROMIUM_pixel_transfer_buffer_object", 3194 'extension': "CHROMIUM_pixel_transfer_buffer_object",
3193 'chromium': True, 3195 'chromium': True,
3194 'client_test': False, 3196 'client_test': False,
3195 'trace_level': 1, 3197 'trace_level': 1,
3196 }, 3198 },
3197 'MapBufferSubDataCHROMIUM': { 3199 'MapBufferSubDataCHROMIUM': {
3198 'gen_cmd': False, 3200 'gen_cmd': False,
3199 'extension': True, 3201 'extension': 'CHROMIUM_map_sub',
3200 'chromium': True, 3202 'chromium': True,
3201 'client_test': False, 3203 'client_test': False,
3202 'pepper_interface': 'ChromiumMapSub', 3204 'pepper_interface': 'ChromiumMapSub',
3203 'trace_level': 1, 3205 'trace_level': 1,
3204 }, 3206 },
3205 'MapTexSubImage2DCHROMIUM': { 3207 'MapTexSubImage2DCHROMIUM': {
3206 'gen_cmd': False, 3208 'gen_cmd': False,
3207 'extension': "CHROMIUM_sub_image", 3209 'extension': "CHROMIUM_sub_image",
3208 'chromium': True, 3210 'chromium': True,
3209 'client_test': False, 3211 'client_test': False,
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
3274 'pepper_name': 'RenderbufferStorageMultisampleEXT', 3276 'pepper_name': 'RenderbufferStorageMultisampleEXT',
3275 'trace_level': 1, 3277 'trace_level': 1,
3276 }, 3278 },
3277 'RenderbufferStorageMultisampleEXT': { 3279 'RenderbufferStorageMultisampleEXT': {
3278 'cmd_comment': 3280 'cmd_comment':
3279 '// GL_EXT_multisampled_render_to_texture\n', 3281 '// GL_EXT_multisampled_render_to_texture\n',
3280 'decoder_func': 'DoRenderbufferStorageMultisampleEXT', 3282 'decoder_func': 'DoRenderbufferStorageMultisampleEXT',
3281 'gl_test_func': 'glRenderbufferStorageMultisampleEXT', 3283 'gl_test_func': 'glRenderbufferStorageMultisampleEXT',
3282 'expectation': False, 3284 'expectation': False,
3283 'unit_test': False, 3285 'unit_test': False,
3286 'extension': 'EXT_multisampled_render_to_texture',
3284 'extension_flag': 'multisampled_render_to_texture', 3287 'extension_flag': 'multisampled_render_to_texture',
3285 'trace_level': 1, 3288 'trace_level': 1,
3286 }, 3289 },
3287 'ReadBuffer': { 3290 'ReadBuffer': {
3288 'unsafe': True, 3291 'unsafe': True,
3289 'decoder_func': 'DoReadBuffer', 3292 'decoder_func': 'DoReadBuffer',
3290 'trace_level': 1, 3293 'trace_level': 1,
3291 }, 3294 },
3292 'ReadPixels': { 3295 'ReadPixels': {
3293 'cmd_comment': 3296 'cmd_comment':
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
3626 }, 3629 },
3627 'UnmapBufferCHROMIUM': { 3630 'UnmapBufferCHROMIUM': {
3628 'gen_cmd': False, 3631 'gen_cmd': False,
3629 'extension': "CHROMIUM_pixel_transfer_buffer_object", 3632 'extension': "CHROMIUM_pixel_transfer_buffer_object",
3630 'chromium': True, 3633 'chromium': True,
3631 'client_test': False, 3634 'client_test': False,
3632 'trace_level': 1, 3635 'trace_level': 1,
3633 }, 3636 },
3634 'UnmapBufferSubDataCHROMIUM': { 3637 'UnmapBufferSubDataCHROMIUM': {
3635 'gen_cmd': False, 3638 'gen_cmd': False,
3636 'extension': True, 3639 'extension': 'CHROMIUM_map_sub',
3637 'chromium': True, 3640 'chromium': True,
3638 'client_test': False, 3641 'client_test': False,
3639 'pepper_interface': 'ChromiumMapSub', 3642 'pepper_interface': 'ChromiumMapSub',
3640 'trace_level': 1, 3643 'trace_level': 1,
3641 }, 3644 },
3642 'UnmapBuffer': { 3645 'UnmapBuffer': {
3643 'type': 'Custom', 3646 'type': 'Custom',
3644 'unsafe': True, 3647 'unsafe': True,
3645 'trace_level': 1, 3648 'trace_level': 1,
3646 }, 3649 },
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
3745 'impl_func': False, 3748 'impl_func': False,
3746 'cmd_args': 'uint32_t bucket_id', 3749 'cmd_args': 'uint32_t bucket_id',
3747 'extension': True, 3750 'extension': True,
3748 'chromium': True, 3751 'chromium': True,
3749 }, 3752 },
3750 'RequestExtensionCHROMIUM': { 3753 'RequestExtensionCHROMIUM': {
3751 'type': 'Custom', 3754 'type': 'Custom',
3752 'impl_func': False, 3755 'impl_func': False,
3753 'client_test': False, 3756 'client_test': False,
3754 'cmd_args': 'uint32_t bucket_id', 3757 'cmd_args': 'uint32_t bucket_id',
3755 'extension': True, 3758 'extension': 'CHROMIUM_request_extension',
3756 'chromium': True, 3759 'chromium': True,
3757 }, 3760 },
3758 'RateLimitOffscreenContextCHROMIUM': { 3761 'RateLimitOffscreenContextCHROMIUM': {
3759 'gen_cmd': False, 3762 'gen_cmd': False,
3760 'extension': True, 3763 'extension': True,
3761 'chromium': True, 3764 'chromium': True,
3762 'client_test': False, 3765 'client_test': False,
3763 }, 3766 },
3764 'CreateStreamTextureCHROMIUM': { 3767 'CreateStreamTextureCHROMIUM': {
3765 'type': 'HandWritten', 3768 'type': 'HandWritten',
(...skipping 20 matching lines...) Expand all
3786 'CopySubTextureCHROMIUM': { 3789 'CopySubTextureCHROMIUM': {
3787 'decoder_func': 'DoCopySubTextureCHROMIUM', 3790 'decoder_func': 'DoCopySubTextureCHROMIUM',
3788 'unit_test': False, 3791 'unit_test': False,
3789 'extension': "CHROMIUM_copy_texture", 3792 'extension': "CHROMIUM_copy_texture",
3790 'chromium': True, 3793 'chromium': True,
3791 'trace_level': 2, 3794 'trace_level': 2,
3792 }, 3795 },
3793 'CompressedCopyTextureCHROMIUM': { 3796 'CompressedCopyTextureCHROMIUM': {
3794 'decoder_func': 'DoCompressedCopyTextureCHROMIUM', 3797 'decoder_func': 'DoCompressedCopyTextureCHROMIUM',
3795 'unit_test': False, 3798 'unit_test': False,
3796 'extension': True, 3799 'extension': 'CHROMIUM_copy_compressed_texture',
3797 'chromium': True, 3800 'chromium': True,
3798 }, 3801 },
3799 'CompressedCopySubTextureCHROMIUM': { 3802 'CompressedCopySubTextureCHROMIUM': {
3800 'decoder_func': 'DoCompressedCopySubTextureCHROMIUM', 3803 'decoder_func': 'DoCompressedCopySubTextureCHROMIUM',
3801 'unit_test': False, 3804 'unit_test': False,
3802 'extension': True, 3805 'extension': 'CHROMIUM_copy_compressed_texture',
3803 'chromium': True, 3806 'chromium': True,
3804 }, 3807 },
3805 'TexStorage2DEXT': { 3808 'TexStorage2DEXT': {
3806 'unit_test': False, 3809 'unit_test': False,
3807 'extension': True, 3810 'extension': 'EXT_texture_storage',
3808 'decoder_func': 'DoTexStorage2DEXT', 3811 'decoder_func': 'DoTexStorage2DEXT',
3809 'trace_level': 2, 3812 'trace_level': 2,
3810 }, 3813 },
3811 'DrawArraysInstancedANGLE': { 3814 'DrawArraysInstancedANGLE': {
3812 'type': 'Manual', 3815 'type': 'Manual',
3813 'cmd_args': 'GLenumDrawMode mode, GLint first, GLsizei count, ' 3816 'cmd_args': 'GLenumDrawMode mode, GLint first, GLsizei count, '
3814 'GLsizei primcount', 3817 'GLsizei primcount',
3815 'extension': True, 3818 'extension': 'ANGLE_instanced_arrays',
3816 'unit_test': False, 3819 'unit_test': False,
3817 'pepper_interface': 'InstancedArrays', 3820 'pepper_interface': 'InstancedArrays',
3818 'defer_draws': True, 3821 'defer_draws': True,
3819 'trace_level': 2, 3822 'trace_level': 2,
3820 }, 3823 },
3821 'DrawBuffersEXT': { 3824 'DrawBuffersEXT': {
3822 'type': 'PUTn', 3825 'type': 'PUTn',
3823 'decoder_func': 'DoDrawBuffersEXT', 3826 'decoder_func': 'DoDrawBuffersEXT',
3824 'count': 1, 3827 'count': 1,
3825 'client_test': False, 3828 'client_test': False,
3826 'unit_test': False, 3829 'unit_test': False,
3827 # could use 'extension_flag': 'ext_draw_buffers' but currently expected to 3830 # could use 'extension_flag': 'ext_draw_buffers' but currently expected to
3828 # work without. 3831 # work without.
3829 'extension': True, 3832 'extension': 'EXT_draw_buffers',
3830 'pepper_interface': 'DrawBuffers', 3833 'pepper_interface': 'DrawBuffers',
3831 'trace_level': 2, 3834 'trace_level': 2,
3832 }, 3835 },
3833 'DrawElementsInstancedANGLE': { 3836 'DrawElementsInstancedANGLE': {
3834 'type': 'Manual', 3837 'type': 'Manual',
3835 'cmd_args': 'GLenumDrawMode mode, GLsizei count, ' 3838 'cmd_args': 'GLenumDrawMode mode, GLsizei count, '
3836 'GLenumIndexType type, GLuint index_offset, GLsizei primcount', 3839 'GLenumIndexType type, GLuint index_offset, GLsizei primcount',
3837 'extension': True, 3840 'extension': 'ANGLE_instanced_arrays',
3838 'unit_test': False, 3841 'unit_test': False,
3839 'client_test': False, 3842 'client_test': False,
3840 'pepper_interface': 'InstancedArrays', 3843 'pepper_interface': 'InstancedArrays',
3841 'defer_draws': True, 3844 'defer_draws': True,
3842 'trace_level': 2, 3845 'trace_level': 2,
3843 }, 3846 },
3844 'VertexAttribDivisorANGLE': { 3847 'VertexAttribDivisorANGLE': {
3845 'type': 'Manual', 3848 'type': 'Manual',
3846 'cmd_args': 'GLuint index, GLuint divisor', 3849 'cmd_args': 'GLuint index, GLuint divisor',
3847 'extension': True, 3850 'extension': 'ANGLE_instanced_arrays',
3848 'unit_test': False, 3851 'unit_test': False,
3849 'pepper_interface': 'InstancedArrays', 3852 'pepper_interface': 'InstancedArrays',
3850 }, 3853 },
3851 'GenQueriesEXT': { 3854 'GenQueriesEXT': {
3852 'type': 'GENn', 3855 'type': 'GENn',
3853 'gl_test_func': 'glGenQueriesARB', 3856 'gl_test_func': 'glGenQueriesARB',
3854 'resource_type': 'Query', 3857 'resource_type': 'Query',
3855 'resource_types': 'Queries', 3858 'resource_types': 'Queries',
3856 'unit_test': False, 3859 'unit_test': False,
3857 'pepper_interface': 'Query', 3860 'pepper_interface': 'Query',
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
3945 'SetDisjointValueSyncCHROMIUM': { 3948 'SetDisjointValueSyncCHROMIUM': {
3946 'type': 'Manual', 3949 'type': 'Manual',
3947 'data_transfer_methods': ['shm'], 3950 'data_transfer_methods': ['shm'],
3948 'client_test': False, 3951 'client_test': False,
3949 'cmd_args': 'void* sync_data', 3952 'cmd_args': 'void* sync_data',
3950 'extension': True, 3953 'extension': True,
3951 'chromium': True, 3954 'chromium': True,
3952 }, 3955 },
3953 'BindUniformLocationCHROMIUM': { 3956 'BindUniformLocationCHROMIUM': {
3954 'type': 'GLchar', 3957 'type': 'GLchar',
3955 'extension': True, 3958 'extension': 'CHROMIUM_bind_uniform_location',
3956 'data_transfer_methods': ['bucket'], 3959 'data_transfer_methods': ['bucket'],
3957 'needs_size': True, 3960 'needs_size': True,
3958 'gl_test_func': 'DoBindUniformLocationCHROMIUM', 3961 'gl_test_func': 'DoBindUniformLocationCHROMIUM',
3959 }, 3962 },
3960 'InsertEventMarkerEXT': { 3963 'InsertEventMarkerEXT': {
3961 'type': 'GLcharN', 3964 'type': 'GLcharN',
3962 'decoder_func': 'DoInsertEventMarkerEXT', 3965 'decoder_func': 'DoInsertEventMarkerEXT',
3963 'expectation': False, 3966 'expectation': False,
3964 'extension': True, 3967 'extension': 'EXT_debug_marker',
3965 }, 3968 },
3966 'PushGroupMarkerEXT': { 3969 'PushGroupMarkerEXT': {
3967 'type': 'GLcharN', 3970 'type': 'GLcharN',
3968 'decoder_func': 'DoPushGroupMarkerEXT', 3971 'decoder_func': 'DoPushGroupMarkerEXT',
3969 'expectation': False, 3972 'expectation': False,
3970 'extension': True, 3973 'extension': 'EXT_debug_marker',
3971 }, 3974 },
3972 'PopGroupMarkerEXT': { 3975 'PopGroupMarkerEXT': {
3973 'decoder_func': 'DoPopGroupMarkerEXT', 3976 'decoder_func': 'DoPopGroupMarkerEXT',
3974 'expectation': False, 3977 'expectation': False,
3975 'extension': True, 3978 'extension': 'EXT_debug_marker',
3976 'impl_func': False, 3979 'impl_func': False,
3977 }, 3980 },
3978 3981
3979 'GenVertexArraysOES': { 3982 'GenVertexArraysOES': {
3980 'type': 'GENn', 3983 'type': 'GENn',
3981 'extension': True, 3984 'extension': 'OES_vertex_array_object',
3982 'gl_test_func': 'glGenVertexArraysOES', 3985 'gl_test_func': 'glGenVertexArraysOES',
3983 'resource_type': 'VertexArray', 3986 'resource_type': 'VertexArray',
3984 'resource_types': 'VertexArrays', 3987 'resource_types': 'VertexArrays',
3985 'unit_test': False, 3988 'unit_test': False,
3986 'pepper_interface': 'VertexArrayObject', 3989 'pepper_interface': 'VertexArrayObject',
3987 }, 3990 },
3988 'BindVertexArrayOES': { 3991 'BindVertexArrayOES': {
3989 'type': 'Bind', 3992 'type': 'Bind',
3990 'extension': True, 3993 'extension': 'OES_vertex_array_object',
3991 'gl_test_func': 'glBindVertexArrayOES', 3994 'gl_test_func': 'glBindVertexArrayOES',
3992 'decoder_func': 'DoBindVertexArrayOES', 3995 'decoder_func': 'DoBindVertexArrayOES',
3993 'gen_func': 'GenVertexArraysOES', 3996 'gen_func': 'GenVertexArraysOES',
3994 'unit_test': False, 3997 'unit_test': False,
3995 'client_test': False, 3998 'client_test': False,
3996 'pepper_interface': 'VertexArrayObject', 3999 'pepper_interface': 'VertexArrayObject',
3997 }, 4000 },
3998 'DeleteVertexArraysOES': { 4001 'DeleteVertexArraysOES': {
3999 'type': 'DELn', 4002 'type': 'DELn',
4000 'extension': True, 4003 'extension': 'OES_vertex_array_object',
4001 'gl_test_func': 'glDeleteVertexArraysOES', 4004 'gl_test_func': 'glDeleteVertexArraysOES',
4002 'resource_type': 'VertexArray', 4005 'resource_type': 'VertexArray',
4003 'resource_types': 'VertexArrays', 4006 'resource_types': 'VertexArrays',
4004 'unit_test': False, 4007 'unit_test': False,
4005 'pepper_interface': 'VertexArrayObject', 4008 'pepper_interface': 'VertexArrayObject',
4006 }, 4009 },
4007 'IsVertexArrayOES': { 4010 'IsVertexArrayOES': {
4008 'type': 'Is', 4011 'type': 'Is',
4009 'extension': True, 4012 'extension': 'OES_vertex_array_object',
4010 'gl_test_func': 'glIsVertexArrayOES', 4013 'gl_test_func': 'glIsVertexArrayOES',
4011 'decoder_func': 'DoIsVertexArrayOES', 4014 'decoder_func': 'DoIsVertexArrayOES',
4012 'expectation': False, 4015 'expectation': False,
4013 'unit_test': False, 4016 'unit_test': False,
4014 'pepper_interface': 'VertexArrayObject', 4017 'pepper_interface': 'VertexArrayObject',
4015 }, 4018 },
4016 'BindTexImage2DCHROMIUM': { 4019 'BindTexImage2DCHROMIUM': {
4017 'decoder_func': 'DoBindTexImage2DCHROMIUM', 4020 'decoder_func': 'DoBindTexImage2DCHROMIUM',
4018 'unit_test': False, 4021 'unit_test': False,
4019 'extension': "CHROMIUM_image", 4022 'extension': "CHROMIUM_image",
(...skipping 24 matching lines...) Expand all
4044 'gen_cmd': False, 4047 'gen_cmd': False,
4045 'extension': "CHROMIUM_miscellaneous", 4048 'extension': "CHROMIUM_miscellaneous",
4046 'chromium': True, 4049 'chromium': True,
4047 'client_test': False, 4050 'client_test': False,
4048 }, 4051 },
4049 'TraceBeginCHROMIUM': { 4052 'TraceBeginCHROMIUM': {
4050 'type': 'Custom', 4053 'type': 'Custom',
4051 'impl_func': False, 4054 'impl_func': False,
4052 'client_test': False, 4055 'client_test': False,
4053 'cmd_args': 'GLuint category_bucket_id, GLuint name_bucket_id', 4056 'cmd_args': 'GLuint category_bucket_id, GLuint name_bucket_id',
4054 'extension': True, 4057 'extension': 'CHROMIUM_trace_marker',
4055 'chromium': True, 4058 'chromium': True,
4056 }, 4059 },
4057 'TraceEndCHROMIUM': { 4060 'TraceEndCHROMIUM': {
4058 'impl_func': False, 4061 'impl_func': False,
4059 'client_test': False, 4062 'client_test': False,
4060 'decoder_func': 'DoTraceEndCHROMIUM', 4063 'decoder_func': 'DoTraceEndCHROMIUM',
4061 'unit_test': False, 4064 'unit_test': False,
4062 'extension': True, 4065 'extension': 'CHROMIUM_trace_marker',
4063 'chromium': True, 4066 'chromium': True,
4064 }, 4067 },
4065 'DiscardFramebufferEXT': { 4068 'DiscardFramebufferEXT': {
4066 'type': 'PUTn', 4069 'type': 'PUTn',
4067 'count': 1, 4070 'count': 1,
4068 'decoder_func': 'DoDiscardFramebufferEXT', 4071 'decoder_func': 'DoDiscardFramebufferEXT',
4069 'unit_test': False, 4072 'unit_test': False,
4070 'client_test': False, 4073 'client_test': False,
4074 'extension': 'EXT_discard_framebuffer',
4071 'extension_flag': 'ext_discard_framebuffer', 4075 'extension_flag': 'ext_discard_framebuffer',
4072 'trace_level': 2, 4076 'trace_level': 2,
4073 }, 4077 },
4074 'LoseContextCHROMIUM': { 4078 'LoseContextCHROMIUM': {
4075 'decoder_func': 'DoLoseContextCHROMIUM', 4079 'decoder_func': 'DoLoseContextCHROMIUM',
4076 'unit_test': False, 4080 'unit_test': False,
4077 'extension': True, 4081 'extension': 'CHROMIUM_lose_context',
4078 'chromium': True, 4082 'chromium': True,
4079 'trace_level': 1, 4083 'trace_level': 1,
4080 }, 4084 },
4081 'InsertSyncPointCHROMIUM': { 4085 'InsertSyncPointCHROMIUM': {
4082 'type': 'HandWritten', 4086 'type': 'HandWritten',
4083 'impl_func': False, 4087 'impl_func': False,
4084 'extension': "CHROMIUM_sync_point", 4088 'extension': "CHROMIUM_sync_point",
4085 'chromium': True, 4089 'chromium': True,
4086 'trace_level': 1, 4090 'trace_level': 1,
4087 }, 4091 },
4088 'WaitSyncPointCHROMIUM': { 4092 'WaitSyncPointCHROMIUM': {
4089 'type': 'Custom', 4093 'type': 'Custom',
4090 'impl_func': True, 4094 'impl_func': True,
4091 'extension': "CHROMIUM_sync_point", 4095 'extension': "CHROMIUM_sync_point",
4092 'chromium': True, 4096 'chromium': True,
4093 'trace_level': 1, 4097 'trace_level': 1,
4094 }, 4098 },
4095 'DiscardBackbufferCHROMIUM': { 4099 'DiscardBackbufferCHROMIUM': {
4096 'type': 'Custom', 4100 'type': 'Custom',
4097 'impl_func': True, 4101 'impl_func': True,
4098 'extension': True, 4102 'extension': True,
4099 'chromium': True, 4103 'chromium': True,
4100 'trace_level': 2, 4104 'trace_level': 2,
4101 }, 4105 },
4102 'ScheduleOverlayPlaneCHROMIUM': { 4106 'ScheduleOverlayPlaneCHROMIUM': {
4103 'type': 'Custom', 4107 'type': 'Custom',
4104 'impl_func': True, 4108 'impl_func': True,
4105 'unit_test': False, 4109 'unit_test': False,
4106 'client_test': False, 4110 'client_test': False,
4107 'extension': True, 4111 'extension': 'CHROMIUM_schedule_overlay_plane',
4108 'chromium': True, 4112 'chromium': True,
4109 }, 4113 },
4110 'MatrixLoadfCHROMIUM': { 4114 'MatrixLoadfCHROMIUM': {
4111 'type': 'PUT', 4115 'type': 'PUT',
4112 'count': 16, 4116 'count': 16,
4113 'data_type': 'GLfloat', 4117 'data_type': 'GLfloat',
4114 'decoder_func': 'DoMatrixLoadfCHROMIUM', 4118 'decoder_func': 'DoMatrixLoadfCHROMIUM',
4115 'gl_test_func': 'glMatrixLoadfEXT', 4119 'gl_test_func': 'glMatrixLoadfEXT',
4116 'chromium': True, 4120 'chromium': True,
4117 'extension': True, 4121 'extension': 'CHROMIUM_path_rendering',
4118 'extension_flag': 'chromium_path_rendering', 4122 'extension_flag': 'chromium_path_rendering',
4119 }, 4123 },
4120 'MatrixLoadIdentityCHROMIUM': { 4124 'MatrixLoadIdentityCHROMIUM': {
4121 'decoder_func': 'DoMatrixLoadIdentityCHROMIUM', 4125 'decoder_func': 'DoMatrixLoadIdentityCHROMIUM',
4122 'gl_test_func': 'glMatrixLoadIdentityEXT', 4126 'gl_test_func': 'glMatrixLoadIdentityEXT',
4123 'chromium': True, 4127 'chromium': True,
4124 'extension': True, 4128 'extension': 'CHROMIUM_path_rendering',
4125 'extension_flag': 'chromium_path_rendering', 4129 'extension_flag': 'chromium_path_rendering',
4126 }, 4130 },
4127 'GenPathsCHROMIUM': { 4131 'GenPathsCHROMIUM': {
4128 'type': 'Custom', 4132 'type': 'Custom',
4129 'cmd_args': 'GLuint first_client_id, GLsizei range', 4133 'cmd_args': 'GLuint first_client_id, GLsizei range',
4130 'chromium': True, 4134 'chromium': True,
4131 'extension': True, 4135 'extension': 'CHROMIUM_path_rendering',
4132 'extension_flag': 'chromium_path_rendering', 4136 'extension_flag': 'chromium_path_rendering',
4133 }, 4137 },
4134 'DeletePathsCHROMIUM': { 4138 'DeletePathsCHROMIUM': {
4135 'type': 'Custom', 4139 'type': 'Custom',
4136 'cmd_args': 'GLuint first_client_id, GLsizei range', 4140 'cmd_args': 'GLuint first_client_id, GLsizei range',
4137 'impl_func': False, 4141 'impl_func': False,
4138 'unit_test': False, 4142 'unit_test': False,
4139 'chromium': True, 4143 'chromium': True,
4140 'extension': True, 4144 'extension': 'CHROMIUM_path_rendering',
4141 'extension_flag': 'chromium_path_rendering', 4145 'extension_flag': 'chromium_path_rendering',
4142 }, 4146 },
4143 'IsPathCHROMIUM': { 4147 'IsPathCHROMIUM': {
4144 'type': 'Is', 4148 'type': 'Is',
4145 'decoder_func': 'DoIsPathCHROMIUM', 4149 'decoder_func': 'DoIsPathCHROMIUM',
4146 'gl_test_func': 'glIsPathNV', 4150 'gl_test_func': 'glIsPathNV',
4147 'chromium': True, 4151 'chromium': True,
4148 'extension': True, 4152 'extension': 'CHROMIUM_path_rendering',
4149 'extension_flag': 'chromium_path_rendering', 4153 'extension_flag': 'chromium_path_rendering',
4150 }, 4154 },
4151 'PathCommandsCHROMIUM': { 4155 'PathCommandsCHROMIUM': {
4152 'type': 'Manual', 4156 'type': 'Manual',
4153 'immediate': False, 4157 'immediate': False,
4154 'chromium': True, 4158 'chromium': True,
4155 'extension': True, 4159 'extension': 'CHROMIUM_path_rendering',
4156 'extension_flag': 'chromium_path_rendering', 4160 'extension_flag': 'chromium_path_rendering',
4157 }, 4161 },
4158 'PathParameterfCHROMIUM': { 4162 'PathParameterfCHROMIUM': {
4159 'type': 'Custom', 4163 'type': 'Custom',
4160 'chromium': True, 4164 'chromium': True,
4161 'extension': True, 4165 'extension': 'CHROMIUM_path_rendering',
4162 'extension_flag': 'chromium_path_rendering', 4166 'extension_flag': 'chromium_path_rendering',
4163 }, 4167 },
4164 'PathParameteriCHROMIUM': { 4168 'PathParameteriCHROMIUM': {
4165 'type': 'Custom', 4169 'type': 'Custom',
4166 'chromium': True, 4170 'chromium': True,
4167 'extension': True, 4171 'extension': 'CHROMIUM_path_rendering',
4168 'extension_flag': 'chromium_path_rendering', 4172 'extension_flag': 'chromium_path_rendering',
4169 }, 4173 },
4170 'PathStencilFuncCHROMIUM': { 4174 'PathStencilFuncCHROMIUM': {
4171 'type': 'StateSet', 4175 'type': 'StateSet',
4172 'state': 'PathStencilFuncCHROMIUM', 4176 'state': 'PathStencilFuncCHROMIUM',
4173 'decoder_func': 'glPathStencilFuncNV', 4177 'decoder_func': 'glPathStencilFuncNV',
4174 'chromium': True, 4178 'chromium': True,
4175 'extension': True, 4179 'extension': 'CHROMIUM_path_rendering',
4176 'extension_flag': 'chromium_path_rendering', 4180 'extension_flag': 'chromium_path_rendering',
4177 }, 4181 },
4178 'StencilFillPathCHROMIUM': { 4182 'StencilFillPathCHROMIUM': {
4179 'type': 'Custom', 4183 'type': 'Custom',
4180 'chromium': True, 4184 'chromium': True,
4181 'extension': True, 4185 'extension': 'CHROMIUM_path_rendering',
4182 'extension_flag': 'chromium_path_rendering', 4186 'extension_flag': 'chromium_path_rendering',
4183 }, 4187 },
4184 'StencilStrokePathCHROMIUM': { 4188 'StencilStrokePathCHROMIUM': {
4185 'type': 'Custom', 4189 'type': 'Custom',
4186 'chromium': True, 4190 'chromium': True,
4187 'extension': True, 4191 'extension': 'CHROMIUM_path_rendering',
4188 'extension_flag': 'chromium_path_rendering', 4192 'extension_flag': 'chromium_path_rendering',
4189 }, 4193 },
4190 'CoverFillPathCHROMIUM': { 4194 'CoverFillPathCHROMIUM': {
4191 'type': 'Custom', 4195 'type': 'Custom',
4192 'chromium': True, 4196 'chromium': True,
4193 'extension': True, 4197 'extension': 'CHROMIUM_path_rendering',
4194 'extension_flag': 'chromium_path_rendering', 4198 'extension_flag': 'chromium_path_rendering',
4195 }, 4199 },
4196 'CoverStrokePathCHROMIUM': { 4200 'CoverStrokePathCHROMIUM': {
4197 'type': 'Custom', 4201 'type': 'Custom',
4198 'chromium': True, 4202 'chromium': True,
4199 'extension': True, 4203 'extension': 'CHROMIUM_path_rendering',
4200 'extension_flag': 'chromium_path_rendering', 4204 'extension_flag': 'chromium_path_rendering',
4201 }, 4205 },
4202 'StencilThenCoverFillPathCHROMIUM': { 4206 'StencilThenCoverFillPathCHROMIUM': {
4203 'type': 'Custom', 4207 'type': 'Custom',
4204 'chromium': True, 4208 'chromium': True,
4205 'extension': True, 4209 'extension': 'CHROMIUM_path_rendering',
4206 'extension_flag': 'chromium_path_rendering', 4210 'extension_flag': 'chromium_path_rendering',
4207 }, 4211 },
4208 'StencilThenCoverStrokePathCHROMIUM': { 4212 'StencilThenCoverStrokePathCHROMIUM': {
4209 'type': 'Custom', 4213 'type': 'Custom',
4210 'chromium': True, 4214 'chromium': True,
4211 'extension': True, 4215 'extension': 'CHROMIUM_path_rendering',
4212 'extension_flag': 'chromium_path_rendering', 4216 'extension_flag': 'chromium_path_rendering',
4213 }, 4217 },
4214 4218
4215 } 4219 }
4216 4220
4217 4221
4218 def Grouper(n, iterable, fillvalue=None): 4222 def Grouper(n, iterable, fillvalue=None):
4219 """Collect data into fixed-length chunks or blocks""" 4223 """Collect data into fixed-length chunks or blocks"""
4220 args = [iter(iterable)] * n 4224 args = [iter(iterable)] * n
4221 return itertools.izip_longest(fillvalue=fillvalue, *args) 4225 return itertools.izip_longest(fillvalue=fillvalue, *args)
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
4865 """Writes the Mojo GLES2 implementation header.""" 4869 """Writes the Mojo GLES2 implementation header."""
4866 f.write("%s %s(%s) override;\n" % 4870 f.write("%s %s(%s) override;\n" %
4867 (func.return_type, func.original_name, 4871 (func.return_type, func.original_name,
4868 func.MakeTypedOriginalArgString(""))) 4872 func.MakeTypedOriginalArgString("")))
4869 4873
4870 def WriteMojoGLES2Impl(self, func, f): 4874 def WriteMojoGLES2Impl(self, func, f):
4871 """Writes the Mojo GLES2 implementation.""" 4875 """Writes the Mojo GLES2 implementation."""
4872 f.write("%s MojoGLES2Impl::%s(%s) {\n" % 4876 f.write("%s MojoGLES2Impl::%s(%s) {\n" %
4873 (func.return_type, func.original_name, 4877 (func.return_type, func.original_name,
4874 func.MakeTypedOriginalArgString(""))) 4878 func.MakeTypedOriginalArgString("")))
4875 extensions = ["CHROMIUM_sync_point", "CHROMIUM_texture_mailbox", 4879 is_core_gl_func = func.IsCoreGLFunction()
4876 "CHROMIUM_sub_image", "CHROMIUM_miscellaneous", 4880 is_ext = bool(func.GetInfo("extension"))
4877 "occlusion_query_EXT", "CHROMIUM_image", 4881 is_safe = not func.IsUnsafe()
4878 "CHROMIUM_copy_texture", 4882 if is_core_gl_func or (is_safe and is_ext):
4879 "CHROMIUM_pixel_transfer_buffer_object",
4880 "chromium_framebuffer_multisample"]
4881 if func.IsCoreGLFunction() or func.GetInfo("extension") in extensions:
4882 f.write("MojoGLES2MakeCurrent(context_);"); 4883 f.write("MojoGLES2MakeCurrent(context_);");
4883 func_return = "gl" + func.original_name + "(" + \ 4884 func_return = "gl" + func.original_name + "(" + \
4884 func.MakeOriginalArgString("") + ");" 4885 func.MakeOriginalArgString("") + ");"
4885 if func.return_type == "void": 4886 if func.return_type == "void":
4886 f.write(func_return); 4887 f.write(func_return);
4887 else: 4888 else:
4888 f.write("return " + func_return); 4889 f.write("return " + func_return);
4889 else: 4890 else:
4890 f.write("NOTREACHED() << \"Unimplemented %s.\";\n" % 4891 f.write("NOTREACHED() << \"Unimplemented %s.\";\n" %
4891 func.original_name); 4892 func.original_name);
(...skipping 5559 matching lines...) Expand 10 before | Expand all | Expand 10 after
10451 """ 10452 """
10452 f.write(code); 10453 f.write(code);
10453 self.generated_cpp_filenames.append(filename) 10454 self.generated_cpp_filenames.append(filename)
10454 10455
10455 def WriteMojoGLES2Impl(self, filename): 10456 def WriteMojoGLES2Impl(self, filename):
10456 """Writes the Mojo GLES2 implementation.""" 10457 """Writes the Mojo GLES2 implementation."""
10457 code = """ 10458 code = """
10458 #include "mojo/gpu/mojo_gles2_impl_autogen.h" 10459 #include "mojo/gpu/mojo_gles2_impl_autogen.h"
10459 10460
10460 #include "base/logging.h" 10461 #include "base/logging.h"
10461 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_copy_texture.h" 10462 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_extension.h"
10462 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_framebuffer_multisam ple.h"
10463 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_image.h"
10464 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_miscellaneous.h"
10465 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_pixel_transfer_buffe r_object.h"
10466 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_sub_image.h"
10467 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_sync_point.h"
10468 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_texture_mailbox.h"
10469 #include "third_party/mojo/src/mojo/public/c/gles2/gles2.h" 10463 #include "third_party/mojo/src/mojo/public/c/gles2/gles2.h"
10470 #include "third_party/mojo/src/mojo/public/c/gles2/occlusion_query_ext.h"
10471 10464
10472 namespace mojo { 10465 namespace mojo {
10473 10466
10474 """ 10467 """
10475 with CWriter(filename) as f: 10468 with CWriter(filename) as f:
10476 f.write(code); 10469 f.write(code);
10477 for func in self.original_functions: 10470 for func in self.original_functions:
10478 func.WriteMojoGLES2Impl(f) 10471 func.WriteMojoGLES2Impl(f)
10479 code = """ 10472 code = """
10480 10473
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
10879 with CWriter(filename) as f: 10872 with CWriter(filename) as f:
10880 for func in self.original_functions: 10873 for func in self.original_functions:
10881 if not func.IsCoreGLFunction(): 10874 if not func.IsCoreGLFunction():
10882 continue 10875 continue
10883 f.write("VISIT_GL_CALL(%s, %s, (%s), (%s))\n" % 10876 f.write("VISIT_GL_CALL(%s, %s, (%s), (%s))\n" %
10884 (func.name, func.return_type, 10877 (func.name, func.return_type,
10885 func.MakeTypedOriginalArgString(""), 10878 func.MakeTypedOriginalArgString(""),
10886 func.MakeOriginalArgString(""))) 10879 func.MakeOriginalArgString("")))
10887 self.generated_cpp_filenames.append(filename) 10880 self.generated_cpp_filenames.append(filename)
10888 10881
10889 def WriteMojoGLCallVisitorForExtension(self, filename, extension): 10882 def WriteMojoGLCallVisitorForExtension(self, filename):
10890 """Provides the GL implementation for mojo for a particular extension""" 10883 """Provides the GL implementation for mojo for all extensions"""
10891 with CWriter(filename) as f: 10884 with CWriter(filename) as f:
10892 for func in self.original_functions: 10885 for func in self.original_functions:
10893 if func.GetInfo("extension") != extension: 10886 if not func.GetInfo("extension"):
10887 continue
10888 if func.IsUnsafe():
10894 continue 10889 continue
10895 f.write("VISIT_GL_CALL(%s, %s, (%s), (%s))\n" % 10890 f.write("VISIT_GL_CALL(%s, %s, (%s), (%s))\n" %
10896 (func.name, func.return_type, 10891 (func.name, func.return_type,
10897 func.MakeTypedOriginalArgString(""), 10892 func.MakeTypedOriginalArgString(""),
10898 func.MakeOriginalArgString(""))) 10893 func.MakeOriginalArgString("")))
10899 self.generated_cpp_filenames.append(filename) 10894 self.generated_cpp_filenames.append(filename)
10900 10895
10901 def Format(generated_files): 10896 def Format(generated_files):
10902 formatter = "clang-format" 10897 formatter = "clang-format"
10903 if platform.system() == "Windows": 10898 if platform.system() == "Windows":
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
11004 "gles2_cmd_validation_implementation_autogen.h") 10999 "gles2_cmd_validation_implementation_autogen.h")
11005 gen.WriteCommonUtilsHeader( 11000 gen.WriteCommonUtilsHeader(
11006 "gpu/command_buffer/common/gles2_cmd_utils_autogen.h") 11001 "gpu/command_buffer/common/gles2_cmd_utils_autogen.h")
11007 gen.WriteCommonUtilsImpl( 11002 gen.WriteCommonUtilsImpl(
11008 "gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h") 11003 "gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h")
11009 gen.WriteGLES2Header("gpu/GLES2/gl2chromium_autogen.h") 11004 gen.WriteGLES2Header("gpu/GLES2/gl2chromium_autogen.h")
11010 mojo_gles2_prefix = ("third_party/mojo/src/mojo/public/c/gles2/" 11005 mojo_gles2_prefix = ("third_party/mojo/src/mojo/public/c/gles2/"
11011 "gles2_call_visitor") 11006 "gles2_call_visitor")
11012 gen.WriteMojoGLCallVisitor(mojo_gles2_prefix + "_autogen.h") 11007 gen.WriteMojoGLCallVisitor(mojo_gles2_prefix + "_autogen.h")
11013 gen.WriteMojoGLCallVisitorForExtension( 11008 gen.WriteMojoGLCallVisitorForExtension(
11014 mojo_gles2_prefix + "_chromium_texture_mailbox_autogen.h", 11009 mojo_gles2_prefix + "_chromium_extension_autogen.h")
11015 "CHROMIUM_texture_mailbox")
11016 gen.WriteMojoGLCallVisitorForExtension(
11017 mojo_gles2_prefix + "_chromium_sync_point_autogen.h",
11018 "CHROMIUM_sync_point")
11019 gen.WriteMojoGLCallVisitorForExtension(
11020 mojo_gles2_prefix + "_chromium_sub_image_autogen.h",
11021 "CHROMIUM_sub_image")
11022 gen.WriteMojoGLCallVisitorForExtension(
11023 mojo_gles2_prefix + "_chromium_miscellaneous_autogen.h",
11024 "CHROMIUM_miscellaneous")
11025 gen.WriteMojoGLCallVisitorForExtension(
11026 mojo_gles2_prefix + "_occlusion_query_ext_autogen.h",
11027 "occlusion_query_EXT")
11028 gen.WriteMojoGLCallVisitorForExtension(
11029 mojo_gles2_prefix + "_chromium_image_autogen.h",
11030 "CHROMIUM_image")
11031 gen.WriteMojoGLCallVisitorForExtension(
11032 mojo_gles2_prefix + "_chromium_copy_texture_autogen.h",
11033 "CHROMIUM_copy_texture")
11034 gen.WriteMojoGLCallVisitorForExtension(
11035 mojo_gles2_prefix + "_chromium_pixel_transfer_buffer_object_autogen.h",
11036 "CHROMIUM_pixel_transfer_buffer_object")
11037 gen.WriteMojoGLCallVisitorForExtension(
11038 mojo_gles2_prefix + "_chromium_framebuffer_multisample_autogen.h",
11039 "chromium_framebuffer_multisample")
11040 11010
11041 Format(gen.generated_cpp_filenames) 11011 Format(gen.generated_cpp_filenames)
11042 11012
11043 if gen.errors > 0: 11013 if gen.errors > 0:
11044 print "%d errors" % gen.errors 11014 print "%d errors" % gen.errors
11045 return 1 11015 return 1
11046 return 0 11016 return 0
11047 11017
11048 11018
11049 if __name__ == '__main__': 11019 if __name__ == '__main__':
11050 sys.exit(main(sys.argv[1:])) 11020 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « components/html_viewer/web_graphics_context_3d_command_buffer_impl.cc ('k') | mojo/gles2/gles2_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698