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

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

Issue 1338433002: Mandoline: Add WebGL support (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and address review issues 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 2183 matching lines...) Expand 10 before | Expand all | Expand 10 after
2194 'trace_level': 2, 2194 'trace_level': 2,
2195 }, 2195 },
2196 'BindTransformFeedback': { 2196 'BindTransformFeedback': {
2197 'type': 'Bind', 2197 'type': 'Bind',
2198 'id_mapping': [ 'TransformFeedback' ], 2198 'id_mapping': [ 'TransformFeedback' ],
2199 'unsafe': True, 2199 'unsafe': True,
2200 }, 2200 },
2201 'BlitFramebufferCHROMIUM': { 2201 'BlitFramebufferCHROMIUM': {
2202 'decoder_func': 'DoBlitFramebufferCHROMIUM', 2202 'decoder_func': 'DoBlitFramebufferCHROMIUM',
2203 'unit_test': False, 2203 'unit_test': False,
2204 'extension': 'chromium_framebuffer_multisample',
2204 'extension_flag': 'chromium_framebuffer_multisample', 2205 'extension_flag': 'chromium_framebuffer_multisample',
2205 'pepper_interface': 'FramebufferBlit', 2206 'pepper_interface': 'FramebufferBlit',
2206 'pepper_name': 'BlitFramebufferEXT', 2207 'pepper_name': 'BlitFramebufferEXT',
2207 'defer_reads': True, 2208 'defer_reads': True,
2208 'defer_draws': True, 2209 'defer_draws': True,
2209 'trace_level': 1, 2210 'trace_level': 1,
2210 }, 2211 },
2211 'BufferData': { 2212 'BufferData': {
2212 'type': 'Manual', 2213 'type': 'Manual',
2213 'data_transfer_methods': ['shm'], 2214 'data_transfer_methods': ['shm'],
(...skipping 1046 matching lines...) Expand 10 before | Expand all | Expand 10 after
3260 'expectation': False, 3261 'expectation': False,
3261 'trace_level': 1, 3262 'trace_level': 1,
3262 }, 3263 },
3263 'RenderbufferStorageMultisampleCHROMIUM': { 3264 'RenderbufferStorageMultisampleCHROMIUM': {
3264 'cmd_comment': 3265 'cmd_comment':
3265 '// GL_CHROMIUM_framebuffer_multisample\n', 3266 '// GL_CHROMIUM_framebuffer_multisample\n',
3266 'decoder_func': 'DoRenderbufferStorageMultisampleCHROMIUM', 3267 'decoder_func': 'DoRenderbufferStorageMultisampleCHROMIUM',
3267 'gl_test_func': 'glRenderbufferStorageMultisampleCHROMIUM', 3268 'gl_test_func': 'glRenderbufferStorageMultisampleCHROMIUM',
3268 'expectation': False, 3269 'expectation': False,
3269 'unit_test': False, 3270 'unit_test': False,
3271 'extension': 'chromium_framebuffer_multisample',
3270 'extension_flag': 'chromium_framebuffer_multisample', 3272 'extension_flag': 'chromium_framebuffer_multisample',
3271 'pepper_interface': 'FramebufferMultisample', 3273 'pepper_interface': 'FramebufferMultisample',
3272 'pepper_name': 'RenderbufferStorageMultisampleEXT', 3274 'pepper_name': 'RenderbufferStorageMultisampleEXT',
3273 'trace_level': 1, 3275 'trace_level': 1,
3274 }, 3276 },
3275 'RenderbufferStorageMultisampleEXT': { 3277 'RenderbufferStorageMultisampleEXT': {
3276 'cmd_comment': 3278 'cmd_comment':
3277 '// GL_EXT_multisampled_render_to_texture\n', 3279 '// GL_EXT_multisampled_render_to_texture\n',
3278 'decoder_func': 'DoRenderbufferStorageMultisampleEXT', 3280 'decoder_func': 'DoRenderbufferStorageMultisampleEXT',
3279 'gl_test_func': 'glRenderbufferStorageMultisampleEXT', 3281 'gl_test_func': 'glRenderbufferStorageMultisampleEXT',
(...skipping 1581 matching lines...) Expand 10 before | Expand all | Expand 10 after
4861 4863
4862 def WriteMojoGLES2Impl(self, func, f): 4864 def WriteMojoGLES2Impl(self, func, f):
4863 """Writes the Mojo GLES2 implementation.""" 4865 """Writes the Mojo GLES2 implementation."""
4864 f.write("%s MojoGLES2Impl::%s(%s) {\n" % 4866 f.write("%s MojoGLES2Impl::%s(%s) {\n" %
4865 (func.return_type, func.original_name, 4867 (func.return_type, func.original_name,
4866 func.MakeTypedOriginalArgString(""))) 4868 func.MakeTypedOriginalArgString("")))
4867 extensions = ["CHROMIUM_sync_point", "CHROMIUM_texture_mailbox", 4869 extensions = ["CHROMIUM_sync_point", "CHROMIUM_texture_mailbox",
4868 "CHROMIUM_sub_image", "CHROMIUM_miscellaneous", 4870 "CHROMIUM_sub_image", "CHROMIUM_miscellaneous",
4869 "occlusion_query_EXT", "CHROMIUM_image", 4871 "occlusion_query_EXT", "CHROMIUM_image",
4870 "CHROMIUM_copy_texture", 4872 "CHROMIUM_copy_texture",
4871 "CHROMIUM_pixel_transfer_buffer_object"] 4873 "CHROMIUM_pixel_transfer_buffer_object",
4874 "chromium_framebuffer_multisample"]
4872 if func.IsCoreGLFunction() or func.GetInfo("extension") in extensions: 4875 if func.IsCoreGLFunction() or func.GetInfo("extension") in extensions:
4873 f.write("MojoGLES2MakeCurrent(context_);"); 4876 f.write("MojoGLES2MakeCurrent(context_);");
4874 func_return = "gl" + func.original_name + "(" + \ 4877 func_return = "gl" + func.original_name + "(" + \
4875 func.MakeOriginalArgString("") + ");" 4878 func.MakeOriginalArgString("") + ");"
4876 if func.return_type == "void": 4879 if func.return_type == "void":
4877 f.write(func_return); 4880 f.write(func_return);
4878 else: 4881 else:
4879 f.write("return " + func_return); 4882 f.write("return " + func_return);
4880 else: 4883 else:
4881 f.write("NOTREACHED() << \"Unimplemented %s.\";\n" % 4884 f.write("NOTREACHED() << \"Unimplemented %s.\";\n" %
(...skipping 5561 matching lines...) Expand 10 before | Expand all | Expand 10 after
10443 f.write(code); 10446 f.write(code);
10444 self.generated_cpp_filenames.append(filename) 10447 self.generated_cpp_filenames.append(filename)
10445 10448
10446 def WriteMojoGLES2Impl(self, filename): 10449 def WriteMojoGLES2Impl(self, filename):
10447 """Writes the Mojo GLES2 implementation.""" 10450 """Writes the Mojo GLES2 implementation."""
10448 code = """ 10451 code = """
10449 #include "mojo/gpu/mojo_gles2_impl_autogen.h" 10452 #include "mojo/gpu/mojo_gles2_impl_autogen.h"
10450 10453
10451 #include "base/logging.h" 10454 #include "base/logging.h"
10452 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_copy_texture.h" 10455 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_copy_texture.h"
10456 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_framebuffer_multisam ple.h"
10453 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_image.h" 10457 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_image.h"
10454 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_miscellaneous.h" 10458 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_miscellaneous.h"
10455 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_pixel_transfer_buffe r_object.h" 10459 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_pixel_transfer_buffe r_object.h"
10456 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_sub_image.h" 10460 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_sub_image.h"
10457 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_sync_point.h" 10461 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_sync_point.h"
10458 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_texture_mailbox.h" 10462 #include "third_party/mojo/src/mojo/public/c/gles2/chromium_texture_mailbox.h"
10459 #include "third_party/mojo/src/mojo/public/c/gles2/gles2.h" 10463 #include "third_party/mojo/src/mojo/public/c/gles2/gles2.h"
10460 #include "third_party/mojo/src/mojo/public/c/gles2/occlusion_query_ext.h" 10464 #include "third_party/mojo/src/mojo/public/c/gles2/occlusion_query_ext.h"
10461 10465
10462 namespace mojo { 10466 namespace mojo {
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
11017 "occlusion_query_EXT") 11021 "occlusion_query_EXT")
11018 gen.WriteMojoGLCallVisitorForExtension( 11022 gen.WriteMojoGLCallVisitorForExtension(
11019 mojo_gles2_prefix + "_chromium_image_autogen.h", 11023 mojo_gles2_prefix + "_chromium_image_autogen.h",
11020 "CHROMIUM_image") 11024 "CHROMIUM_image")
11021 gen.WriteMojoGLCallVisitorForExtension( 11025 gen.WriteMojoGLCallVisitorForExtension(
11022 mojo_gles2_prefix + "_chromium_copy_texture_autogen.h", 11026 mojo_gles2_prefix + "_chromium_copy_texture_autogen.h",
11023 "CHROMIUM_copy_texture") 11027 "CHROMIUM_copy_texture")
11024 gen.WriteMojoGLCallVisitorForExtension( 11028 gen.WriteMojoGLCallVisitorForExtension(
11025 mojo_gles2_prefix + "_chromium_pixel_transfer_buffer_object_autogen.h", 11029 mojo_gles2_prefix + "_chromium_pixel_transfer_buffer_object_autogen.h",
11026 "CHROMIUM_pixel_transfer_buffer_object") 11030 "CHROMIUM_pixel_transfer_buffer_object")
11031 gen.WriteMojoGLCallVisitorForExtension(
11032 mojo_gles2_prefix + "_chromium_framebuffer_multisample_autogen.h",
11033 "chromium_framebuffer_multisample")
11027 11034
11028 Format(gen.generated_cpp_filenames) 11035 Format(gen.generated_cpp_filenames)
11029 11036
11030 if gen.errors > 0: 11037 if gen.errors > 0:
11031 print "%d errors" % gen.errors 11038 print "%d errors" % gen.errors
11032 return 1 11039 return 1
11033 return 0 11040 return 0
11034 11041
11035 11042
11036 if __name__ == '__main__': 11043 if __name__ == '__main__':
11037 sys.exit(main(sys.argv[1:])) 11044 sys.exit(main(sys.argv[1:]))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698