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 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 743 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
754 | 754 |
755 # This table specifies the different pepper interfaces that are supported for | 755 # This table specifies the different pepper interfaces that are supported for |
756 # GL commands. 'dev' is true if it's a dev interface. | 756 # GL commands. 'dev' is true if it's a dev interface. |
757 _PEPPER_INTERFACES = [ | 757 _PEPPER_INTERFACES = [ |
758 {'name': '', 'dev': False}, | 758 {'name': '', 'dev': False}, |
759 {'name': 'InstancedArrays', 'dev': True}, | 759 {'name': 'InstancedArrays', 'dev': True}, |
760 {'name': 'FramebufferBlit', 'dev': True}, | 760 {'name': 'FramebufferBlit', 'dev': True}, |
761 {'name': 'FramebufferMultisample', 'dev': True}, | 761 {'name': 'FramebufferMultisample', 'dev': True}, |
762 {'name': 'ChromiumEnableFeature', 'dev': True}, | 762 {'name': 'ChromiumEnableFeature', 'dev': True}, |
763 {'name': 'ChromiumMapSub', 'dev': True}, | 763 {'name': 'ChromiumMapSub', 'dev': True}, |
| 764 {'name': 'Query', 'dev': True}, |
764 ] | 765 ] |
765 | 766 |
766 # This table specifies types and other special data for the commands that | 767 # This table specifies types and other special data for the commands that |
767 # will be generated. | 768 # will be generated. |
768 # | 769 # |
769 # cmd_comment: A comment added to the cmd format. | 770 # cmd_comment: A comment added to the cmd format. |
770 # type: defines which handler will be used to generate code. | 771 # type: defines which handler will be used to generate code. |
771 # decoder_func: defines which function to call in the decoder to execute the | 772 # decoder_func: defines which function to call in the decoder to execute the |
772 # corresponding GL command. If not specified the GL command will | 773 # corresponding GL command. If not specified the GL command will |
773 # be called directly. | 774 # be called directly. |
(...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1590 'extension': True, | 1591 'extension': True, |
1591 'unit_test': False, | 1592 'unit_test': False, |
1592 'pepper_interface': 'InstancedArrays', | 1593 'pepper_interface': 'InstancedArrays', |
1593 }, | 1594 }, |
1594 'GenQueriesEXT': { | 1595 'GenQueriesEXT': { |
1595 'type': 'GENn', | 1596 'type': 'GENn', |
1596 'gl_test_func': 'glGenQueriesARB', | 1597 'gl_test_func': 'glGenQueriesARB', |
1597 'resource_type': 'Query', | 1598 'resource_type': 'Query', |
1598 'resource_types': 'Queries', | 1599 'resource_types': 'Queries', |
1599 'unit_test': False, | 1600 'unit_test': False, |
| 1601 'pepper_interface': 'Query', |
1600 }, | 1602 }, |
1601 'DeleteQueriesEXT': { | 1603 'DeleteQueriesEXT': { |
1602 'type': 'DELn', | 1604 'type': 'DELn', |
1603 'gl_test_func': 'glDeleteQueriesARB', | 1605 'gl_test_func': 'glDeleteQueriesARB', |
1604 'resource_type': 'Query', | 1606 'resource_type': 'Query', |
1605 'resource_types': 'Queries', | 1607 'resource_types': 'Queries', |
1606 'unit_test': False, | 1608 'unit_test': False, |
| 1609 'pepper_interface': 'Query', |
1607 }, | 1610 }, |
1608 'IsQueryEXT': { | 1611 'IsQueryEXT': { |
1609 'gen_cmd': False, | 1612 'gen_cmd': False, |
1610 'client_test': False, | 1613 'client_test': False, |
| 1614 'pepper_interface': 'Query', |
1611 }, | 1615 }, |
1612 'BeginQueryEXT': { | 1616 'BeginQueryEXT': { |
1613 'type': 'Manual', | 1617 'type': 'Manual', |
1614 'cmd_args': 'GLenumQueryTarget target, GLidQuery id, void* sync_data', | 1618 'cmd_args': 'GLenumQueryTarget target, GLidQuery id, void* sync_data', |
1615 'immediate': False, | 1619 'immediate': False, |
1616 'gl_test_func': 'glBeginQuery', | 1620 'gl_test_func': 'glBeginQuery', |
| 1621 'pepper_interface': 'Query', |
1617 }, | 1622 }, |
1618 'EndQueryEXT': { | 1623 'EndQueryEXT': { |
1619 'type': 'Manual', | 1624 'type': 'Manual', |
1620 'cmd_args': 'GLenumQueryTarget target, GLuint submit_count', | 1625 'cmd_args': 'GLenumQueryTarget target, GLuint submit_count', |
1621 'gl_test_func': 'glEndnQuery', | 1626 'gl_test_func': 'glEndnQuery', |
1622 'client_test': False, | 1627 'client_test': False, |
| 1628 'pepper_interface': 'Query', |
1623 }, | 1629 }, |
1624 'GetQueryivEXT': { | 1630 'GetQueryivEXT': { |
1625 'gen_cmd': False, | 1631 'gen_cmd': False, |
1626 'client_test': False, | 1632 'client_test': False, |
1627 'gl_test_func': 'glGetQueryiv', | 1633 'gl_test_func': 'glGetQueryiv', |
| 1634 'pepper_interface': 'Query', |
1628 }, | 1635 }, |
1629 'GetQueryObjectuivEXT': { | 1636 'GetQueryObjectuivEXT': { |
1630 'gen_cmd': False, | 1637 'gen_cmd': False, |
1631 'client_test': False, | 1638 'client_test': False, |
1632 'gl_test_func': 'glGetQueryObjectuiv', | 1639 'gl_test_func': 'glGetQueryObjectuiv', |
| 1640 'pepper_interface': 'Query', |
1633 }, | 1641 }, |
1634 } | 1642 } |
1635 | 1643 |
1636 | 1644 |
1637 def SplitWords(input_string): | 1645 def SplitWords(input_string): |
1638 """Transforms a input_string into a list of lower-case components. | 1646 """Transforms a input_string into a list of lower-case components. |
1639 | 1647 |
1640 Args: | 1648 Args: |
1641 input_string: the input string. | 1649 input_string: the input string. |
1642 | 1650 |
(...skipping 3451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5094 valid_args = self.GetInfo('valid_args') | 5102 valid_args = self.GetInfo('valid_args') |
5095 if valid_args and str(index) in valid_args: | 5103 if valid_args and str(index) in valid_args: |
5096 return valid_args[str(index)] | 5104 return valid_args[str(index)] |
5097 return None | 5105 return None |
5098 | 5106 |
5099 def AddInfo(self, name, value): | 5107 def AddInfo(self, name, value): |
5100 """Adds an info.""" | 5108 """Adds an info.""" |
5101 setattr(self.info, name, value) | 5109 setattr(self.info, name, value) |
5102 | 5110 |
5103 def IsCoreGLFunction(self): | 5111 def IsCoreGLFunction(self): |
5104 return not self.GetInfo('extension') | 5112 return (not self.GetInfo('extension') and |
| 5113 not self.GetInfo('pepper_interface')) |
5105 | 5114 |
5106 def InPepperInterface(self, interface): | 5115 def InPepperInterface(self, interface): |
5107 ext = self.GetInfo('pepper_interface') | 5116 ext = self.GetInfo('pepper_interface') |
5108 if not interface.GetName(): | 5117 if not interface.GetName(): |
5109 return self.IsCoreGLFunction() | 5118 return self.IsCoreGLFunction() |
5110 return ext == interface.GetName() | 5119 return ext == interface.GetName() |
5111 | 5120 |
5112 def InAnyPepperExtension(self): | 5121 def InAnyPepperExtension(self): |
5113 return self.IsCoreGLFunction() or self.GetInfo('pepper_interface') | 5122 return self.IsCoreGLFunction() or self.GetInfo('pepper_interface') |
5114 | 5123 |
(...skipping 1081 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6196 gen.WriteCommonUtilsImpl("common/gles2_cmd_utils_implementation_autogen.h") | 6205 gen.WriteCommonUtilsImpl("common/gles2_cmd_utils_implementation_autogen.h") |
6197 | 6206 |
6198 if gen.errors > 0: | 6207 if gen.errors > 0: |
6199 print "%d errors" % gen.errors | 6208 print "%d errors" % gen.errors |
6200 return 1 | 6209 return 1 |
6201 return 0 | 6210 return 0 |
6202 | 6211 |
6203 | 6212 |
6204 if __name__ == '__main__': | 6213 if __name__ == '__main__': |
6205 sys.exit(main(sys.argv[1:])) | 6214 sys.exit(main(sys.argv[1:])) |
OLD | NEW |