OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # | 2 # |
3 # Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 """code generator for GL command buffers.""" | 7 """code generator for GL command buffers.""" |
8 | 8 |
9 import os | 9 import os |
10 import os.path | 10 import os.path |
(...skipping 1326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1337 file.Write(" helper_->%s(%s);\n" % | 1337 file.Write(" helper_->%s(%s);\n" % |
1338 (func.name, func.MakeOriginalArgString(""))) | 1338 (func.name, func.MakeOriginalArgString(""))) |
1339 file.Write("}\n") | 1339 file.Write("}\n") |
1340 file.Write("\n") | 1340 file.Write("\n") |
1341 else: | 1341 else: |
1342 file.Write("%s %s(%s);\n" % | 1342 file.Write("%s %s(%s);\n" % |
1343 (func.return_type, func.original_name, | 1343 (func.return_type, func.original_name, |
1344 func.MakeTypedOriginalArgString(""))) | 1344 func.MakeTypedOriginalArgString(""))) |
1345 file.Write("\n") | 1345 file.Write("\n") |
1346 | 1346 |
1347 def WriteGLES2ImplementationImpl(self, func, file): | |
1348 """Writes the GLES2 Implemention definition.""" | |
1349 if not func.can_auto_generate: | |
1350 file.Write("%s GLES2Implementation::%s(%s) {\n" % | |
1351 (func.return_type, func.original_name, | |
1352 func.MakeTypedOriginalArgString(""))) | |
1353 if not func.return_type == "void": | |
1354 file.Write(" return 0;\n") | |
1355 file.Write("}\n") | |
1356 file.Write("\n") | |
1357 | |
1358 def WriteImmediateCmdComputeSize(self, func, file): | 1347 def WriteImmediateCmdComputeSize(self, func, file): |
1359 """Writes the size computation code for the immediate version of a cmd.""" | 1348 """Writes the size computation code for the immediate version of a cmd.""" |
1360 file.Write(" static uint32 ComputeSize(uint32 size_in_bytes) {\n") | 1349 file.Write(" static uint32 ComputeSize(uint32 size_in_bytes) {\n") |
1361 file.Write(" return static_cast<uint32>(\n") | 1350 file.Write(" return static_cast<uint32>(\n") |
1362 file.Write(" sizeof(ValueType) + // NOLINT\n") | 1351 file.Write(" sizeof(ValueType) + // NOLINT\n") |
1363 file.Write(" RoundSizeToMultipleOfEntries(size_in_bytes));\n") | 1352 file.Write(" RoundSizeToMultipleOfEntries(size_in_bytes));\n") |
1364 file.Write(" }\n") | 1353 file.Write(" }\n") |
1365 file.Write("\n") | 1354 file.Write("\n") |
1366 | 1355 |
1367 def WriteImmediateCmdSetHeader(self, func, file): | 1356 def WriteImmediateCmdSetHeader(self, func, file): |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1477 file.Write("// TODO(gman): %s\n\n" % func.name) | 1466 file.Write("// TODO(gman): %s\n\n" % func.name) |
1478 | 1467 |
1479 def WriteServiceImplementation(self, func, file): | 1468 def WriteServiceImplementation(self, func, file): |
1480 """Overrriden from TypeHandler.""" | 1469 """Overrriden from TypeHandler.""" |
1481 pass | 1470 pass |
1482 | 1471 |
1483 def WriteImmediateServiceImplementation(self, func, file): | 1472 def WriteImmediateServiceImplementation(self, func, file): |
1484 """Overrriden from TypeHandler.""" | 1473 """Overrriden from TypeHandler.""" |
1485 pass | 1474 pass |
1486 | 1475 |
1487 def WriteGLES2ImplementationImpl(self, func, file): | |
1488 """Overrriden from TypeHandler.""" | |
1489 pass | |
1490 | |
1491 def WriteImmediateCmdHelper(self, func, file): | 1476 def WriteImmediateCmdHelper(self, func, file): |
1492 """Overrriden from TypeHandler.""" | 1477 """Overrriden from TypeHandler.""" |
1493 pass | 1478 pass |
1494 | 1479 |
1495 def WriteCmdHelper(self, func, file): | 1480 def WriteCmdHelper(self, func, file): |
1496 """Overrriden from TypeHandler.""" | 1481 """Overrriden from TypeHandler.""" |
1497 pass | 1482 pass |
1498 | 1483 |
1499 def WriteFormatTest(self, func, file): | 1484 def WriteFormatTest(self, func, file): |
1500 """Overrriden from TypeHandler.""" | 1485 """Overrriden from TypeHandler.""" |
(...skipping 30 matching lines...) Expand all Loading... |
1531 """Overrriden from TypeHandler.""" | 1516 """Overrriden from TypeHandler.""" |
1532 file.Write("// TODO(gman): Implement test for %s\n" % func.name) | 1517 file.Write("// TODO(gman): Implement test for %s\n" % func.name) |
1533 | 1518 |
1534 def WriteGLES2ImplementationHeader(self, func, file): | 1519 def WriteGLES2ImplementationHeader(self, func, file): |
1535 """Overrriden from TypeHandler.""" | 1520 """Overrriden from TypeHandler.""" |
1536 file.Write("%s %s(%s);\n" % | 1521 file.Write("%s %s(%s);\n" % |
1537 (func.return_type, func.original_name, | 1522 (func.return_type, func.original_name, |
1538 func.MakeTypedOriginalArgString(""))) | 1523 func.MakeTypedOriginalArgString(""))) |
1539 file.Write("\n") | 1524 file.Write("\n") |
1540 | 1525 |
1541 def WriteGLES2ImplementationImpl(self, func, file): | |
1542 """Overrriden from TypeHandler.""" | |
1543 pass | |
1544 | |
1545 def WriteImmediateCmdGetTotalSize(self, func, file): | 1526 def WriteImmediateCmdGetTotalSize(self, func, file): |
1546 """Overrriden from TypeHandler.""" | 1527 """Overrriden from TypeHandler.""" |
1547 # TODO(gman): Move this data to _FUNCTION_INFO? | 1528 # TODO(gman): Move this data to _FUNCTION_INFO? |
1548 if func.name == 'ShaderSourceImmediate': | 1529 if func.name == 'ShaderSourceImmediate': |
1549 file.Write(" uint32 total_size = ComputeSize(_data_size);\n") | 1530 file.Write(" uint32 total_size = ComputeSize(_data_size);\n") |
1550 else: | 1531 else: |
1551 CustomHandler.WriteImmediateCmdGetTotalSize(self, func, file) | 1532 CustomHandler.WriteImmediateCmdGetTotalSize(self, func, file) |
1552 | 1533 |
1553 | 1534 |
1554 class DataHandler(TypeHandler): | 1535 class DataHandler(TypeHandler): |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1639 "cmd, total_size);\n") | 1620 "cmd, total_size);\n") |
1640 file.Write(" }\n") | 1621 file.Write(" }\n") |
1641 file.Write("\n") | 1622 file.Write("\n") |
1642 | 1623 |
1643 def WriteImmediateFormatTest(self, func, file): | 1624 def WriteImmediateFormatTest(self, func, file): |
1644 """Overrriden from TypeHandler.""" | 1625 """Overrriden from TypeHandler.""" |
1645 # TODO(gman): Remove this exception. | 1626 # TODO(gman): Remove this exception. |
1646 file.Write("// TODO(gman): Implement test for %s\n" % func.name) | 1627 file.Write("// TODO(gman): Implement test for %s\n" % func.name) |
1647 return | 1628 return |
1648 | 1629 |
1649 def WriteGLES2ImplementationImpl(self, func, file): | |
1650 """Overrriden from TypeHandler.""" | |
1651 pass | |
1652 | |
1653 def WriteServiceUnitTest(self, func, file): | 1630 def WriteServiceUnitTest(self, func, file): |
1654 """Overrriden from TypeHandler.""" | 1631 """Overrriden from TypeHandler.""" |
1655 file.Write("// TODO(gman): %s\n\n" % func.name) | 1632 file.Write("// TODO(gman): %s\n\n" % func.name) |
1656 | 1633 |
1657 def WriteImmediateServiceUnitTest(self, func, file): | 1634 def WriteImmediateServiceUnitTest(self, func, file): |
1658 """Overrriden from TypeHandler.""" | 1635 """Overrriden from TypeHandler.""" |
1659 file.Write("// TODO(gman): %s\n\n" % func.name) | 1636 file.Write("// TODO(gman): %s\n\n" % func.name) |
1660 | 1637 |
1661 | 1638 |
1662 class GENnHandler(TypeHandler): | 1639 class GENnHandler(TypeHandler): |
(...skipping 28 matching lines...) Expand all Loading... |
1691 """Overrriden from TypeHandler.""" | 1668 """Overrriden from TypeHandler.""" |
1692 file.Write("%s %s(%s) {\n" % | 1669 file.Write("%s %s(%s) {\n" % |
1693 (func.return_type, func.original_name, | 1670 (func.return_type, func.original_name, |
1694 func.MakeTypedOriginalArgString(""))) | 1671 func.MakeTypedOriginalArgString(""))) |
1695 file.Write(" MakeIds(%s);\n" % func.MakeOriginalArgString("")) | 1672 file.Write(" MakeIds(%s);\n" % func.MakeOriginalArgString("")) |
1696 file.Write(" helper_->%sImmediate(%s);\n" % | 1673 file.Write(" helper_->%sImmediate(%s);\n" % |
1697 (func.name, func.MakeOriginalArgString(""))) | 1674 (func.name, func.MakeOriginalArgString(""))) |
1698 file.Write("}\n") | 1675 file.Write("}\n") |
1699 file.Write("\n") | 1676 file.Write("\n") |
1700 | 1677 |
1701 def WriteGLES2ImplementationImpl(self, func, file): | |
1702 """Overrriden from TypeHandler.""" | |
1703 pass | |
1704 | |
1705 def WriteServiceUnitTest(self, func, file): | 1678 def WriteServiceUnitTest(self, func, file): |
1706 """Overrriden from TypeHandler.""" | 1679 """Overrriden from TypeHandler.""" |
1707 valid_test = """ | 1680 valid_test = """ |
1708 TEST_F(GLES2DecoderTest, %(name)sValidArgs) { | 1681 TEST_F(GLES2DecoderTest, %(name)sValidArgs) { |
1709 EXPECT_CALL(*gl_, %(gl_func_name)s(1, _)) | 1682 EXPECT_CALL(*gl_, %(gl_func_name)s(1, _)) |
1710 .WillOnce(SetArgumentPointee<1>(kNewServiceId)); | 1683 .WillOnce(SetArgumentPointee<1>(kNewServiceId)); |
1711 GetSharedMemoryAs<GLuint*>()[0] = kNewClientId; | 1684 GetSharedMemoryAs<GLuint*>()[0] = kNewClientId; |
1712 SpecializedSetup<%(name)s, 0>(); | 1685 SpecializedSetup<%(name)s, 0>(); |
1713 %(name)s cmd; | 1686 %(name)s cmd; |
1714 cmd.Init(%(args)s); | 1687 cmd.Init(%(args)s); |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1912 (func.return_type, func.original_name, | 1885 (func.return_type, func.original_name, |
1913 func.MakeTypedOriginalArgString(""))) | 1886 func.MakeTypedOriginalArgString(""))) |
1914 file.Write(" GLuint client_id;\n") | 1887 file.Write(" GLuint client_id;\n") |
1915 file.Write(" MakeIds(1, &client_id);\n") | 1888 file.Write(" MakeIds(1, &client_id);\n") |
1916 file.Write(" helper_->%s(%s);\n" % | 1889 file.Write(" helper_->%s(%s);\n" % |
1917 (func.name, func.MakeCmdArgString(""))) | 1890 (func.name, func.MakeCmdArgString(""))) |
1918 file.Write(" return client_id;\n") | 1891 file.Write(" return client_id;\n") |
1919 file.Write("}\n") | 1892 file.Write("}\n") |
1920 file.Write("\n") | 1893 file.Write("\n") |
1921 | 1894 |
1922 def WriteGLES2ImplementationImpl(self, func, file): | |
1923 """Overrriden from TypeHandler.""" | |
1924 pass | |
1925 | |
1926 | 1895 |
1927 class DELnHandler(TypeHandler): | 1896 class DELnHandler(TypeHandler): |
1928 """Handler for glDelete___ type functions.""" | 1897 """Handler for glDelete___ type functions.""" |
1929 | 1898 |
1930 def __init__(self): | 1899 def __init__(self): |
1931 TypeHandler.__init__(self) | 1900 TypeHandler.__init__(self) |
1932 | 1901 |
1933 def WriteGetDataSizeCode(self, func, file): | 1902 def WriteGetDataSizeCode(self, func, file): |
1934 """Overrriden from TypeHandler.""" | 1903 """Overrriden from TypeHandler.""" |
1935 file.Write(" uint32 data_size = n * sizeof(GLuint);\n") | 1904 file.Write(" uint32 data_size = n * sizeof(GLuint);\n") |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2017 """Overrriden from TypeHandler.""" | 1986 """Overrriden from TypeHandler.""" |
2018 file.Write("%s %s(%s) {\n" % | 1987 file.Write("%s %s(%s) {\n" % |
2019 (func.return_type, func.original_name, | 1988 (func.return_type, func.original_name, |
2020 func.MakeTypedOriginalArgString(""))) | 1989 func.MakeTypedOriginalArgString(""))) |
2021 file.Write(" FreeIds(%s);\n" % func.MakeOriginalArgString("")) | 1990 file.Write(" FreeIds(%s);\n" % func.MakeOriginalArgString("")) |
2022 file.Write(" helper_->%sImmediate(%s);\n" % | 1991 file.Write(" helper_->%sImmediate(%s);\n" % |
2023 (func.name, func.MakeOriginalArgString(""))) | 1992 (func.name, func.MakeOriginalArgString(""))) |
2024 file.Write("}\n") | 1993 file.Write("}\n") |
2025 file.Write("\n") | 1994 file.Write("\n") |
2026 | 1995 |
2027 def WriteGLES2ImplementationImpl(self, func, file): | |
2028 """Overrriden from TypeHandler.""" | |
2029 pass | |
2030 | |
2031 def WriteImmediateCmdComputeSize(self, func, file): | 1996 def WriteImmediateCmdComputeSize(self, func, file): |
2032 """Overrriden from TypeHandler.""" | 1997 """Overrriden from TypeHandler.""" |
2033 file.Write(" static uint32 ComputeDataSize(GLsizei n) {\n") | 1998 file.Write(" static uint32 ComputeDataSize(GLsizei n) {\n") |
2034 file.Write( | 1999 file.Write( |
2035 " return static_cast<uint32>(sizeof(GLuint) * n); // NOLINT\n") | 2000 " return static_cast<uint32>(sizeof(GLuint) * n); // NOLINT\n") |
2036 file.Write(" }\n") | 2001 file.Write(" }\n") |
2037 file.Write("\n") | 2002 file.Write("\n") |
2038 file.Write(" static uint32 ComputeSize(GLsizei n) {\n") | 2003 file.Write(" static uint32 ComputeSize(GLsizei n) {\n") |
2039 file.Write(" return static_cast<uint32>(\n") | 2004 file.Write(" return static_cast<uint32>(\n") |
2040 file.Write(" sizeof(ValueType) + ComputeDataSize(n)); // NOLINT\n") | 2005 file.Write(" sizeof(ValueType) + ComputeDataSize(n)); // NOLINT\n") |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2170 (func.name, arg_string)) | 2135 (func.name, arg_string)) |
2171 file.Write(" WaitForCmd();\n") | 2136 file.Write(" WaitForCmd();\n") |
2172 file.Write(" GLsizei num_values = util_.GLGetNumValuesReturned(pname);\n") | 2137 file.Write(" GLsizei num_values = util_.GLGetNumValuesReturned(pname);\n") |
2173 file.Write( | 2138 file.Write( |
2174 " DCHECK_LE(num_values * sizeof(*params), kMaxSizeOfSimpleResult);\n") | 2139 " DCHECK_LE(num_values * sizeof(*params), kMaxSizeOfSimpleResult);\n") |
2175 file.Write( | 2140 file.Write( |
2176 " memcpy(params, result_buffer_, num_values * sizeof(*params));\n") | 2141 " memcpy(params, result_buffer_, num_values * sizeof(*params));\n") |
2177 file.Write("}\n") | 2142 file.Write("}\n") |
2178 file.Write("\n") | 2143 file.Write("\n") |
2179 | 2144 |
2180 def WriteGLES2ImplementationImpl(self, func, file): | |
2181 """Overrriden from TypeHandler.""" | |
2182 pass | |
2183 | |
2184 | 2145 |
2185 class PUTHandler(TypeHandler): | 2146 class PUTHandler(TypeHandler): |
2186 """Handler for glTexParameter_v, glVertexAttrib_v functions.""" | 2147 """Handler for glTexParameter_v, glVertexAttrib_v functions.""" |
2187 | 2148 |
2188 def __init__(self): | 2149 def __init__(self): |
2189 TypeHandler.__init__(self) | 2150 TypeHandler.__init__(self) |
2190 | 2151 |
2191 def WriteImmediateServiceUnitTest(self, func, file): | 2152 def WriteImmediateServiceUnitTest(self, func, file): |
2192 """Writes the service unit test for a command.""" | 2153 """Writes the service unit test for a command.""" |
2193 valid_test = """ | 2154 valid_test = """ |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2241 def WriteGLES2ImplementationHeader(self, func, file): | 2202 def WriteGLES2ImplementationHeader(self, func, file): |
2242 """Overrriden from TypeHandler.""" | 2203 """Overrriden from TypeHandler.""" |
2243 file.Write("%s %s(%s) {\n" % | 2204 file.Write("%s %s(%s) {\n" % |
2244 (func.return_type, func.original_name, | 2205 (func.return_type, func.original_name, |
2245 func.MakeTypedOriginalArgString(""))) | 2206 func.MakeTypedOriginalArgString(""))) |
2246 file.Write(" helper_->%sImmediate(%s);\n" % | 2207 file.Write(" helper_->%sImmediate(%s);\n" % |
2247 (func.name, func.MakeOriginalArgString(""))) | 2208 (func.name, func.MakeOriginalArgString(""))) |
2248 file.Write("}\n") | 2209 file.Write("}\n") |
2249 file.Write("\n") | 2210 file.Write("\n") |
2250 | 2211 |
2251 def WriteGLES2ImplementationImpl(self, func, file): | |
2252 """Overrriden from TypeHandler.""" | |
2253 pass | |
2254 | |
2255 def WriteImmediateCmdComputeSize(self, func, file): | 2212 def WriteImmediateCmdComputeSize(self, func, file): |
2256 """Overrriden from TypeHandler.""" | 2213 """Overrriden from TypeHandler.""" |
2257 file.Write(" static uint32 ComputeDataSize() {\n") | 2214 file.Write(" static uint32 ComputeDataSize() {\n") |
2258 file.Write(" return static_cast<uint32>(\n") | 2215 file.Write(" return static_cast<uint32>(\n") |
2259 file.Write(" sizeof(%s) * %d); // NOLINT\n" % | 2216 file.Write(" sizeof(%s) * %d); // NOLINT\n" % |
2260 (func.info.data_type, func.info.count)) | 2217 (func.info.data_type, func.info.count)) |
2261 file.Write(" }\n") | 2218 file.Write(" }\n") |
2262 file.Write("\n") | 2219 file.Write("\n") |
2263 file.Write(" static uint32 ComputeSize() {\n") | 2220 file.Write(" static uint32 ComputeSize() {\n") |
2264 file.Write(" return static_cast<uint32>(\n") | 2221 file.Write(" return static_cast<uint32>(\n") |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2416 def WriteGLES2ImplementationHeader(self, func, file): | 2373 def WriteGLES2ImplementationHeader(self, func, file): |
2417 """Overrriden from TypeHandler.""" | 2374 """Overrriden from TypeHandler.""" |
2418 file.Write("%s %s(%s) {\n" % | 2375 file.Write("%s %s(%s) {\n" % |
2419 (func.return_type, func.original_name, | 2376 (func.return_type, func.original_name, |
2420 func.MakeTypedOriginalArgString(""))) | 2377 func.MakeTypedOriginalArgString(""))) |
2421 file.Write(" helper_->%sImmediate(%s);\n" % | 2378 file.Write(" helper_->%sImmediate(%s);\n" % |
2422 (func.name, func.MakeOriginalArgString(""))) | 2379 (func.name, func.MakeOriginalArgString(""))) |
2423 file.Write("}\n") | 2380 file.Write("}\n") |
2424 file.Write("\n") | 2381 file.Write("\n") |
2425 | 2382 |
2426 def WriteGLES2ImplementationImpl(self, func, file): | |
2427 """Overrriden from TypeHandler.""" | |
2428 pass | |
2429 | |
2430 def WriteImmediateCmdComputeSize(self, func, file): | 2383 def WriteImmediateCmdComputeSize(self, func, file): |
2431 """Overrriden from TypeHandler.""" | 2384 """Overrriden from TypeHandler.""" |
2432 file.Write(" static uint32 ComputeDataSize(GLsizei count) {\n") | 2385 file.Write(" static uint32 ComputeDataSize(GLsizei count) {\n") |
2433 file.Write(" return static_cast<uint32>(\n") | 2386 file.Write(" return static_cast<uint32>(\n") |
2434 file.Write(" sizeof(%s) * %d * count); // NOLINT\n" % | 2387 file.Write(" sizeof(%s) * %d * count); // NOLINT\n" % |
2435 (func.info.data_type, func.info.count)) | 2388 (func.info.data_type, func.info.count)) |
2436 file.Write(" }\n") | 2389 file.Write(" }\n") |
2437 file.Write("\n") | 2390 file.Write("\n") |
2438 file.Write(" static uint32 ComputeSize(GLsizei count) {\n") | 2391 file.Write(" static uint32 ComputeSize(GLsizei count) {\n") |
2439 file.Write(" return static_cast<uint32>(\n") | 2392 file.Write(" return static_cast<uint32>(\n") |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2605 """Overrriden from TypeHandler.""" | 2558 """Overrriden from TypeHandler.""" |
2606 file.Write("%s %s(%s) {\n" % | 2559 file.Write("%s %s(%s) {\n" % |
2607 (func.return_type, func.original_name, | 2560 (func.return_type, func.original_name, |
2608 func.MakeTypedOriginalArgString(""))) | 2561 func.MakeTypedOriginalArgString(""))) |
2609 file.Write(" // TODO(gman): This needs to change to use SendString.\n") | 2562 file.Write(" // TODO(gman): This needs to change to use SendString.\n") |
2610 file.Write(" helper_->%sImmediate(%s);\n" % | 2563 file.Write(" helper_->%sImmediate(%s);\n" % |
2611 (func.name, func.MakeOriginalArgString(""))) | 2564 (func.name, func.MakeOriginalArgString(""))) |
2612 file.Write("}\n") | 2565 file.Write("}\n") |
2613 file.Write("\n") | 2566 file.Write("\n") |
2614 | 2567 |
2615 def WriteGLES2ImplementationImpl(self, func, file): | |
2616 """Overrriden from TypeHandler.""" | |
2617 pass | |
2618 | |
2619 def WriteImmediateCmdComputeSize(self, func, file): | 2568 def WriteImmediateCmdComputeSize(self, func, file): |
2620 """Overrriden from TypeHandler.""" | 2569 """Overrriden from TypeHandler.""" |
2621 file.Write(" static uint32 ComputeSize(uint32 data_size) {\n") | 2570 file.Write(" static uint32 ComputeSize(uint32 data_size) {\n") |
2622 file.Write(" return static_cast<uint32>(\n") | 2571 file.Write(" return static_cast<uint32>(\n") |
2623 file.Write(" sizeof(ValueType) + data_size); // NOLINT\n") | 2572 file.Write(" sizeof(ValueType) + data_size); // NOLINT\n") |
2624 file.Write(" }\n") | 2573 file.Write(" }\n") |
2625 | 2574 |
2626 def WriteImmediateCmdSetHeader(self, func, file): | 2575 def WriteImmediateCmdSetHeader(self, func, file): |
2627 """Overrriden from TypeHandler.""" | 2576 """Overrriden from TypeHandler.""" |
2628 code = """ | 2577 code = """ |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2803 file.Write(" GLint* result = shared_memory_.GetAddressAs<GLint*>(0);\n") | 2752 file.Write(" GLint* result = shared_memory_.GetAddressAs<GLint*>(0);\n") |
2804 file.Write(" DCHECK(false); // pass in shared memory\n") | 2753 file.Write(" DCHECK(false); // pass in shared memory\n") |
2805 file.Write(" helper_->%sImmediate(%s);\n" % | 2754 file.Write(" helper_->%sImmediate(%s);\n" % |
2806 (func.name, func.MakeOriginalArgString(""))) | 2755 (func.name, func.MakeOriginalArgString(""))) |
2807 file.Write(" int32 token = helper_->InsertToken();\n") | 2756 file.Write(" int32 token = helper_->InsertToken();\n") |
2808 file.Write(" helper_->WaitForToken(token);\n") | 2757 file.Write(" helper_->WaitForToken(token);\n") |
2809 file.Write(" return *result;\n") | 2758 file.Write(" return *result;\n") |
2810 file.Write("}\n") | 2759 file.Write("}\n") |
2811 file.Write("\n") | 2760 file.Write("\n") |
2812 | 2761 |
2813 def WriteGLES2ImplementationImpl(self, func, file): | |
2814 """Overrriden from TypeHandler.""" | |
2815 pass | |
2816 | |
2817 def WriteImmediateCmdComputeSize(self, func, file): | 2762 def WriteImmediateCmdComputeSize(self, func, file): |
2818 """Overrriden from TypeHandler.""" | 2763 """Overrriden from TypeHandler.""" |
2819 file.Write(" static uint32 ComputeDataSize(const char* s) {\n") | 2764 file.Write(" static uint32 ComputeDataSize(const char* s) {\n") |
2820 file.Write(" return strlen(s);\n") | 2765 file.Write(" return strlen(s);\n") |
2821 file.Write(" }\n") | 2766 file.Write(" }\n") |
2822 file.Write("\n") | 2767 file.Write("\n") |
2823 file.Write(" static uint32 ComputeSize(const char* s) {\n") | 2768 file.Write(" static uint32 ComputeSize(const char* s) {\n") |
2824 file.Write(" return static_cast<uint32>(\n") | 2769 file.Write(" return static_cast<uint32>(\n") |
2825 file.Write(" sizeof(ValueType) + ComputeDataSize(s)); // NOLINT\n") | 2770 file.Write(" sizeof(ValueType) + ComputeDataSize(s)); // NOLINT\n") |
2826 file.Write(" }\n") | 2771 file.Write(" }\n") |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2973 if len(arg_string) > 0: | 2918 if len(arg_string) > 0: |
2974 comma = ", " | 2919 comma = ", " |
2975 file.Write(" helper_->%s(%s%sresult_shm_id(), result_shm_offset());\n" % | 2920 file.Write(" helper_->%s(%s%sresult_shm_id(), result_shm_offset());\n" % |
2976 (func.name, arg_string, comma)) | 2921 (func.name, arg_string, comma)) |
2977 file.Write(" WaitForCmd();\n") | 2922 file.Write(" WaitForCmd();\n") |
2978 file.Write(" return GetResultAs<%s>();\n" % | 2923 file.Write(" return GetResultAs<%s>();\n" % |
2979 func.return_type) | 2924 func.return_type) |
2980 file.Write("}\n") | 2925 file.Write("}\n") |
2981 file.Write("\n") | 2926 file.Write("\n") |
2982 | 2927 |
2983 def WriteGLES2ImplementationImpl(self, func, file): | |
2984 """Overrriden from TypeHandler.""" | |
2985 pass | |
2986 | |
2987 | 2928 |
2988 class STRnHandler(TypeHandler): | 2929 class STRnHandler(TypeHandler): |
2989 """Handler for GetProgramInfoLog, GetShaderInfoLog and GetShaderSource.""" | 2930 """Handler for GetProgramInfoLog, GetShaderInfoLog and GetShaderSource.""" |
2990 | 2931 |
2991 def __init__(self): | 2932 def __init__(self): |
2992 TypeHandler.__init__(self) | 2933 TypeHandler.__init__(self) |
2993 | 2934 |
2994 def WriteGLES2ImplementationHeader(self, func, file): | 2935 def WriteGLES2ImplementationHeader(self, func, file): |
2995 """Overrriden from TypeHandler.""" | 2936 """Overrriden from TypeHandler.""" |
2996 file.Write("// TODO(gman): Implement this\n") | 2937 file.Write("// TODO(gman): Implement this\n") |
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3504 self.type_handler.WriteServiceImplementation(self, file) | 3445 self.type_handler.WriteServiceImplementation(self, file) |
3505 | 3446 |
3506 def WriteServiceUnitTest(self, file): | 3447 def WriteServiceUnitTest(self, file): |
3507 """Writes the service implementation for a command.""" | 3448 """Writes the service implementation for a command.""" |
3508 self.type_handler.WriteServiceUnitTest(self, file) | 3449 self.type_handler.WriteServiceUnitTest(self, file) |
3509 | 3450 |
3510 def WriteGLES2ImplementationHeader(self, file): | 3451 def WriteGLES2ImplementationHeader(self, file): |
3511 """Writes the GLES2 Implemention declaration.""" | 3452 """Writes the GLES2 Implemention declaration.""" |
3512 self.type_handler.WriteGLES2ImplementationHeader(self, file) | 3453 self.type_handler.WriteGLES2ImplementationHeader(self, file) |
3513 | 3454 |
3514 def WriteGLES2ImplementationImpl(self, file): | |
3515 """Writes the GLES2 Implemention definition.""" | |
3516 self.type_handler.WriteGLES2ImplementationImpl(self, file) | |
3517 | |
3518 def WriteFormatTest(self, file): | 3455 def WriteFormatTest(self, file): |
3519 """Writes the cmd's format test.""" | 3456 """Writes the cmd's format test.""" |
3520 self.type_handler.WriteFormatTest(self, file) | 3457 self.type_handler.WriteFormatTest(self, file) |
3521 | 3458 |
3522 | 3459 |
3523 class ImmediateFunction(Function): | 3460 class ImmediateFunction(Function): |
3524 """A class that represnets an immediate function command.""" | 3461 """A class that represnets an immediate function command.""" |
3525 | 3462 |
3526 def __init__(self, func): | 3463 def __init__(self, func): |
3527 new_args = [] | 3464 new_args = [] |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3890 def WriteGLES2ImplementationHeader(self, filename): | 3827 def WriteGLES2ImplementationHeader(self, filename): |
3891 """Writes the GLES2 helper header.""" | 3828 """Writes the GLES2 helper header.""" |
3892 file = CHeaderWriter( | 3829 file = CHeaderWriter( |
3893 filename, | 3830 filename, |
3894 "// This file is included by gles2_implementation.h to declare the\n" | 3831 "// This file is included by gles2_implementation.h to declare the\n" |
3895 "// GL api functions.\n") | 3832 "// GL api functions.\n") |
3896 for func in self.original_functions: | 3833 for func in self.original_functions: |
3897 func.WriteGLES2ImplementationHeader(file) | 3834 func.WriteGLES2ImplementationHeader(file) |
3898 file.Close() | 3835 file.Close() |
3899 | 3836 |
3900 def WriteGLES2ImplementationImpl(self, filename): | |
3901 """Writes the gles2 helper implementation.""" | |
3902 file = CHeaderWriter( | |
3903 filename, | |
3904 "// A class to emluate GLES2 over command buffers.\n") | |
3905 file.Write( | |
3906 "#include \"gpu/command_buffer/client/gles2_implementation.h\"\n") | |
3907 self.WriteNamespaceOpen(file) | |
3908 for func in self.original_functions: | |
3909 func.WriteGLES2ImplementationImpl(file) | |
3910 file.Write("\n") | |
3911 | |
3912 self.WriteNamespaceClose(file) | |
3913 file.Close() | |
3914 | |
3915 def WriteServiceUtilsHeader(self, filename): | 3837 def WriteServiceUtilsHeader(self, filename): |
3916 """Writes the gles2 auto generated utility header.""" | 3838 """Writes the gles2 auto generated utility header.""" |
3917 file = CHeaderWriter(filename) | 3839 file = CHeaderWriter(filename) |
3918 for enum in _ENUM_LISTS: | 3840 for enum in _ENUM_LISTS: |
3919 file.Write("bool Validate%s%s(GLenum value);\n" % (_ENUM_LISTS[enum]['type
'], enum)) | 3841 file.Write("bool Validate%s%s(GLenum value);\n" % (_ENUM_LISTS[enum]['type
'], enum)) |
3920 file.Write("\n") | 3842 file.Write("\n") |
3921 file.Close() | 3843 file.Close() |
3922 | 3844 |
3923 def WriteServiceUtilsImplementation(self, filename): | 3845 def WriteServiceUtilsImplementation(self, filename): |
3924 """Writes the gles2 auto generated utility implementation.""" | 3846 """Writes the gles2 auto generated utility implementation.""" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3959 gen.WriteFormatTest("common/gles2_cmd_format_test_autogen.h") | 3881 gen.WriteFormatTest("common/gles2_cmd_format_test_autogen.h") |
3960 gen.WriteGLES2ImplementationHeader("client/gles2_implementation_autogen.h") | 3882 gen.WriteGLES2ImplementationHeader("client/gles2_implementation_autogen.h") |
3961 gen.WriteGLES2CLibImplementation("client/gles2_c_lib_autogen.h") | 3883 gen.WriteGLES2CLibImplementation("client/gles2_c_lib_autogen.h") |
3962 gen.WriteCmdHelperHeader("client/gles2_cmd_helper_autogen.h") | 3884 gen.WriteCmdHelperHeader("client/gles2_cmd_helper_autogen.h") |
3963 gen.WriteServiceImplementation("service/gles2_cmd_decoder_autogen.h") | 3885 gen.WriteServiceImplementation("service/gles2_cmd_decoder_autogen.h") |
3964 gen.WriteServiceUnitTests("service/gles2_cmd_decoder_unittest_autogen.h") | 3886 gen.WriteServiceUnitTests("service/gles2_cmd_decoder_unittest_autogen.h") |
3965 gen.WriteServiceUtilsHeader("service/gles2_cmd_validation_autogen.h") | 3887 gen.WriteServiceUtilsHeader("service/gles2_cmd_validation_autogen.h") |
3966 gen.WriteServiceUtilsImplementation( | 3888 gen.WriteServiceUtilsImplementation( |
3967 "service/gles2_cmd_validation_implementation_autogen.h") | 3889 "service/gles2_cmd_validation_implementation_autogen.h") |
3968 | 3890 |
3969 if options.generate_implementation_templates: | |
3970 gen.WriteGLES2ImplementationImpl("client/gles2_implementation_gen.h") | |
3971 | |
3972 if options.generate_command_id_tests: | 3891 if options.generate_command_id_tests: |
3973 gen.WriteCommandIdTest("common/gles2_cmd_id_test_autogen.h") | 3892 gen.WriteCommandIdTest("common/gles2_cmd_id_test_autogen.h") |
3974 | 3893 |
3975 if gen.errors > 0: | 3894 if gen.errors > 0: |
3976 print "%d errors" % gen.errors | 3895 print "%d errors" % gen.errors |
3977 sys.exit(1) | 3896 sys.exit(1) |
3978 | 3897 |
3979 if __name__ == '__main__': | 3898 if __name__ == '__main__': |
3980 main(sys.argv[1:]) | 3899 main(sys.argv[1:]) |
OLD | NEW |