| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2011 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 os | 8 import os |
| 9 import os.path | 9 import os.path |
| 10 import sys | 10 import sys |
| (...skipping 1417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1428 'type': 'Custom', | 1428 'type': 'Custom', |
| 1429 'cmd_args': 'GLenumStringType name, uint32 bucket_id', | 1429 'cmd_args': 'GLenumStringType name, uint32 bucket_id', |
| 1430 }, | 1430 }, |
| 1431 'GetTexParameterfv': {'type': 'GETn', 'result': ['SizedResult<GLfloat>']}, | 1431 'GetTexParameterfv': {'type': 'GETn', 'result': ['SizedResult<GLfloat>']}, |
| 1432 'GetTexParameteriv': {'type': 'GETn', 'result': ['SizedResult<GLint>']}, | 1432 'GetTexParameteriv': {'type': 'GETn', 'result': ['SizedResult<GLint>']}, |
| 1433 'GetTranslatedShaderSourceANGLE': { | 1433 'GetTranslatedShaderSourceANGLE': { |
| 1434 'type': 'STRn', | 1434 'type': 'STRn', |
| 1435 'get_len_func': 'DoGetShaderiv', | 1435 'get_len_func': 'DoGetShaderiv', |
| 1436 'get_len_enum': 'GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE', | 1436 'get_len_enum': 'GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE', |
| 1437 'unit_test': False, | 1437 'unit_test': False, |
| 1438 'extension': True, |
| 1438 }, | 1439 }, |
| 1439 'GetUniformfv': { | 1440 'GetUniformfv': { |
| 1440 'type': 'Custom', | 1441 'type': 'Custom', |
| 1441 'immediate': False, | 1442 'immediate': False, |
| 1442 'result': ['SizedResult<GLfloat>'], | 1443 'result': ['SizedResult<GLfloat>'], |
| 1443 }, | 1444 }, |
| 1444 'GetUniformiv': { | 1445 'GetUniformiv': { |
| 1445 'type': 'Custom', | 1446 'type': 'Custom', |
| 1446 'immediate': False, | 1447 'immediate': False, |
| 1447 'result': ['SizedResult<GLint>'], | 1448 'result': ['SizedResult<GLint>'], |
| (...skipping 4233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5681 for enum in enums: | 5682 for enum in enums: |
| 5682 if _ENUM_LISTS[enum]['type'] == 'GLenum': | 5683 if _ENUM_LISTS[enum]['type'] == 'GLenum': |
| 5683 file.Write("static std::string GetString%s(uint32 value);\n" % enum) | 5684 file.Write("static std::string GetString%s(uint32 value);\n" % enum) |
| 5684 file.Write("\n") | 5685 file.Write("\n") |
| 5685 file.Close() | 5686 file.Close() |
| 5686 | 5687 |
| 5687 def WriteCommonUtilsImpl(self, filename): | 5688 def WriteCommonUtilsImpl(self, filename): |
| 5688 """Writes the gles2 common utility header.""" | 5689 """Writes the gles2 common utility header.""" |
| 5689 enum_re = re.compile(r'\#define\s+(GL_[a-zA-Z0-9_]+)\s+([0-9A-Fa-fx]+)') | 5690 enum_re = re.compile(r'\#define\s+(GL_[a-zA-Z0-9_]+)\s+([0-9A-Fa-fx]+)') |
| 5690 dict = {} | 5691 dict = {} |
| 5691 for fname in ['../GLES2/gl2.h', '../GLES2/gl2ext.h']: | 5692 for fname in ['../../third_party/khronos/GLES2/gl2.h', |
| 5693 '../../third_party/khronos/GLES2/gl2ext.h']: |
| 5692 lines = open(fname).readlines() | 5694 lines = open(fname).readlines() |
| 5693 for line in lines: | 5695 for line in lines: |
| 5694 m = enum_re.match(line) | 5696 m = enum_re.match(line) |
| 5695 if m: | 5697 if m: |
| 5696 name = m.group(1) | 5698 name = m.group(1) |
| 5697 value = m.group(2) | 5699 value = m.group(2) |
| 5698 if not value in dict: | 5700 if not value in dict: |
| 5699 dict[value] = name | 5701 dict[value] = name |
| 5700 | 5702 |
| 5701 file = CHeaderWriter(filename) | 5703 file = CHeaderWriter(filename) |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5771 """Writes the Pepper OpenGLES interface implementation.""" | 5773 """Writes the Pepper OpenGLES interface implementation.""" |
| 5772 | 5774 |
| 5773 file = CWriter(filename) | 5775 file = CWriter(filename) |
| 5774 file.Write(_LICENSE) | 5776 file.Write(_LICENSE) |
| 5775 file.Write(_DO_NOT_EDIT_WARNING) | 5777 file.Write(_DO_NOT_EDIT_WARNING) |
| 5776 | 5778 |
| 5777 file.Write("#include \"ppapi/shared_impl/opengles2_impl.h\"\n\n") | 5779 file.Write("#include \"ppapi/shared_impl/opengles2_impl.h\"\n\n") |
| 5778 file.Write("#include \"base/logging.h\"\n") | 5780 file.Write("#include \"base/logging.h\"\n") |
| 5779 file.Write("#include \"gpu/command_buffer/client/gles2_implementation.h\"\n"
) | 5781 file.Write("#include \"gpu/command_buffer/client/gles2_implementation.h\"\n"
) |
| 5780 file.Write("#include \"ppapi/shared_impl/graphics_3d_impl.h\"\n") | 5782 file.Write("#include \"ppapi/shared_impl/graphics_3d_impl.h\"\n") |
| 5781 file.Write("#include \"ppapi/thunk/enter.h\"\n") | 5783 file.Write("#include \"ppapi/thunk/enter.h\"\n\n") |
| 5782 file.Write("#include \"ppapi/thunk/ppb_context_3d_api.h\"\n\n") | |
| 5783 | 5784 |
| 5784 file.Write("namespace ppapi {\n\n") | 5785 file.Write("namespace ppapi {\n\n") |
| 5785 file.Write("namespace {\n\n") | 5786 file.Write("namespace {\n\n") |
| 5786 | 5787 |
| 5787 file.Write("gpu::gles2::GLES2Implementation* GetGLES(PP_Resource context) {\
n") | 5788 file.Write("gpu::gles2::GLES2Implementation*" |
| 5788 file.Write(" thunk::EnterResource<thunk::PPB_Graphics3D_API> enter_g3d(cont
ext, false);\n") | 5789 " GetGLES(PP_Resource context) {\n") |
| 5789 file.Write(" if (enter_g3d.succeeded()) {\n") | 5790 file.Write(" thunk::EnterResource<thunk::PPB_Graphics3D_API>" |
| 5790 file.Write(" return static_cast<Graphics3DImpl*>(enter_g3d.object())->gle
s2_impl();\n") | 5791 " enter_g3d(context, false);\n") |
| 5791 file.Write(" } else {\n") | 5792 file.Write(" DCHECK(enter_g3d.succeeded());\n") |
| 5792 file.Write(" thunk::EnterResource<thunk::PPB_Context3D_API> enter_c3d(con
text, true);\n") | 5793 file.Write(" return static_cast<Graphics3DImpl*>" |
| 5793 file.Write(" DCHECK(enter_c3d.succeeded());\n") | 5794 "(enter_g3d.object())->gles2_impl();\n") |
| 5794 file.Write(" return enter_c3d.object()->GetGLES2Impl();\n") | |
| 5795 file.Write(" }\n") | |
| 5796 file.Write("}\n\n") | 5795 file.Write("}\n\n") |
| 5797 | 5796 |
| 5798 for func in self.original_functions: | 5797 for func in self.original_functions: |
| 5799 if not func.IsCoreGLFunction(): | 5798 if not func.IsCoreGLFunction(): |
| 5800 continue | 5799 continue |
| 5801 | 5800 |
| 5802 original_arg = func.MakeTypedOriginalArgString("") | 5801 original_arg = func.MakeTypedOriginalArgString("") |
| 5803 context_arg = "PP_Resource context_id" | 5802 context_arg = "PP_Resource context_id" |
| 5804 if len(original_arg): | 5803 if len(original_arg): |
| 5805 arg = context_arg + ", " + original_arg | 5804 arg = context_arg + ", " + original_arg |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5990 gen.WriteDocs("docs/gles2_cmd_format_docs_autogen.h") | 5989 gen.WriteDocs("docs/gles2_cmd_format_docs_autogen.h") |
| 5991 | 5990 |
| 5992 if gen.errors > 0: | 5991 if gen.errors > 0: |
| 5993 print "%d errors" % gen.errors | 5992 print "%d errors" % gen.errors |
| 5994 return 1 | 5993 return 1 |
| 5995 return 0 | 5994 return 0 |
| 5996 | 5995 |
| 5997 | 5996 |
| 5998 if __name__ == '__main__': | 5997 if __name__ == '__main__': |
| 5999 sys.exit(main(sys.argv[1:])) | 5998 sys.exit(main(sys.argv[1:])) |
| OLD | NEW |