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 itertools | 8 import itertools |
9 import os | 9 import os |
10 import os.path | 10 import os.path |
(...skipping 1637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1648 'impl_func': False, | 1648 'impl_func': False, |
1649 'expectation': False, | 1649 'expectation': False, |
1650 'immediate': False, | 1650 'immediate': False, |
1651 'extension': True, | 1651 'extension': True, |
1652 'chromium': True, | 1652 'chromium': True, |
1653 }, | 1653 }, |
1654 'GetActiveAttrib': { | 1654 'GetActiveAttrib': { |
1655 'type': 'Custom', | 1655 'type': 'Custom', |
1656 'immediate': False, | 1656 'immediate': False, |
1657 'cmd_args': | 1657 'cmd_args': |
1658 'GLidProgram program, GLuint index, uint32 name_bucket_id, ' | 1658 'GLidProgram program, GLuint index, uint32_t name_bucket_id, ' |
1659 'void* result', | 1659 'void* result', |
1660 'result': [ | 1660 'result': [ |
1661 'int32 success', | 1661 'int32_t success', |
1662 'int32 size', | 1662 'int32_t size', |
1663 'uint32 type', | 1663 'uint32_t type', |
1664 ], | 1664 ], |
1665 }, | 1665 }, |
1666 'GetActiveUniform': { | 1666 'GetActiveUniform': { |
1667 'type': 'Custom', | 1667 'type': 'Custom', |
1668 'immediate': False, | 1668 'immediate': False, |
1669 'cmd_args': | 1669 'cmd_args': |
1670 'GLidProgram program, GLuint index, uint32 name_bucket_id, ' | 1670 'GLidProgram program, GLuint index, uint32_t name_bucket_id, ' |
1671 'void* result', | 1671 'void* result', |
1672 'result': [ | 1672 'result': [ |
1673 'int32 success', | 1673 'int32_t success', |
1674 'int32 size', | 1674 'int32_t size', |
1675 'uint32 type', | 1675 'uint32_t type', |
1676 ], | 1676 ], |
1677 }, | 1677 }, |
1678 'GetAttachedShaders': { | 1678 'GetAttachedShaders': { |
1679 'type': 'Custom', | 1679 'type': 'Custom', |
1680 'immediate': False, | 1680 'immediate': False, |
1681 'cmd_args': 'GLidProgram program, void* result, uint32 result_size', | 1681 'cmd_args': 'GLidProgram program, void* result, uint32_t result_size', |
1682 'result': ['SizedResult<GLuint>'], | 1682 'result': ['SizedResult<GLuint>'], |
1683 }, | 1683 }, |
1684 'GetAttribLocation': { | 1684 'GetAttribLocation': { |
1685 'type': 'HandWritten', | 1685 'type': 'HandWritten', |
1686 'immediate': False, | 1686 'immediate': False, |
1687 'bucket': True, | 1687 'bucket': True, |
1688 'needs_size': True, | 1688 'needs_size': True, |
1689 'cmd_args': | 1689 'cmd_args': |
1690 'GLidProgram program, const char* name, NonImmediate GLint* location', | 1690 'GLidProgram program, const char* name, NonImmediate GLint* location', |
1691 'result': ['GLint'], | 1691 'result': ['GLint'], |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1754 'expectation': False, | 1754 'expectation': False, |
1755 }, | 1755 }, |
1756 'GetProgramInfoCHROMIUM': { | 1756 'GetProgramInfoCHROMIUM': { |
1757 'type': 'Custom', | 1757 'type': 'Custom', |
1758 'immediate': False, | 1758 'immediate': False, |
1759 'expectation': False, | 1759 'expectation': False, |
1760 'impl_func': False, | 1760 'impl_func': False, |
1761 'extension': True, | 1761 'extension': True, |
1762 'chromium': True, | 1762 'chromium': True, |
1763 'client_test': False, | 1763 'client_test': False, |
1764 'cmd_args': 'GLidProgram program, uint32 bucket_id', | 1764 'cmd_args': 'GLidProgram program, uint32_t bucket_id', |
1765 'result': [ | 1765 'result': [ |
1766 'uint32 link_status', | 1766 'uint32_t link_status', |
1767 'uint32 num_attribs', | 1767 'uint32_t num_attribs', |
1768 'uint32 num_uniforms', | 1768 'uint32_t num_uniforms', |
1769 ], | 1769 ], |
1770 }, | 1770 }, |
1771 'GetProgramInfoLog': { | 1771 'GetProgramInfoLog': { |
1772 'type': 'STRn', | 1772 'type': 'STRn', |
1773 'expectation': False, | 1773 'expectation': False, |
1774 }, | 1774 }, |
1775 'GetRenderbufferParameteriv': { | 1775 'GetRenderbufferParameteriv': { |
1776 'type': 'GETn', | 1776 'type': 'GETn', |
1777 'decoder_func': 'DoGetRenderbufferParameteriv', | 1777 'decoder_func': 'DoGetRenderbufferParameteriv', |
1778 'gl_test_func': 'glGetRenderbufferParameterivEXT', | 1778 'gl_test_func': 'glGetRenderbufferParameterivEXT', |
(...skipping 10 matching lines...) Expand all Loading... |
1789 'get_len_enum': 'GL_INFO_LOG_LENGTH', | 1789 'get_len_enum': 'GL_INFO_LOG_LENGTH', |
1790 'unit_test': False, | 1790 'unit_test': False, |
1791 }, | 1791 }, |
1792 'GetShaderPrecisionFormat': { | 1792 'GetShaderPrecisionFormat': { |
1793 'type': 'Custom', | 1793 'type': 'Custom', |
1794 'immediate': False, | 1794 'immediate': False, |
1795 'cmd_args': | 1795 'cmd_args': |
1796 'GLenumShaderType shadertype, GLenumShaderPrecision precisiontype, ' | 1796 'GLenumShaderType shadertype, GLenumShaderPrecision precisiontype, ' |
1797 'void* result', | 1797 'void* result', |
1798 'result': [ | 1798 'result': [ |
1799 'int32 success', | 1799 'int32_t success', |
1800 'int32 min_range', | 1800 'int32_t min_range', |
1801 'int32 max_range', | 1801 'int32_t max_range', |
1802 'int32 precision', | 1802 'int32_t precision', |
1803 ], | 1803 ], |
1804 }, | 1804 }, |
1805 'GetShaderSource': { | 1805 'GetShaderSource': { |
1806 'type': 'STRn', | 1806 'type': 'STRn', |
1807 'get_len_func': 'DoGetShaderiv', | 1807 'get_len_func': 'DoGetShaderiv', |
1808 'get_len_enum': 'GL_SHADER_SOURCE_LENGTH', | 1808 'get_len_enum': 'GL_SHADER_SOURCE_LENGTH', |
1809 'unit_test': False, | 1809 'unit_test': False, |
1810 'client_test': False, | 1810 'client_test': False, |
1811 }, | 1811 }, |
1812 'GetString': { | 1812 'GetString': { |
1813 'type': 'Custom', | 1813 'type': 'Custom', |
1814 'client_test': False, | 1814 'client_test': False, |
1815 'cmd_args': 'GLenumStringType name, uint32 bucket_id', | 1815 'cmd_args': 'GLenumStringType name, uint32_t bucket_id', |
1816 }, | 1816 }, |
1817 'GetTexParameterfv': { | 1817 'GetTexParameterfv': { |
1818 'type': 'GETn', | 1818 'type': 'GETn', |
1819 'decoder_func': 'DoGetTexParameterfv', | 1819 'decoder_func': 'DoGetTexParameterfv', |
1820 'result': ['SizedResult<GLfloat>'] | 1820 'result': ['SizedResult<GLfloat>'] |
1821 }, | 1821 }, |
1822 'GetTexParameteriv': { | 1822 'GetTexParameteriv': { |
1823 'type': 'GETn', | 1823 'type': 'GETn', |
1824 'decoder_func': 'DoGetTexParameteriv', | 1824 'decoder_func': 'DoGetTexParameteriv', |
1825 'result': ['SizedResult<GLint>'] | 1825 'result': ['SizedResult<GLint>'] |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1990 '// ReadPixels has the result separated from the pixel buffer so that\n' | 1990 '// ReadPixels has the result separated from the pixel buffer so that\n' |
1991 '// it is easier to specify the result going to some specific place\n' | 1991 '// it is easier to specify the result going to some specific place\n' |
1992 '// that exactly fits the rectangle of pixels.\n', | 1992 '// that exactly fits the rectangle of pixels.\n', |
1993 'type': 'Custom', | 1993 'type': 'Custom', |
1994 'immediate': False, | 1994 'immediate': False, |
1995 'impl_func': False, | 1995 'impl_func': False, |
1996 'client_test': False, | 1996 'client_test': False, |
1997 'cmd_args': | 1997 'cmd_args': |
1998 'GLint x, GLint y, GLsizei width, GLsizei height, ' | 1998 'GLint x, GLint y, GLsizei width, GLsizei height, ' |
1999 'GLenumReadPixelFormat format, GLenumReadPixelType type, ' | 1999 'GLenumReadPixelFormat format, GLenumReadPixelType type, ' |
2000 'uint32 pixels_shm_id, uint32 pixels_shm_offset, ' | 2000 'uint32_t pixels_shm_id, uint32_t pixels_shm_offset, ' |
2001 'uint32 result_shm_id, uint32 result_shm_offset, ' | 2001 'uint32_t result_shm_id, uint32_t result_shm_offset, ' |
2002 'GLboolean async', | 2002 'GLboolean async', |
2003 'result': ['uint32'], | 2003 'result': ['uint32_t'], |
2004 'defer_reads': True, | 2004 'defer_reads': True, |
2005 }, | 2005 }, |
2006 'RegisterSharedIdsCHROMIUM': { | 2006 'RegisterSharedIdsCHROMIUM': { |
2007 'type': 'Custom', | 2007 'type': 'Custom', |
2008 'decoder_func': 'DoRegisterSharedIdsCHROMIUM', | 2008 'decoder_func': 'DoRegisterSharedIdsCHROMIUM', |
2009 'impl_func': False, | 2009 'impl_func': False, |
2010 'expectation': False, | 2010 'expectation': False, |
2011 'immediate': False, | 2011 'immediate': False, |
2012 'extension': True, | 2012 'extension': True, |
2013 'chromium': True, | 2013 'chromium': True, |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2248 'type': 'Custom', | 2248 'type': 'Custom', |
2249 'impl_func': False, | 2249 'impl_func': False, |
2250 'unit_test': False, | 2250 'unit_test': False, |
2251 'extension': True, | 2251 'extension': True, |
2252 'chromium': True, | 2252 'chromium': True, |
2253 }, | 2253 }, |
2254 'GetRequestableExtensionsCHROMIUM': { | 2254 'GetRequestableExtensionsCHROMIUM': { |
2255 'type': 'Custom', | 2255 'type': 'Custom', |
2256 'impl_func': False, | 2256 'impl_func': False, |
2257 'immediate': False, | 2257 'immediate': False, |
2258 'cmd_args': 'uint32 bucket_id', | 2258 'cmd_args': 'uint32_t bucket_id', |
2259 'extension': True, | 2259 'extension': True, |
2260 'chromium': True, | 2260 'chromium': True, |
2261 }, | 2261 }, |
2262 'RequestExtensionCHROMIUM': { | 2262 'RequestExtensionCHROMIUM': { |
2263 'type': 'Custom', | 2263 'type': 'Custom', |
2264 'impl_func': False, | 2264 'impl_func': False, |
2265 'immediate': False, | 2265 'immediate': False, |
2266 'client_test': False, | 2266 'client_test': False, |
2267 'cmd_args': 'uint32 bucket_id', | 2267 'cmd_args': 'uint32_t bucket_id', |
2268 'extension': True, | 2268 'extension': True, |
2269 'chromium': True, | 2269 'chromium': True, |
2270 }, | 2270 }, |
2271 'RateLimitOffscreenContextCHROMIUM': { | 2271 'RateLimitOffscreenContextCHROMIUM': { |
2272 'gen_cmd': False, | 2272 'gen_cmd': False, |
2273 'extension': True, | 2273 'extension': True, |
2274 'chromium': True, | 2274 'chromium': True, |
2275 'client_test': False, | 2275 'client_test': False, |
2276 }, | 2276 }, |
2277 'CreateStreamTextureCHROMIUM': { | 2277 'CreateStreamTextureCHROMIUM': { |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2489 'AsyncTexImage2DCHROMIUM': { | 2489 'AsyncTexImage2DCHROMIUM': { |
2490 'type': 'Manual', | 2490 'type': 'Manual', |
2491 'immediate': False, | 2491 'immediate': False, |
2492 'client_test': False, | 2492 'client_test': False, |
2493 'cmd_args': 'GLenumTextureTarget target, GLint level, ' | 2493 'cmd_args': 'GLenumTextureTarget target, GLint level, ' |
2494 'GLintTextureInternalFormat internalformat, ' | 2494 'GLintTextureInternalFormat internalformat, ' |
2495 'GLsizei width, GLsizei height, ' | 2495 'GLsizei width, GLsizei height, ' |
2496 'GLintTextureBorder border, ' | 2496 'GLintTextureBorder border, ' |
2497 'GLenumTextureFormat format, GLenumPixelType type, ' | 2497 'GLenumTextureFormat format, GLenumPixelType type, ' |
2498 'const void* pixels, ' | 2498 'const void* pixels, ' |
2499 'uint32 async_upload_token, ' | 2499 'uint32_t async_upload_token, ' |
2500 'void* sync_data', | 2500 'void* sync_data', |
2501 'extension': True, | 2501 'extension': True, |
2502 'chromium': True, | 2502 'chromium': True, |
2503 }, | 2503 }, |
2504 'AsyncTexSubImage2DCHROMIUM': { | 2504 'AsyncTexSubImage2DCHROMIUM': { |
2505 'type': 'Manual', | 2505 'type': 'Manual', |
2506 'immediate': False, | 2506 'immediate': False, |
2507 'client_test': False, | 2507 'client_test': False, |
2508 'cmd_args': 'GLenumTextureTarget target, GLint level, ' | 2508 'cmd_args': 'GLenumTextureTarget target, GLint level, ' |
2509 'GLint xoffset, GLint yoffset, ' | 2509 'GLint xoffset, GLint yoffset, ' |
2510 'GLsizei width, GLsizei height, ' | 2510 'GLsizei width, GLsizei height, ' |
2511 'GLenumTextureFormat format, GLenumPixelType type, ' | 2511 'GLenumTextureFormat format, GLenumPixelType type, ' |
2512 'const void* data, ' | 2512 'const void* data, ' |
2513 'uint32 async_upload_token, ' | 2513 'uint32_t async_upload_token, ' |
2514 'void* sync_data', | 2514 'void* sync_data', |
2515 'extension': True, | 2515 'extension': True, |
2516 'chromium': True, | 2516 'chromium': True, |
2517 }, | 2517 }, |
2518 'WaitAsyncTexImage2DCHROMIUM': { | 2518 'WaitAsyncTexImage2DCHROMIUM': { |
2519 'type': 'Manual', | 2519 'type': 'Manual', |
2520 'immediate': False, | 2520 'immediate': False, |
2521 'client_test': False, | 2521 'client_test': False, |
2522 'extension': True, | 2522 'extension': True, |
2523 'chromium': True, | 2523 'chromium': True, |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2796 """Writes a format test for a command.""" | 2796 """Writes a format test for a command.""" |
2797 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name) | 2797 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name) |
2798 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" % | 2798 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" % |
2799 (func.name, func.name)) | 2799 (func.name, func.name)) |
2800 file.Write(" void* next_cmd = cmd.Set(\n") | 2800 file.Write(" void* next_cmd = cmd.Set(\n") |
2801 file.Write(" &cmd") | 2801 file.Write(" &cmd") |
2802 args = func.GetCmdArgs() | 2802 args = func.GetCmdArgs() |
2803 for value, arg in enumerate(args): | 2803 for value, arg in enumerate(args): |
2804 file.Write(",\n static_cast<%s>(%d)" % (arg.type, value + 11)) | 2804 file.Write(",\n static_cast<%s>(%d)" % (arg.type, value + 11)) |
2805 file.Write(");\n") | 2805 file.Write(");\n") |
2806 file.Write(" EXPECT_EQ(static_cast<uint32>(cmds::%s::kCmdId),\n" % | 2806 file.Write(" EXPECT_EQ(static_cast<uint32_t>(cmds::%s::kCmdId),\n" % |
2807 func.name) | 2807 func.name) |
2808 file.Write(" cmd.header.command);\n") | 2808 file.Write(" cmd.header.command);\n") |
2809 func.type_handler.WriteCmdSizeTest(func, file) | 2809 func.type_handler.WriteCmdSizeTest(func, file) |
2810 for value, arg in enumerate(args): | 2810 for value, arg in enumerate(args): |
2811 file.Write(" EXPECT_EQ(static_cast<%s>(%d), cmd.%s);\n" % | 2811 file.Write(" EXPECT_EQ(static_cast<%s>(%d), cmd.%s);\n" % |
2812 (arg.type, value + 11, arg.name)) | 2812 (arg.type, value + 11, arg.name)) |
2813 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n") | 2813 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n") |
2814 file.Write(" next_cmd, sizeof(cmd));\n") | 2814 file.Write(" next_cmd, sizeof(cmd));\n") |
2815 file.Write("}\n") | 2815 file.Write("}\n") |
2816 file.Write("\n") | 2816 file.Write("\n") |
(...skipping 23 matching lines...) Expand all Loading... |
2840 def WriteBucketHandlerImplementation (self, func, file): | 2840 def WriteBucketHandlerImplementation (self, func, file): |
2841 """Writes the handler impl for the bucket version of a command.""" | 2841 """Writes the handler impl for the bucket version of a command.""" |
2842 file.Write(" %s(%s);\n" % | 2842 file.Write(" %s(%s);\n" % |
2843 (func.GetGLFunctionName(), func.MakeOriginalArgString(""))) | 2843 (func.GetGLFunctionName(), func.MakeOriginalArgString(""))) |
2844 | 2844 |
2845 def WriteServiceImplementation(self, func, file): | 2845 def WriteServiceImplementation(self, func, file): |
2846 """Writes the service implementation for a command.""" | 2846 """Writes the service implementation for a command.""" |
2847 file.Write( | 2847 file.Write( |
2848 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) | 2848 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) |
2849 file.Write( | 2849 file.Write( |
2850 " uint32 immediate_data_size, const gles2::cmds::%s& c) {\n" % | 2850 " uint32_t immediate_data_size, const gles2::cmds::%s& c) {\n" % |
2851 func.name) | 2851 func.name) |
2852 self.WriteHandlerDeferReadWrite(func, file); | 2852 self.WriteHandlerDeferReadWrite(func, file); |
2853 if len(func.GetOriginalArgs()) > 0: | 2853 if len(func.GetOriginalArgs()) > 0: |
2854 last_arg = func.GetLastOriginalArg() | 2854 last_arg = func.GetLastOriginalArg() |
2855 all_but_last_arg = func.GetOriginalArgs()[:-1] | 2855 all_but_last_arg = func.GetOriginalArgs()[:-1] |
2856 for arg in all_but_last_arg: | 2856 for arg in all_but_last_arg: |
2857 arg.WriteGetCode(file) | 2857 arg.WriteGetCode(file) |
2858 self.WriteGetDataSizeCode(func, file) | 2858 self.WriteGetDataSizeCode(func, file) |
2859 last_arg.WriteGetCode(file) | 2859 last_arg.WriteGetCode(file) |
2860 func.WriteHandlerValidation(file) | 2860 func.WriteHandlerValidation(file) |
2861 func.WriteHandlerImplementation(file) | 2861 func.WriteHandlerImplementation(file) |
2862 file.Write(" return error::kNoError;\n") | 2862 file.Write(" return error::kNoError;\n") |
2863 file.Write("}\n") | 2863 file.Write("}\n") |
2864 file.Write("\n") | 2864 file.Write("\n") |
2865 | 2865 |
2866 def WriteImmediateServiceImplementation(self, func, file): | 2866 def WriteImmediateServiceImplementation(self, func, file): |
2867 """Writes the service implementation for an immediate version of command.""" | 2867 """Writes the service implementation for an immediate version of command.""" |
2868 file.Write( | 2868 file.Write( |
2869 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) | 2869 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) |
2870 file.Write( | 2870 file.Write( |
2871 " uint32 immediate_data_size, const gles2::cmds::%s& c) {\n" % | 2871 " uint32_t immediate_data_size, const gles2::cmds::%s& c) {\n" % |
2872 func.name) | 2872 func.name) |
2873 self.WriteHandlerDeferReadWrite(func, file); | 2873 self.WriteHandlerDeferReadWrite(func, file); |
2874 last_arg = func.GetLastOriginalArg() | 2874 last_arg = func.GetLastOriginalArg() |
2875 all_but_last_arg = func.GetOriginalArgs()[:-1] | 2875 all_but_last_arg = func.GetOriginalArgs()[:-1] |
2876 for arg in all_but_last_arg: | 2876 for arg in all_but_last_arg: |
2877 arg.WriteGetCode(file) | 2877 arg.WriteGetCode(file) |
2878 self.WriteGetDataSizeCode(func, file) | 2878 self.WriteGetDataSizeCode(func, file) |
2879 last_arg.WriteGetCode(file) | 2879 last_arg.WriteGetCode(file) |
2880 func.WriteHandlerValidation(file) | 2880 func.WriteHandlerValidation(file) |
2881 func.WriteHandlerImplementation(file) | 2881 func.WriteHandlerImplementation(file) |
2882 file.Write(" return error::kNoError;\n") | 2882 file.Write(" return error::kNoError;\n") |
2883 file.Write("}\n") | 2883 file.Write("}\n") |
2884 file.Write("\n") | 2884 file.Write("\n") |
2885 | 2885 |
2886 def WriteBucketServiceImplementation(self, func, file): | 2886 def WriteBucketServiceImplementation(self, func, file): |
2887 """Writes the service implementation for a bucket version of command.""" | 2887 """Writes the service implementation for a bucket version of command.""" |
2888 file.Write( | 2888 file.Write( |
2889 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) | 2889 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) |
2890 file.Write( | 2890 file.Write( |
2891 " uint32 immediate_data_size, const gles2::cmds::%s& c) {\n" % | 2891 " uint32_t immediate_data_size, const gles2::cmds::%s& c) {\n" % |
2892 func.name) | 2892 func.name) |
2893 self.WriteHandlerDeferReadWrite(func, file); | 2893 self.WriteHandlerDeferReadWrite(func, file); |
2894 last_arg = func.GetLastOriginalArg() | 2894 last_arg = func.GetLastOriginalArg() |
2895 all_but_last_arg = func.GetOriginalArgs()[:-1] | 2895 all_but_last_arg = func.GetOriginalArgs()[:-1] |
2896 for arg in all_but_last_arg: | 2896 for arg in all_but_last_arg: |
2897 arg.WriteGetCode(file) | 2897 arg.WriteGetCode(file) |
2898 self.WriteGetDataSizeCode(func, file) | 2898 self.WriteGetDataSizeCode(func, file) |
2899 last_arg.WriteGetCode(file) | 2899 last_arg.WriteGetCode(file) |
2900 func.WriteHandlerValidation(file) | 2900 func.WriteHandlerValidation(file) |
2901 func.WriteHandlerImplementation(file) | 2901 func.WriteHandlerImplementation(file) |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3195 """Writes the client side destintion initialization validation.""" | 3195 """Writes the client side destintion initialization validation.""" |
3196 for arg in func.GetOriginalArgs(): | 3196 for arg in func.GetOriginalArgs(): |
3197 arg.WriteDestinationInitalizationValidation(file, func) | 3197 arg.WriteDestinationInitalizationValidation(file, func) |
3198 | 3198 |
3199 def WriteTraceEvent(self, func, file): | 3199 def WriteTraceEvent(self, func, file): |
3200 file.Write(' TRACE_EVENT0("gpu", "GLES2Implementation::%s");\n' % | 3200 file.Write(' TRACE_EVENT0("gpu", "GLES2Implementation::%s");\n' % |
3201 func.original_name) | 3201 func.original_name) |
3202 | 3202 |
3203 def WriteImmediateCmdComputeSize(self, func, file): | 3203 def WriteImmediateCmdComputeSize(self, func, file): |
3204 """Writes the size computation code for the immediate version of a cmd.""" | 3204 """Writes the size computation code for the immediate version of a cmd.""" |
3205 file.Write(" static uint32 ComputeSize(uint32 size_in_bytes) {\n") | 3205 file.Write(" static uint32_t ComputeSize(uint32_t size_in_bytes) {\n") |
3206 file.Write(" return static_cast<uint32>(\n") | 3206 file.Write(" return static_cast<uint32_t>(\n") |
3207 file.Write(" sizeof(ValueType) + // NOLINT\n") | 3207 file.Write(" sizeof(ValueType) + // NOLINT\n") |
3208 file.Write(" RoundSizeToMultipleOfEntries(size_in_bytes));\n") | 3208 file.Write(" RoundSizeToMultipleOfEntries(size_in_bytes));\n") |
3209 file.Write(" }\n") | 3209 file.Write(" }\n") |
3210 file.Write("\n") | 3210 file.Write("\n") |
3211 | 3211 |
3212 def WriteImmediateCmdSetHeader(self, func, file): | 3212 def WriteImmediateCmdSetHeader(self, func, file): |
3213 """Writes the SetHeader function for the immediate version of a cmd.""" | 3213 """Writes the SetHeader function for the immediate version of a cmd.""" |
3214 file.Write(" void SetHeader(uint32 size_in_bytes) {\n") | 3214 file.Write(" void SetHeader(uint32_t size_in_bytes) {\n") |
3215 file.Write(" header.SetCmdByTotalSize<ValueType>(size_in_bytes);\n") | 3215 file.Write(" header.SetCmdByTotalSize<ValueType>(size_in_bytes);\n") |
3216 file.Write(" }\n") | 3216 file.Write(" }\n") |
3217 file.Write("\n") | 3217 file.Write("\n") |
3218 | 3218 |
3219 def WriteImmediateCmdInit(self, func, file): | 3219 def WriteImmediateCmdInit(self, func, file): |
3220 """Writes the Init function for the immediate version of a command.""" | 3220 """Writes the Init function for the immediate version of a command.""" |
3221 raise NotImplementedError(func.name) | 3221 raise NotImplementedError(func.name) |
3222 | 3222 |
3223 def WriteImmediateCmdSet(self, func, file): | 3223 def WriteImmediateCmdSet(self, func, file): |
3224 """Writes the Set function for the immediate version of a command.""" | 3224 """Writes the Set function for the immediate version of a command.""" |
(...skipping 11 matching lines...) Expand all Loading... |
3236 """ | 3236 """ |
3237 file.Write(code % { | 3237 file.Write(code % { |
3238 "name": func.name, | 3238 "name": func.name, |
3239 "typed_args": func.MakeTypedCmdArgString(""), | 3239 "typed_args": func.MakeTypedCmdArgString(""), |
3240 "args": func.MakeCmdArgString(""), | 3240 "args": func.MakeCmdArgString(""), |
3241 }) | 3241 }) |
3242 | 3242 |
3243 def WriteImmediateCmdHelper(self, func, file): | 3243 def WriteImmediateCmdHelper(self, func, file): |
3244 """Writes the cmd helper definition for the immediate version of a cmd.""" | 3244 """Writes the cmd helper definition for the immediate version of a cmd.""" |
3245 code = """ void %(name)s(%(typed_args)s) { | 3245 code = """ void %(name)s(%(typed_args)s) { |
3246 const uint32 s = 0; // TODO(gman): compute correct size | 3246 const uint32_t s = 0; // TODO(gman): compute correct size |
3247 gles2::cmds::%(name)s* c = | 3247 gles2::cmds::%(name)s* c = |
3248 GetImmediateCmdSpaceTotalSize<gles2::cmds::%(name)s>(s); | 3248 GetImmediateCmdSpaceTotalSize<gles2::cmds::%(name)s>(s); |
3249 if (c) { | 3249 if (c) { |
3250 c->Init(%(args)s); | 3250 c->Init(%(args)s); |
3251 } | 3251 } |
3252 } | 3252 } |
3253 | 3253 |
3254 """ | 3254 """ |
3255 file.Write(code % { | 3255 file.Write(code % { |
3256 "name": func.name, | 3256 "name": func.name, |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3481 def WriteServiceUnitTest(self, func, file): | 3481 def WriteServiceUnitTest(self, func, file): |
3482 """Overrriden from TypeHandler.""" | 3482 """Overrriden from TypeHandler.""" |
3483 file.Write("// TODO(gman): %s\n\n" % func.name) | 3483 file.Write("// TODO(gman): %s\n\n" % func.name) |
3484 | 3484 |
3485 def WriteImmediateServiceUnitTest(self, func, file): | 3485 def WriteImmediateServiceUnitTest(self, func, file): |
3486 """Overrriden from TypeHandler.""" | 3486 """Overrriden from TypeHandler.""" |
3487 file.Write("// TODO(gman): %s\n\n" % func.name) | 3487 file.Write("// TODO(gman): %s\n\n" % func.name) |
3488 | 3488 |
3489 def WriteImmediateCmdGetTotalSize(self, func, file): | 3489 def WriteImmediateCmdGetTotalSize(self, func, file): |
3490 """Overrriden from TypeHandler.""" | 3490 """Overrriden from TypeHandler.""" |
3491 file.Write(" uint32 total_size = 0; // TODO(gman): get correct size.\n") | 3491 file.Write( |
| 3492 " uint32_t total_size = 0; // TODO(gman): get correct size.\n") |
3492 | 3493 |
3493 def WriteImmediateCmdInit(self, func, file): | 3494 def WriteImmediateCmdInit(self, func, file): |
3494 """Overrriden from TypeHandler.""" | 3495 """Overrriden from TypeHandler.""" |
3495 file.Write(" void Init(%s) {\n" % func.MakeTypedCmdArgString("_")) | 3496 file.Write(" void Init(%s) {\n" % func.MakeTypedCmdArgString("_")) |
3496 self.WriteImmediateCmdGetTotalSize(func, file) | 3497 self.WriteImmediateCmdGetTotalSize(func, file) |
3497 file.Write(" SetHeader(total_size);\n") | 3498 file.Write(" SetHeader(total_size);\n") |
3498 args = func.GetCmdArgs() | 3499 args = func.GetCmdArgs() |
3499 for arg in args: | 3500 for arg in args: |
3500 file.Write(" %s = _%s;\n" % (arg.name, arg.name)) | 3501 file.Write(" %s = _%s;\n" % (arg.name, arg.name)) |
3501 file.Write(" }\n") | 3502 file.Write(" }\n") |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3542 if func.return_type != "void": | 3543 if func.return_type != "void": |
3543 file.Write(" return 0;\n") | 3544 file.Write(" return 0;\n") |
3544 file.Write("}\n") | 3545 file.Write("}\n") |
3545 file.Write("\n") | 3546 file.Write("\n") |
3546 | 3547 |
3547 def WriteServiceImplementation(self, func, file): | 3548 def WriteServiceImplementation(self, func, file): |
3548 """Overrriden from TypeHandler.""" | 3549 """Overrriden from TypeHandler.""" |
3549 file.Write( | 3550 file.Write( |
3550 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) | 3551 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) |
3551 file.Write( | 3552 file.Write( |
3552 " uint32 immediate_data_size, const gles2::cmds::%s& c) {\n" % | 3553 " uint32_t immediate_data_size, const gles2::cmds::%s& c) {\n" % |
3553 func.name) | 3554 func.name) |
3554 file.Write(" // TODO: for now this is a no-op\n") | 3555 file.Write(" // TODO: for now this is a no-op\n") |
3555 file.Write( | 3556 file.Write( |
3556 " LOCAL_SET_GL_ERROR(" | 3557 " LOCAL_SET_GL_ERROR(" |
3557 "GL_INVALID_OPERATION, \"gl%s\", \"not implemented\");\n" % | 3558 "GL_INVALID_OPERATION, \"gl%s\", \"not implemented\");\n" % |
3558 func.name) | 3559 func.name) |
3559 file.Write(" return error::kNoError;\n") | 3560 file.Write(" return error::kNoError;\n") |
3560 file.Write("}\n") | 3561 file.Write("}\n") |
3561 file.Write("\n") | 3562 file.Write("\n") |
3562 | 3563 |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3695 func.cmd_args = func.cmd_args[:-1] | 3696 func.cmd_args = func.cmd_args[:-1] |
3696 func.AddCmdArg(Argument('bucket_id', 'GLuint')) | 3697 func.AddCmdArg(Argument('bucket_id', 'GLuint')) |
3697 | 3698 |
3698 def WriteGetDataSizeCode(self, func, file): | 3699 def WriteGetDataSizeCode(self, func, file): |
3699 """Overrriden from TypeHandler.""" | 3700 """Overrriden from TypeHandler.""" |
3700 # TODO(gman): Move this data to _FUNCTION_INFO? | 3701 # TODO(gman): Move this data to _FUNCTION_INFO? |
3701 name = func.name | 3702 name = func.name |
3702 if name.endswith("Immediate"): | 3703 if name.endswith("Immediate"): |
3703 name = name[0:-9] | 3704 name = name[0:-9] |
3704 if name == 'BufferData' or name == 'BufferSubData': | 3705 if name == 'BufferData' or name == 'BufferSubData': |
3705 file.Write(" uint32 data_size = size;\n") | 3706 file.Write(" uint32_t data_size = size;\n") |
3706 elif (name == 'CompressedTexImage2D' or | 3707 elif (name == 'CompressedTexImage2D' or |
3707 name == 'CompressedTexSubImage2D'): | 3708 name == 'CompressedTexSubImage2D'): |
3708 file.Write(" uint32 data_size = imageSize;\n") | 3709 file.Write(" uint32_t data_size = imageSize;\n") |
3709 elif (name == 'CompressedTexSubImage2DBucket'): | 3710 elif (name == 'CompressedTexSubImage2DBucket'): |
3710 file.Write(" Bucket* bucket = GetBucket(c.bucket_id);\n") | 3711 file.Write(" Bucket* bucket = GetBucket(c.bucket_id);\n") |
3711 file.Write(" uint32 data_size = bucket->size();\n") | 3712 file.Write(" uint32_t data_size = bucket->size();\n") |
3712 file.Write(" GLsizei imageSize = data_size;\n") | 3713 file.Write(" GLsizei imageSize = data_size;\n") |
3713 elif name == 'TexImage2D' or name == 'TexSubImage2D': | 3714 elif name == 'TexImage2D' or name == 'TexSubImage2D': |
3714 code = """ uint32 data_size; | 3715 code = """ uint32_t data_size; |
3715 if (!GLES2Util::ComputeImageDataSize( | 3716 if (!GLES2Util::ComputeImageDataSize( |
3716 width, height, format, type, unpack_alignment_, &data_size)) { | 3717 width, height, format, type, unpack_alignment_, &data_size)) { |
3717 return error::kOutOfBounds; | 3718 return error::kOutOfBounds; |
3718 } | 3719 } |
3719 """ | 3720 """ |
3720 file.Write(code) | 3721 file.Write(code) |
3721 else: | 3722 else: |
3722 file.Write("// uint32 data_size = 0; // TODO(gman): get correct size!\n") | 3723 file.Write( |
| 3724 "// uint32_t data_size = 0; // TODO(gman): get correct size!\n") |
3723 | 3725 |
3724 def WriteImmediateCmdGetTotalSize(self, func, file): | 3726 def WriteImmediateCmdGetTotalSize(self, func, file): |
3725 """Overrriden from TypeHandler.""" | 3727 """Overrriden from TypeHandler.""" |
3726 pass | 3728 pass |
3727 | 3729 |
3728 def WriteImmediateCmdSizeTest(self, func, file): | 3730 def WriteImmediateCmdSizeTest(self, func, file): |
3729 """Overrriden from TypeHandler.""" | 3731 """Overrriden from TypeHandler.""" |
3730 file.Write(" EXPECT_EQ(sizeof(cmd), total_size);\n") | 3732 file.Write(" EXPECT_EQ(sizeof(cmd), total_size);\n") |
3731 | 3733 |
3732 def WriteImmediateCmdInit(self, func, file): | 3734 def WriteImmediateCmdInit(self, func, file): |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3938 | 3940 |
3939 def __init__(self): | 3941 def __init__(self): |
3940 TypeHandler.__init__(self) | 3942 TypeHandler.__init__(self) |
3941 | 3943 |
3942 def InitFunction(self, func): | 3944 def InitFunction(self, func): |
3943 """Overrriden from TypeHandler.""" | 3945 """Overrriden from TypeHandler.""" |
3944 pass | 3946 pass |
3945 | 3947 |
3946 def WriteGetDataSizeCode(self, func, file): | 3948 def WriteGetDataSizeCode(self, func, file): |
3947 """Overrriden from TypeHandler.""" | 3949 """Overrriden from TypeHandler.""" |
3948 code = """ uint32 data_size; | 3950 code = """ uint32_t data_size; |
3949 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 3951 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
3950 return error::kOutOfBounds; | 3952 return error::kOutOfBounds; |
3951 } | 3953 } |
3952 """ | 3954 """ |
3953 file.Write(code) | 3955 file.Write(code) |
3954 | 3956 |
3955 def WriteHandlerImplementation (self, func, file): | 3957 def WriteHandlerImplementation (self, func, file): |
3956 """Overrriden from TypeHandler.""" | 3958 """Overrriden from TypeHandler.""" |
3957 file.Write(" if (!%sHelper(n, %s)) {\n" | 3959 file.Write(" if (!%sHelper(n, %s)) {\n" |
3958 " return error::kInvalidArguments;\n" | 3960 " return error::kInvalidArguments;\n" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4087 EXPECT_EQ(error::kInvalidArguments, | 4089 EXPECT_EQ(error::kInvalidArguments, |
4088 ExecuteImmediateCmd(*cmd, sizeof(&client_%(resource_name)s_id_))); | 4090 ExecuteImmediateCmd(*cmd, sizeof(&client_%(resource_name)s_id_))); |
4089 } | 4091 } |
4090 """ | 4092 """ |
4091 self.WriteValidUnitTest(func, file, invalid_test, { | 4093 self.WriteValidUnitTest(func, file, invalid_test, { |
4092 'resource_name': func.GetInfo('resource_type').lower(), | 4094 'resource_name': func.GetInfo('resource_type').lower(), |
4093 }) | 4095 }) |
4094 | 4096 |
4095 def WriteImmediateCmdComputeSize(self, func, file): | 4097 def WriteImmediateCmdComputeSize(self, func, file): |
4096 """Overrriden from TypeHandler.""" | 4098 """Overrriden from TypeHandler.""" |
4097 file.Write(" static uint32 ComputeDataSize(GLsizei n) {\n") | 4099 file.Write(" static uint32_t ComputeDataSize(GLsizei n) {\n") |
4098 file.Write( | 4100 file.Write( |
4099 " return static_cast<uint32>(sizeof(GLuint) * n); // NOLINT\n") | 4101 " return static_cast<uint32_t>(sizeof(GLuint) * n); // NOLINT\n") |
4100 file.Write(" }\n") | 4102 file.Write(" }\n") |
4101 file.Write("\n") | 4103 file.Write("\n") |
4102 file.Write(" static uint32 ComputeSize(GLsizei n) {\n") | 4104 file.Write(" static uint32_t ComputeSize(GLsizei n) {\n") |
4103 file.Write(" return static_cast<uint32>(\n") | 4105 file.Write(" return static_cast<uint32_t>(\n") |
4104 file.Write(" sizeof(ValueType) + ComputeDataSize(n)); // NOLINT\n") | 4106 file.Write(" sizeof(ValueType) + ComputeDataSize(n)); // NOLINT\n") |
4105 file.Write(" }\n") | 4107 file.Write(" }\n") |
4106 file.Write("\n") | 4108 file.Write("\n") |
4107 | 4109 |
4108 def WriteImmediateCmdSetHeader(self, func, file): | 4110 def WriteImmediateCmdSetHeader(self, func, file): |
4109 """Overrriden from TypeHandler.""" | 4111 """Overrriden from TypeHandler.""" |
4110 file.Write(" void SetHeader(GLsizei n) {\n") | 4112 file.Write(" void SetHeader(GLsizei n) {\n") |
4111 file.Write(" header.SetCmdByTotalSize<ValueType>(ComputeSize(n));\n") | 4113 file.Write(" header.SetCmdByTotalSize<ValueType>(ComputeSize(n));\n") |
4112 file.Write(" }\n") | 4114 file.Write(" }\n") |
4113 file.Write("\n") | 4115 file.Write("\n") |
(...skipping 15 matching lines...) Expand all Loading... |
4129 | 4131 |
4130 def WriteImmediateCmdSet(self, func, file): | 4132 def WriteImmediateCmdSet(self, func, file): |
4131 """Overrriden from TypeHandler.""" | 4133 """Overrriden from TypeHandler.""" |
4132 last_arg = func.GetLastOriginalArg() | 4134 last_arg = func.GetLastOriginalArg() |
4133 copy_args = func.MakeCmdArgString("_", False) | 4135 copy_args = func.MakeCmdArgString("_", False) |
4134 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" % | 4136 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" % |
4135 (func.MakeTypedCmdArgString("_", True), | 4137 (func.MakeTypedCmdArgString("_", True), |
4136 last_arg.type, last_arg.name)) | 4138 last_arg.type, last_arg.name)) |
4137 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" % | 4139 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" % |
4138 (copy_args, last_arg.name)) | 4140 (copy_args, last_arg.name)) |
4139 file.Write(" const uint32 size = ComputeSize(_n);\n") | 4141 file.Write(" const uint32_t size = ComputeSize(_n);\n") |
4140 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>(" | 4142 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>(" |
4141 "cmd, size);\n") | 4143 "cmd, size);\n") |
4142 file.Write(" }\n") | 4144 file.Write(" }\n") |
4143 file.Write("\n") | 4145 file.Write("\n") |
4144 | 4146 |
4145 def WriteImmediateCmdHelper(self, func, file): | 4147 def WriteImmediateCmdHelper(self, func, file): |
4146 """Overrriden from TypeHandler.""" | 4148 """Overrriden from TypeHandler.""" |
4147 code = """ void %(name)s(%(typed_args)s) { | 4149 code = """ void %(name)s(%(typed_args)s) { |
4148 const uint32 size = gles2::cmds::%(name)s::ComputeSize(n); | 4150 const uint32_t size = gles2::cmds::%(name)s::ComputeSize(n); |
4149 gles2::cmds::%(name)s* c = | 4151 gles2::cmds::%(name)s* c = |
4150 GetImmediateCmdSpaceTotalSize<gles2::cmds::%(name)s>(size); | 4152 GetImmediateCmdSpaceTotalSize<gles2::cmds::%(name)s>(size); |
4151 if (c) { | 4153 if (c) { |
4152 c->Init(%(args)s); | 4154 c->Init(%(args)s); |
4153 } | 4155 } |
4154 } | 4156 } |
4155 | 4157 |
4156 """ | 4158 """ |
4157 file.Write(code % { | 4159 file.Write(code % { |
4158 "name": func.name, | 4160 "name": func.name, |
4159 "typed_args": func.MakeTypedOriginalArgString(""), | 4161 "typed_args": func.MakeTypedOriginalArgString(""), |
4160 "args": func.MakeOriginalArgString(""), | 4162 "args": func.MakeOriginalArgString(""), |
4161 }) | 4163 }) |
4162 | 4164 |
4163 def WriteImmediateFormatTest(self, func, file): | 4165 def WriteImmediateFormatTest(self, func, file): |
4164 """Overrriden from TypeHandler.""" | 4166 """Overrriden from TypeHandler.""" |
4165 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name) | 4167 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name) |
4166 file.Write(" static GLuint ids[] = { 12, 23, 34, };\n") | 4168 file.Write(" static GLuint ids[] = { 12, 23, 34, };\n") |
4167 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" % | 4169 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" % |
4168 (func.name, func.name)) | 4170 (func.name, func.name)) |
4169 file.Write(" void* next_cmd = cmd.Set(\n") | 4171 file.Write(" void* next_cmd = cmd.Set(\n") |
4170 file.Write(" &cmd, static_cast<GLsizei>(arraysize(ids)), ids);\n") | 4172 file.Write(" &cmd, static_cast<GLsizei>(arraysize(ids)), ids);\n") |
4171 file.Write(" EXPECT_EQ(static_cast<uint32>(cmds::%s::kCmdId),\n" % | 4173 file.Write(" EXPECT_EQ(static_cast<uint32_t>(cmds::%s::kCmdId),\n" % |
4172 func.name) | 4174 func.name) |
4173 file.Write(" cmd.header.command);\n") | 4175 file.Write(" cmd.header.command);\n") |
4174 file.Write(" EXPECT_EQ(sizeof(cmd) +\n") | 4176 file.Write(" EXPECT_EQ(sizeof(cmd) +\n") |
4175 file.Write(" RoundSizeToMultipleOfEntries(cmd.n * 4u),\n") | 4177 file.Write(" RoundSizeToMultipleOfEntries(cmd.n * 4u),\n") |
4176 file.Write(" cmd.header.size * 4u);\n") | 4178 file.Write(" cmd.header.size * 4u);\n") |
4177 file.Write(" EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n);\n"); | 4179 file.Write(" EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n);\n"); |
4178 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n") | 4180 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n") |
4179 file.Write(" next_cmd, sizeof(cmd) +\n") | 4181 file.Write(" next_cmd, sizeof(cmd) +\n") |
4180 file.Write(" RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));\n") | 4182 file.Write(" RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));\n") |
4181 file.Write(" // TODO(gman): Check that ids were inserted;\n") | 4183 file.Write(" // TODO(gman): Check that ids were inserted;\n") |
4182 file.Write("}\n") | 4184 file.Write("}\n") |
4183 file.Write("\n") | 4185 file.Write("\n") |
4184 | 4186 |
4185 | 4187 |
4186 class CreateHandler(TypeHandler): | 4188 class CreateHandler(TypeHandler): |
4187 """Handler for glCreate___ type functions.""" | 4189 """Handler for glCreate___ type functions.""" |
4188 | 4190 |
4189 def __init__(self): | 4191 def __init__(self): |
4190 TypeHandler.__init__(self) | 4192 TypeHandler.__init__(self) |
4191 | 4193 |
4192 def InitFunction(self, func): | 4194 def InitFunction(self, func): |
4193 """Overrriden from TypeHandler.""" | 4195 """Overrriden from TypeHandler.""" |
4194 func.AddCmdArg(Argument("client_id", 'uint32')) | 4196 func.AddCmdArg(Argument("client_id", 'uint32_t')) |
4195 | 4197 |
4196 def WriteServiceUnitTest(self, func, file): | 4198 def WriteServiceUnitTest(self, func, file): |
4197 """Overrriden from TypeHandler.""" | 4199 """Overrriden from TypeHandler.""" |
4198 valid_test = """ | 4200 valid_test = """ |
4199 TEST_P(%(test_name)s, %(name)sValidArgs) { | 4201 TEST_P(%(test_name)s, %(name)sValidArgs) { |
4200 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)) | 4202 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)) |
4201 .WillOnce(Return(kNewServiceId)); | 4203 .WillOnce(Return(kNewServiceId)); |
4202 SpecializedSetup<cmds::%(name)s, 0>(true); | 4204 SpecializedSetup<cmds::%(name)s, 0>(true); |
4203 cmds::%(name)s cmd; | 4205 cmds::%(name)s cmd; |
4204 cmd.Init(%(args)s%(comma)skNewClientId); | 4206 cmd.Init(%(args)s%(comma)skNewClientId); |
(...skipping 17 matching lines...) Expand all Loading... |
4222 cmd.Init(%(args)s%(comma)skNewClientId); | 4224 cmd.Init(%(args)s%(comma)skNewClientId); |
4223 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));%(gl_error_test)s | 4225 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));%(gl_error_test)s |
4224 } | 4226 } |
4225 """ | 4227 """ |
4226 self.WriteInvalidUnitTest(func, file, invalid_test, { | 4228 self.WriteInvalidUnitTest(func, file, invalid_test, { |
4227 'comma': comma, | 4229 'comma': comma, |
4228 }) | 4230 }) |
4229 | 4231 |
4230 def WriteHandlerImplementation (self, func, file): | 4232 def WriteHandlerImplementation (self, func, file): |
4231 """Overrriden from TypeHandler.""" | 4233 """Overrriden from TypeHandler.""" |
4232 file.Write(" uint32 client_id = c.client_id;\n") | 4234 file.Write(" uint32_t client_id = c.client_id;\n") |
4233 file.Write(" if (!%sHelper(%s)) {\n" % | 4235 file.Write(" if (!%sHelper(%s)) {\n" % |
4234 (func.name, func.MakeCmdArgString(""))) | 4236 (func.name, func.MakeCmdArgString(""))) |
4235 file.Write(" return error::kInvalidArguments;\n") | 4237 file.Write(" return error::kInvalidArguments;\n") |
4236 file.Write(" }\n") | 4238 file.Write(" }\n") |
4237 | 4239 |
4238 def WriteGLES2Implementation(self, func, file): | 4240 def WriteGLES2Implementation(self, func, file): |
4239 """Overrriden from TypeHandler.""" | 4241 """Overrriden from TypeHandler.""" |
4240 file.Write("%s GLES2Implementation::%s(%s) {\n" % | 4242 file.Write("%s GLES2Implementation::%s(%s) {\n" % |
4241 (func.return_type, func.original_name, | 4243 (func.return_type, func.original_name, |
4242 func.MakeTypedOriginalArgString(""))) | 4244 func.MakeTypedOriginalArgString(""))) |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4288 | 4290 |
4289 | 4291 |
4290 class DELnHandler(TypeHandler): | 4292 class DELnHandler(TypeHandler): |
4291 """Handler for glDelete___ type functions.""" | 4293 """Handler for glDelete___ type functions.""" |
4292 | 4294 |
4293 def __init__(self): | 4295 def __init__(self): |
4294 TypeHandler.__init__(self) | 4296 TypeHandler.__init__(self) |
4295 | 4297 |
4296 def WriteGetDataSizeCode(self, func, file): | 4298 def WriteGetDataSizeCode(self, func, file): |
4297 """Overrriden from TypeHandler.""" | 4299 """Overrriden from TypeHandler.""" |
4298 code = """ uint32 data_size; | 4300 code = """ uint32_t data_size; |
4299 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 4301 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
4300 return error::kOutOfBounds; | 4302 return error::kOutOfBounds; |
4301 } | 4303 } |
4302 """ | 4304 """ |
4303 file.Write(code) | 4305 file.Write(code) |
4304 | 4306 |
4305 def WriteGLES2ImplementationUnitTest(self, func, file): | 4307 def WriteGLES2ImplementationUnitTest(self, func, file): |
4306 """Overrriden from TypeHandler.""" | 4308 """Overrriden from TypeHandler.""" |
4307 code = """ | 4309 code = """ |
4308 TEST_F(GLES2ImplementationTest, %(name)s) { | 4310 TEST_F(GLES2ImplementationTest, %(name)s) { |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4435 arg.WriteClientSideValidationCode(file, func) | 4437 arg.WriteClientSideValidationCode(file, func) |
4436 code = """ %(name)sHelper(%(args)s); | 4438 code = """ %(name)sHelper(%(args)s); |
4437 CheckGLError(); | 4439 CheckGLError(); |
4438 } | 4440 } |
4439 | 4441 |
4440 """ | 4442 """ |
4441 file.Write(code % args) | 4443 file.Write(code % args) |
4442 | 4444 |
4443 def WriteImmediateCmdComputeSize(self, func, file): | 4445 def WriteImmediateCmdComputeSize(self, func, file): |
4444 """Overrriden from TypeHandler.""" | 4446 """Overrriden from TypeHandler.""" |
4445 file.Write(" static uint32 ComputeDataSize(GLsizei n) {\n") | 4447 file.Write(" static uint32_t ComputeDataSize(GLsizei n) {\n") |
4446 file.Write( | 4448 file.Write( |
4447 " return static_cast<uint32>(sizeof(GLuint) * n); // NOLINT\n") | 4449 " return static_cast<uint32_t>(sizeof(GLuint) * n); // NOLINT\n") |
4448 file.Write(" }\n") | 4450 file.Write(" }\n") |
4449 file.Write("\n") | 4451 file.Write("\n") |
4450 file.Write(" static uint32 ComputeSize(GLsizei n) {\n") | 4452 file.Write(" static uint32_t ComputeSize(GLsizei n) {\n") |
4451 file.Write(" return static_cast<uint32>(\n") | 4453 file.Write(" return static_cast<uint32_t>(\n") |
4452 file.Write(" sizeof(ValueType) + ComputeDataSize(n)); // NOLINT\n") | 4454 file.Write(" sizeof(ValueType) + ComputeDataSize(n)); // NOLINT\n") |
4453 file.Write(" }\n") | 4455 file.Write(" }\n") |
4454 file.Write("\n") | 4456 file.Write("\n") |
4455 | 4457 |
4456 def WriteImmediateCmdSetHeader(self, func, file): | 4458 def WriteImmediateCmdSetHeader(self, func, file): |
4457 """Overrriden from TypeHandler.""" | 4459 """Overrriden from TypeHandler.""" |
4458 file.Write(" void SetHeader(GLsizei n) {\n") | 4460 file.Write(" void SetHeader(GLsizei n) {\n") |
4459 file.Write(" header.SetCmdByTotalSize<ValueType>(ComputeSize(n));\n") | 4461 file.Write(" header.SetCmdByTotalSize<ValueType>(ComputeSize(n));\n") |
4460 file.Write(" }\n") | 4462 file.Write(" }\n") |
4461 file.Write("\n") | 4463 file.Write("\n") |
(...skipping 15 matching lines...) Expand all Loading... |
4477 | 4479 |
4478 def WriteImmediateCmdSet(self, func, file): | 4480 def WriteImmediateCmdSet(self, func, file): |
4479 """Overrriden from TypeHandler.""" | 4481 """Overrriden from TypeHandler.""" |
4480 last_arg = func.GetLastOriginalArg() | 4482 last_arg = func.GetLastOriginalArg() |
4481 copy_args = func.MakeCmdArgString("_", False) | 4483 copy_args = func.MakeCmdArgString("_", False) |
4482 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" % | 4484 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" % |
4483 (func.MakeTypedCmdArgString("_", True), | 4485 (func.MakeTypedCmdArgString("_", True), |
4484 last_arg.type, last_arg.name)) | 4486 last_arg.type, last_arg.name)) |
4485 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" % | 4487 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" % |
4486 (copy_args, last_arg.name)) | 4488 (copy_args, last_arg.name)) |
4487 file.Write(" const uint32 size = ComputeSize(_n);\n") | 4489 file.Write(" const uint32_t size = ComputeSize(_n);\n") |
4488 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>(" | 4490 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>(" |
4489 "cmd, size);\n") | 4491 "cmd, size);\n") |
4490 file.Write(" }\n") | 4492 file.Write(" }\n") |
4491 file.Write("\n") | 4493 file.Write("\n") |
4492 | 4494 |
4493 def WriteImmediateCmdHelper(self, func, file): | 4495 def WriteImmediateCmdHelper(self, func, file): |
4494 """Overrriden from TypeHandler.""" | 4496 """Overrriden from TypeHandler.""" |
4495 code = """ void %(name)s(%(typed_args)s) { | 4497 code = """ void %(name)s(%(typed_args)s) { |
4496 const uint32 size = gles2::cmds::%(name)s::ComputeSize(n); | 4498 const uint32_t size = gles2::cmds::%(name)s::ComputeSize(n); |
4497 gles2::cmds::%(name)s* c = | 4499 gles2::cmds::%(name)s* c = |
4498 GetImmediateCmdSpaceTotalSize<gles2::cmds::%(name)s>(size); | 4500 GetImmediateCmdSpaceTotalSize<gles2::cmds::%(name)s>(size); |
4499 if (c) { | 4501 if (c) { |
4500 c->Init(%(args)s); | 4502 c->Init(%(args)s); |
4501 } | 4503 } |
4502 } | 4504 } |
4503 | 4505 |
4504 """ | 4506 """ |
4505 file.Write(code % { | 4507 file.Write(code % { |
4506 "name": func.name, | 4508 "name": func.name, |
4507 "typed_args": func.MakeTypedOriginalArgString(""), | 4509 "typed_args": func.MakeTypedOriginalArgString(""), |
4508 "args": func.MakeOriginalArgString(""), | 4510 "args": func.MakeOriginalArgString(""), |
4509 }) | 4511 }) |
4510 | 4512 |
4511 def WriteImmediateFormatTest(self, func, file): | 4513 def WriteImmediateFormatTest(self, func, file): |
4512 """Overrriden from TypeHandler.""" | 4514 """Overrriden from TypeHandler.""" |
4513 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name) | 4515 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name) |
4514 file.Write(" static GLuint ids[] = { 12, 23, 34, };\n") | 4516 file.Write(" static GLuint ids[] = { 12, 23, 34, };\n") |
4515 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" % | 4517 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" % |
4516 (func.name, func.name)) | 4518 (func.name, func.name)) |
4517 file.Write(" void* next_cmd = cmd.Set(\n") | 4519 file.Write(" void* next_cmd = cmd.Set(\n") |
4518 file.Write(" &cmd, static_cast<GLsizei>(arraysize(ids)), ids);\n") | 4520 file.Write(" &cmd, static_cast<GLsizei>(arraysize(ids)), ids);\n") |
4519 file.Write(" EXPECT_EQ(static_cast<uint32>(cmds::%s::kCmdId),\n" % | 4521 file.Write(" EXPECT_EQ(static_cast<uint32_t>(cmds::%s::kCmdId),\n" % |
4520 func.name) | 4522 func.name) |
4521 file.Write(" cmd.header.command);\n") | 4523 file.Write(" cmd.header.command);\n") |
4522 file.Write(" EXPECT_EQ(sizeof(cmd) +\n") | 4524 file.Write(" EXPECT_EQ(sizeof(cmd) +\n") |
4523 file.Write(" RoundSizeToMultipleOfEntries(cmd.n * 4u),\n") | 4525 file.Write(" RoundSizeToMultipleOfEntries(cmd.n * 4u),\n") |
4524 file.Write(" cmd.header.size * 4u);\n") | 4526 file.Write(" cmd.header.size * 4u);\n") |
4525 file.Write(" EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n);\n"); | 4527 file.Write(" EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n);\n"); |
4526 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n") | 4528 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n") |
4527 file.Write(" next_cmd, sizeof(cmd) +\n") | 4529 file.Write(" next_cmd, sizeof(cmd) +\n") |
4528 file.Write(" RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));\n") | 4530 file.Write(" RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));\n") |
4529 file.Write(" // TODO(gman): Check that ids were inserted;\n") | 4531 file.Write(" // TODO(gman): Check that ids were inserted;\n") |
4530 file.Write("}\n") | 4532 file.Write("}\n") |
4531 file.Write("\n") | 4533 file.Write("\n") |
4532 | 4534 |
4533 | 4535 |
4534 class GETnHandler(TypeHandler): | 4536 class GETnHandler(TypeHandler): |
4535 """Handler for GETn for glGetBooleanv, glGetFloatv, ... type functions.""" | 4537 """Handler for GETn for glGetBooleanv, glGetFloatv, ... type functions.""" |
4536 | 4538 |
4537 def __init__(self): | 4539 def __init__(self): |
4538 TypeHandler.__init__(self) | 4540 TypeHandler.__init__(self) |
4539 | 4541 |
4540 def AddImmediateFunction(self, generator, func): | 4542 def AddImmediateFunction(self, generator, func): |
4541 """Overrriden from TypeHandler.""" | 4543 """Overrriden from TypeHandler.""" |
4542 pass | 4544 pass |
4543 | 4545 |
4544 def WriteServiceImplementation(self, func, file): | 4546 def WriteServiceImplementation(self, func, file): |
4545 """Overrriden from TypeHandler.""" | 4547 """Overrriden from TypeHandler.""" |
4546 file.Write( | 4548 file.Write( |
4547 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) | 4549 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) |
4548 file.Write( | 4550 file.Write( |
4549 " uint32 immediate_data_size, const gles2::cmds::%s& c) {\n" % | 4551 " uint32_t immediate_data_size, const gles2::cmds::%s& c) {\n" % |
4550 func.name) | 4552 func.name) |
4551 last_arg = func.GetLastOriginalArg() | 4553 last_arg = func.GetLastOriginalArg() |
4552 | 4554 |
4553 all_but_last_args = func.GetOriginalArgs()[:-1] | 4555 all_but_last_args = func.GetOriginalArgs()[:-1] |
4554 for arg in all_but_last_args: | 4556 for arg in all_but_last_args: |
4555 arg.WriteGetCode(file) | 4557 arg.WriteGetCode(file) |
4556 | 4558 |
4557 code = """ typedef cmds::%(func_name)s::Result Result; | 4559 code = """ typedef cmds::%(func_name)s::Result Result; |
4558 GLsizei num_values = 0; | 4560 GLsizei num_values = 0; |
4559 GetNumValuesReturnedForGLGet(pname, &num_values); | 4561 GetNumValuesReturnedForGLGet(pname, &num_values); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4619 Result* result = GetResultAs<Result*>(); | 4621 Result* result = GetResultAs<Result*>(); |
4620 if (!result) { | 4622 if (!result) { |
4621 return; | 4623 return; |
4622 } | 4624 } |
4623 result->SetNumResults(0); | 4625 result->SetNumResults(0); |
4624 helper_->%(func_name)s(%(arg_string)s, | 4626 helper_->%(func_name)s(%(arg_string)s, |
4625 GetResultShmId(), GetResultShmOffset()); | 4627 GetResultShmId(), GetResultShmOffset()); |
4626 WaitForCmd(); | 4628 WaitForCmd(); |
4627 result->CopyResult(params); | 4629 result->CopyResult(params); |
4628 GPU_CLIENT_LOG_CODE_BLOCK({ | 4630 GPU_CLIENT_LOG_CODE_BLOCK({ |
4629 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 4631 for (int32_t i = 0; i < result->GetNumResults(); ++i) { |
4630 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 4632 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
4631 } | 4633 } |
4632 }); | 4634 }); |
4633 CheckGLError(); | 4635 CheckGLError(); |
4634 } | 4636 } |
4635 """ | 4637 """ |
4636 file.Write(code % { | 4638 file.Write(code % { |
4637 'func_name': func.name, | 4639 'func_name': func.name, |
4638 'arg_string': arg_string, | 4640 'arg_string': arg_string, |
4639 'all_arg_string': all_arg_string, | 4641 'all_arg_string': all_arg_string, |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4814 %(data_type)s temp[%(data_count)s] = { %(data_value)s, }; | 4816 %(data_type)s temp[%(data_count)s] = { %(data_value)s, }; |
4815 cmd.Init(%(all_but_last_args)s, &temp[0]); | 4817 cmd.Init(%(all_but_last_args)s, &temp[0]); |
4816 EXPECT_EQ(error::%(parse_result)s, | 4818 EXPECT_EQ(error::%(parse_result)s, |
4817 ExecuteImmediateCmd(cmd, sizeof(temp)));%(gl_error_test)s | 4819 ExecuteImmediateCmd(cmd, sizeof(temp)));%(gl_error_test)s |
4818 } | 4820 } |
4819 """ | 4821 """ |
4820 self.WriteInvalidUnitTest(func, file, invalid_test, extra) | 4822 self.WriteInvalidUnitTest(func, file, invalid_test, extra) |
4821 | 4823 |
4822 def WriteGetDataSizeCode(self, func, file): | 4824 def WriteGetDataSizeCode(self, func, file): |
4823 """Overrriden from TypeHandler.""" | 4825 """Overrriden from TypeHandler.""" |
4824 code = """ uint32 data_size; | 4826 code = """ uint32_t data_size; |
4825 if (!ComputeDataSize(1, sizeof(%s), %d, &data_size)) { | 4827 if (!ComputeDataSize(1, sizeof(%s), %d, &data_size)) { |
4826 return error::kOutOfBounds; | 4828 return error::kOutOfBounds; |
4827 } | 4829 } |
4828 """ | 4830 """ |
4829 file.Write(code % (func.info.data_type, func.info.count)) | 4831 file.Write(code % (func.info.data_type, func.info.count)) |
4830 if func.is_immediate: | 4832 if func.is_immediate: |
4831 file.Write(" if (data_size > immediate_data_size) {\n") | 4833 file.Write(" if (data_size > immediate_data_size) {\n") |
4832 file.Write(" return error::kOutOfBounds;\n") | 4834 file.Write(" return error::kOutOfBounds;\n") |
4833 file.Write(" }\n") | 4835 file.Write(" }\n") |
4834 | 4836 |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4886 file.Write(code % { | 4888 file.Write(code % { |
4887 'name': func.name, | 4889 'name': func.name, |
4888 'type': func.GetInfo('data_type'), | 4890 'type': func.GetInfo('data_type'), |
4889 'count': func.GetInfo('count'), | 4891 'count': func.GetInfo('count'), |
4890 'args': ", ".join(gl_arg_strings), | 4892 'args': ", ".join(gl_arg_strings), |
4891 'cmd_args': ", ".join(cmd_arg_strings), | 4893 'cmd_args': ", ".join(cmd_arg_strings), |
4892 }) | 4894 }) |
4893 | 4895 |
4894 def WriteImmediateCmdComputeSize(self, func, file): | 4896 def WriteImmediateCmdComputeSize(self, func, file): |
4895 """Overrriden from TypeHandler.""" | 4897 """Overrriden from TypeHandler.""" |
4896 file.Write(" static uint32 ComputeDataSize() {\n") | 4898 file.Write(" static uint32_t ComputeDataSize() {\n") |
4897 file.Write(" return static_cast<uint32>(\n") | 4899 file.Write(" return static_cast<uint32_t>(\n") |
4898 file.Write(" sizeof(%s) * %d); // NOLINT\n" % | 4900 file.Write(" sizeof(%s) * %d); // NOLINT\n" % |
4899 (func.info.data_type, func.info.count)) | 4901 (func.info.data_type, func.info.count)) |
4900 file.Write(" }\n") | 4902 file.Write(" }\n") |
4901 file.Write("\n") | 4903 file.Write("\n") |
4902 file.Write(" static uint32 ComputeSize() {\n") | 4904 file.Write(" static uint32_t ComputeSize() {\n") |
4903 file.Write(" return static_cast<uint32>(\n") | 4905 file.Write(" return static_cast<uint32_t>(\n") |
4904 file.Write( | 4906 file.Write( |
4905 " sizeof(ValueType) + ComputeDataSize()); // NOLINT\n") | 4907 " sizeof(ValueType) + ComputeDataSize()); // NOLINT\n") |
4906 file.Write(" }\n") | 4908 file.Write(" }\n") |
4907 file.Write("\n") | 4909 file.Write("\n") |
4908 | 4910 |
4909 def WriteImmediateCmdSetHeader(self, func, file): | 4911 def WriteImmediateCmdSetHeader(self, func, file): |
4910 """Overrriden from TypeHandler.""" | 4912 """Overrriden from TypeHandler.""" |
4911 file.Write(" void SetHeader() {\n") | 4913 file.Write(" void SetHeader() {\n") |
4912 file.Write( | 4914 file.Write( |
4913 " header.SetCmdByTotalSize<ValueType>(ComputeSize());\n") | 4915 " header.SetCmdByTotalSize<ValueType>(ComputeSize());\n") |
(...skipping 17 matching lines...) Expand all Loading... |
4931 | 4933 |
4932 def WriteImmediateCmdSet(self, func, file): | 4934 def WriteImmediateCmdSet(self, func, file): |
4933 """Overrriden from TypeHandler.""" | 4935 """Overrriden from TypeHandler.""" |
4934 last_arg = func.GetLastOriginalArg() | 4936 last_arg = func.GetLastOriginalArg() |
4935 copy_args = func.MakeCmdArgString("_", False) | 4937 copy_args = func.MakeCmdArgString("_", False) |
4936 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" % | 4938 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" % |
4937 (func.MakeTypedCmdArgString("_", True), | 4939 (func.MakeTypedCmdArgString("_", True), |
4938 last_arg.type, last_arg.name)) | 4940 last_arg.type, last_arg.name)) |
4939 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" % | 4941 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" % |
4940 (copy_args, last_arg.name)) | 4942 (copy_args, last_arg.name)) |
4941 file.Write(" const uint32 size = ComputeSize();\n") | 4943 file.Write(" const uint32_t size = ComputeSize();\n") |
4942 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>(" | 4944 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>(" |
4943 "cmd, size);\n") | 4945 "cmd, size);\n") |
4944 file.Write(" }\n") | 4946 file.Write(" }\n") |
4945 file.Write("\n") | 4947 file.Write("\n") |
4946 | 4948 |
4947 def WriteImmediateCmdHelper(self, func, file): | 4949 def WriteImmediateCmdHelper(self, func, file): |
4948 """Overrriden from TypeHandler.""" | 4950 """Overrriden from TypeHandler.""" |
4949 code = """ void %(name)s(%(typed_args)s) { | 4951 code = """ void %(name)s(%(typed_args)s) { |
4950 const uint32 size = gles2::cmds::%(name)s::ComputeSize(); | 4952 const uint32_t size = gles2::cmds::%(name)s::ComputeSize(); |
4951 gles2::cmds::%(name)s* c = | 4953 gles2::cmds::%(name)s* c = |
4952 GetImmediateCmdSpaceTotalSize<gles2::cmds::%(name)s>(size); | 4954 GetImmediateCmdSpaceTotalSize<gles2::cmds::%(name)s>(size); |
4953 if (c) { | 4955 if (c) { |
4954 c->Init(%(args)s); | 4956 c->Init(%(args)s); |
4955 } | 4957 } |
4956 } | 4958 } |
4957 | 4959 |
4958 """ | 4960 """ |
4959 file.Write(code % { | 4961 file.Write(code % { |
4960 "name": func.name, | 4962 "name": func.name, |
(...skipping 12 matching lines...) Expand all Loading... |
4973 file.Write(" };\n") | 4975 file.Write(" };\n") |
4974 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" % | 4976 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" % |
4975 (func.name, func.name)) | 4977 (func.name, func.name)) |
4976 file.Write(" void* next_cmd = cmd.Set(\n") | 4978 file.Write(" void* next_cmd = cmd.Set(\n") |
4977 file.Write(" &cmd") | 4979 file.Write(" &cmd") |
4978 args = func.GetCmdArgs() | 4980 args = func.GetCmdArgs() |
4979 for value, arg in enumerate(args): | 4981 for value, arg in enumerate(args): |
4980 file.Write(",\n static_cast<%s>(%d)" % (arg.type, value + 11)) | 4982 file.Write(",\n static_cast<%s>(%d)" % (arg.type, value + 11)) |
4981 file.Write(",\n data);\n") | 4983 file.Write(",\n data);\n") |
4982 args = func.GetCmdArgs() | 4984 args = func.GetCmdArgs() |
4983 file.Write(" EXPECT_EQ(static_cast<uint32>(cmds::%s::kCmdId),\n" | 4985 file.Write(" EXPECT_EQ(static_cast<uint32_t>(cmds::%s::kCmdId),\n" |
4984 % func.name) | 4986 % func.name) |
4985 file.Write(" cmd.header.command);\n") | 4987 file.Write(" cmd.header.command);\n") |
4986 file.Write(" EXPECT_EQ(sizeof(cmd) +\n") | 4988 file.Write(" EXPECT_EQ(sizeof(cmd) +\n") |
4987 file.Write(" RoundSizeToMultipleOfEntries(sizeof(data)),\n") | 4989 file.Write(" RoundSizeToMultipleOfEntries(sizeof(data)),\n") |
4988 file.Write(" cmd.header.size * 4u);\n") | 4990 file.Write(" cmd.header.size * 4u);\n") |
4989 for value, arg in enumerate(args): | 4991 for value, arg in enumerate(args): |
4990 file.Write(" EXPECT_EQ(static_cast<%s>(%d), cmd.%s);\n" % | 4992 file.Write(" EXPECT_EQ(static_cast<%s>(%d), cmd.%s);\n" % |
4991 (arg.type, value + 11, arg.name)) | 4993 (arg.type, value + 11, arg.name)) |
4992 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n") | 4994 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n") |
4993 file.Write(" next_cmd, sizeof(cmd) +\n") | 4995 file.Write(" next_cmd, sizeof(cmd) +\n") |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5081 %(data_type)s temp[%(data_count)s * 2] = { 0, }; | 5083 %(data_type)s temp[%(data_count)s * 2] = { 0, }; |
5082 cmd.Init(%(all_but_last_args)s, &temp[0]); | 5084 cmd.Init(%(all_but_last_args)s, &temp[0]); |
5083 EXPECT_EQ(error::%(parse_result)s, | 5085 EXPECT_EQ(error::%(parse_result)s, |
5084 ExecuteImmediateCmd(cmd, sizeof(temp)));%(gl_error_test)s | 5086 ExecuteImmediateCmd(cmd, sizeof(temp)));%(gl_error_test)s |
5085 } | 5087 } |
5086 """ | 5088 """ |
5087 self.WriteInvalidUnitTest(func, file, invalid_test, extra) | 5089 self.WriteInvalidUnitTest(func, file, invalid_test, extra) |
5088 | 5090 |
5089 def WriteGetDataSizeCode(self, func, file): | 5091 def WriteGetDataSizeCode(self, func, file): |
5090 """Overrriden from TypeHandler.""" | 5092 """Overrriden from TypeHandler.""" |
5091 code = """ uint32 data_size; | 5093 code = """ uint32_t data_size; |
5092 if (!ComputeDataSize(count, sizeof(%s), %d, &data_size)) { | 5094 if (!ComputeDataSize(count, sizeof(%s), %d, &data_size)) { |
5093 return error::kOutOfBounds; | 5095 return error::kOutOfBounds; |
5094 } | 5096 } |
5095 """ | 5097 """ |
5096 file.Write(code % (func.info.data_type, func.info.count)) | 5098 file.Write(code % (func.info.data_type, func.info.count)) |
5097 if func.is_immediate: | 5099 if func.is_immediate: |
5098 file.Write(" if (data_size > immediate_data_size) {\n") | 5100 file.Write(" if (data_size > immediate_data_size) {\n") |
5099 file.Write(" return error::kOutOfBounds;\n") | 5101 file.Write(" return error::kOutOfBounds;\n") |
5100 file.Write(" }\n") | 5102 file.Write(" }\n") |
5101 | 5103 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5159 'name': func.name, | 5161 'name': func.name, |
5160 'type': func.GetInfo('data_type'), | 5162 'type': func.GetInfo('data_type'), |
5161 'count': func.GetInfo('count'), | 5163 'count': func.GetInfo('count'), |
5162 'args': ", ".join(gl_arg_strings), | 5164 'args': ", ".join(gl_arg_strings), |
5163 'cmd_args': ", ".join(cmd_arg_strings), | 5165 'cmd_args': ", ".join(cmd_arg_strings), |
5164 'count_param': count_param, | 5166 'count_param': count_param, |
5165 }) | 5167 }) |
5166 | 5168 |
5167 def WriteImmediateCmdComputeSize(self, func, file): | 5169 def WriteImmediateCmdComputeSize(self, func, file): |
5168 """Overrriden from TypeHandler.""" | 5170 """Overrriden from TypeHandler.""" |
5169 file.Write(" static uint32 ComputeDataSize(GLsizei count) {\n") | 5171 file.Write(" static uint32_t ComputeDataSize(GLsizei count) {\n") |
5170 file.Write(" return static_cast<uint32>(\n") | 5172 file.Write(" return static_cast<uint32_t>(\n") |
5171 file.Write(" sizeof(%s) * %d * count); // NOLINT\n" % | 5173 file.Write(" sizeof(%s) * %d * count); // NOLINT\n" % |
5172 (func.info.data_type, func.info.count)) | 5174 (func.info.data_type, func.info.count)) |
5173 file.Write(" }\n") | 5175 file.Write(" }\n") |
5174 file.Write("\n") | 5176 file.Write("\n") |
5175 file.Write(" static uint32 ComputeSize(GLsizei count) {\n") | 5177 file.Write(" static uint32_t ComputeSize(GLsizei count) {\n") |
5176 file.Write(" return static_cast<uint32>(\n") | 5178 file.Write(" return static_cast<uint32_t>(\n") |
5177 file.Write( | 5179 file.Write( |
5178 " sizeof(ValueType) + ComputeDataSize(count)); // NOLINT\n") | 5180 " sizeof(ValueType) + ComputeDataSize(count)); // NOLINT\n") |
5179 file.Write(" }\n") | 5181 file.Write(" }\n") |
5180 file.Write("\n") | 5182 file.Write("\n") |
5181 | 5183 |
5182 def WriteImmediateCmdSetHeader(self, func, file): | 5184 def WriteImmediateCmdSetHeader(self, func, file): |
5183 """Overrriden from TypeHandler.""" | 5185 """Overrriden from TypeHandler.""" |
5184 file.Write(" void SetHeader(GLsizei count) {\n") | 5186 file.Write(" void SetHeader(GLsizei count) {\n") |
5185 file.Write( | 5187 file.Write( |
5186 " header.SetCmdByTotalSize<ValueType>(ComputeSize(count));\n") | 5188 " header.SetCmdByTotalSize<ValueType>(ComputeSize(count));\n") |
(...skipping 17 matching lines...) Expand all Loading... |
5204 | 5206 |
5205 def WriteImmediateCmdSet(self, func, file): | 5207 def WriteImmediateCmdSet(self, func, file): |
5206 """Overrriden from TypeHandler.""" | 5208 """Overrriden from TypeHandler.""" |
5207 last_arg = func.GetLastOriginalArg() | 5209 last_arg = func.GetLastOriginalArg() |
5208 copy_args = func.MakeCmdArgString("_", False) | 5210 copy_args = func.MakeCmdArgString("_", False) |
5209 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" % | 5211 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" % |
5210 (func.MakeTypedCmdArgString("_", True), | 5212 (func.MakeTypedCmdArgString("_", True), |
5211 last_arg.type, last_arg.name)) | 5213 last_arg.type, last_arg.name)) |
5212 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" % | 5214 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" % |
5213 (copy_args, last_arg.name)) | 5215 (copy_args, last_arg.name)) |
5214 file.Write(" const uint32 size = ComputeSize(_count);\n") | 5216 file.Write(" const uint32_t size = ComputeSize(_count);\n") |
5215 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>(" | 5217 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>(" |
5216 "cmd, size);\n") | 5218 "cmd, size);\n") |
5217 file.Write(" }\n") | 5219 file.Write(" }\n") |
5218 file.Write("\n") | 5220 file.Write("\n") |
5219 | 5221 |
5220 def WriteImmediateCmdHelper(self, func, file): | 5222 def WriteImmediateCmdHelper(self, func, file): |
5221 """Overrriden from TypeHandler.""" | 5223 """Overrriden from TypeHandler.""" |
5222 code = """ void %(name)s(%(typed_args)s) { | 5224 code = """ void %(name)s(%(typed_args)s) { |
5223 const uint32 size = gles2::cmds::%(name)s::ComputeSize(count); | 5225 const uint32_t size = gles2::cmds::%(name)s::ComputeSize(count); |
5224 gles2::cmds::%(name)s* c = | 5226 gles2::cmds::%(name)s* c = |
5225 GetImmediateCmdSpaceTotalSize<gles2::cmds::%(name)s>(size); | 5227 GetImmediateCmdSpaceTotalSize<gles2::cmds::%(name)s>(size); |
5226 if (c) { | 5228 if (c) { |
5227 c->Init(%(args)s); | 5229 c->Init(%(args)s); |
5228 } | 5230 } |
5229 } | 5231 } |
5230 | 5232 |
5231 """ | 5233 """ |
5232 file.Write(code % { | 5234 file.Write(code % { |
5233 "name": func.name, | 5235 "name": func.name, |
(...skipping 19 matching lines...) Expand all Loading... |
5253 (func.name, func.name)) | 5255 (func.name, func.name)) |
5254 file.Write(" const GLsizei kNumElements = %d;\n" % count_param) | 5256 file.Write(" const GLsizei kNumElements = %d;\n" % count_param) |
5255 file.Write(" const size_t kExpectedCmdSize =\n") | 5257 file.Write(" const size_t kExpectedCmdSize =\n") |
5256 file.Write(" sizeof(cmd) + kNumElements * sizeof(%s) * %d;\n" % | 5258 file.Write(" sizeof(cmd) + kNumElements * sizeof(%s) * %d;\n" % |
5257 (func.info.data_type, func.info.count)) | 5259 (func.info.data_type, func.info.count)) |
5258 file.Write(" void* next_cmd = cmd.Set(\n") | 5260 file.Write(" void* next_cmd = cmd.Set(\n") |
5259 file.Write(" &cmd") | 5261 file.Write(" &cmd") |
5260 for value, arg in enumerate(args): | 5262 for value, arg in enumerate(args): |
5261 file.Write(",\n static_cast<%s>(%d)" % (arg.type, value + 1)) | 5263 file.Write(",\n static_cast<%s>(%d)" % (arg.type, value + 1)) |
5262 file.Write(",\n data);\n") | 5264 file.Write(",\n data);\n") |
5263 file.Write(" EXPECT_EQ(static_cast<uint32>(cmds::%s::kCmdId),\n" % | 5265 file.Write(" EXPECT_EQ(static_cast<uint32_t>(cmds::%s::kCmdId),\n" % |
5264 func.name) | 5266 func.name) |
5265 file.Write(" cmd.header.command);\n") | 5267 file.Write(" cmd.header.command);\n") |
5266 file.Write(" EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u);\n") | 5268 file.Write(" EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u);\n") |
5267 for value, arg in enumerate(args): | 5269 for value, arg in enumerate(args): |
5268 file.Write(" EXPECT_EQ(static_cast<%s>(%d), cmd.%s);\n" % | 5270 file.Write(" EXPECT_EQ(static_cast<%s>(%d), cmd.%s);\n" % |
5269 (arg.type, value + 1, arg.name)) | 5271 (arg.type, value + 1, arg.name)) |
5270 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n") | 5272 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n") |
5271 file.Write(" next_cmd, sizeof(cmd) +\n") | 5273 file.Write(" next_cmd, sizeof(cmd) +\n") |
5272 file.Write(" RoundSizeToMultipleOfEntries(sizeof(data)));\n") | 5274 file.Write(" RoundSizeToMultipleOfEntries(sizeof(data)));\n") |
5273 file.Write(" // TODO(gman): Check that data was inserted;\n") | 5275 file.Write(" // TODO(gman): Check that data was inserted;\n") |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5337 | 5339 |
5338 | 5340 |
5339 class GLcharHandler(CustomHandler): | 5341 class GLcharHandler(CustomHandler): |
5340 """Handler for functions that pass a single string .""" | 5342 """Handler for functions that pass a single string .""" |
5341 | 5343 |
5342 def __init__(self): | 5344 def __init__(self): |
5343 CustomHandler.__init__(self) | 5345 CustomHandler.__init__(self) |
5344 | 5346 |
5345 def WriteImmediateCmdComputeSize(self, func, file): | 5347 def WriteImmediateCmdComputeSize(self, func, file): |
5346 """Overrriden from TypeHandler.""" | 5348 """Overrriden from TypeHandler.""" |
5347 file.Write(" static uint32 ComputeSize(uint32 data_size) {\n") | 5349 file.Write(" static uint32_t ComputeSize(uint32_t data_size) {\n") |
5348 file.Write(" return static_cast<uint32>(\n") | 5350 file.Write(" return static_cast<uint32_t>(\n") |
5349 file.Write(" sizeof(ValueType) + data_size); // NOLINT\n") | 5351 file.Write(" sizeof(ValueType) + data_size); // NOLINT\n") |
5350 file.Write(" }\n") | 5352 file.Write(" }\n") |
5351 | 5353 |
5352 def WriteImmediateCmdSetHeader(self, func, file): | 5354 def WriteImmediateCmdSetHeader(self, func, file): |
5353 """Overrriden from TypeHandler.""" | 5355 """Overrriden from TypeHandler.""" |
5354 code = """ | 5356 code = """ |
5355 void SetHeader(uint32 data_size) { | 5357 void SetHeader(uint32_t data_size) { |
5356 header.SetCmdBySize<ValueType>(data_size); | 5358 header.SetCmdBySize<ValueType>(data_size); |
5357 } | 5359 } |
5358 """ | 5360 """ |
5359 file.Write(code) | 5361 file.Write(code) |
5360 | 5362 |
5361 def WriteImmediateCmdInit(self, func, file): | 5363 def WriteImmediateCmdInit(self, func, file): |
5362 """Overrriden from TypeHandler.""" | 5364 """Overrriden from TypeHandler.""" |
5363 last_arg = func.GetLastOriginalArg() | 5365 last_arg = func.GetLastOriginalArg() |
5364 args = func.GetCmdArgs() | 5366 args = func.GetCmdArgs() |
5365 set_code = [] | 5367 set_code = [] |
5366 for arg in args: | 5368 for arg in args: |
5367 set_code.append(" %s = _%s;" % (arg.name, arg.name)) | 5369 set_code.append(" %s = _%s;" % (arg.name, arg.name)) |
5368 code = """ | 5370 code = """ |
5369 void Init(%(typed_args)s, uint32 _data_size) { | 5371 void Init(%(typed_args)s, uint32_t _data_size) { |
5370 SetHeader(_data_size); | 5372 SetHeader(_data_size); |
5371 %(set_code)s | 5373 %(set_code)s |
5372 memcpy(ImmediateDataAddress(this), _%(last_arg)s, _data_size); | 5374 memcpy(ImmediateDataAddress(this), _%(last_arg)s, _data_size); |
5373 } | 5375 } |
5374 | 5376 |
5375 """ | 5377 """ |
5376 file.Write(code % { | 5378 file.Write(code % { |
5377 "typed_args": func.MakeTypedOriginalArgString("_"), | 5379 "typed_args": func.MakeTypedOriginalArgString("_"), |
5378 "set_code": "\n".join(set_code), | 5380 "set_code": "\n".join(set_code), |
5379 "last_arg": last_arg.name | 5381 "last_arg": last_arg.name |
5380 }) | 5382 }) |
5381 | 5383 |
5382 def WriteImmediateCmdSet(self, func, file): | 5384 def WriteImmediateCmdSet(self, func, file): |
5383 """Overrriden from TypeHandler.""" | 5385 """Overrriden from TypeHandler.""" |
5384 last_arg = func.GetLastOriginalArg() | 5386 last_arg = func.GetLastOriginalArg() |
5385 file.Write(" void* Set(void* cmd%s, uint32 _data_size) {\n" % | 5387 file.Write(" void* Set(void* cmd%s, uint32_t _data_size) {\n" % |
5386 func.MakeTypedOriginalArgString("_", True)) | 5388 func.MakeTypedOriginalArgString("_", True)) |
5387 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _data_size);\n" % | 5389 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _data_size);\n" % |
5388 func.MakeOriginalArgString("_")) | 5390 func.MakeOriginalArgString("_")) |
5389 file.Write(" return NextImmediateCmdAddress<ValueType>(" | 5391 file.Write(" return NextImmediateCmdAddress<ValueType>(" |
5390 "cmd, _data_size);\n") | 5392 "cmd, _data_size);\n") |
5391 file.Write(" }\n") | 5393 file.Write(" }\n") |
5392 file.Write("\n") | 5394 file.Write("\n") |
5393 | 5395 |
5394 def WriteImmediateCmdHelper(self, func, file): | 5396 def WriteImmediateCmdHelper(self, func, file): |
5395 """Overrriden from TypeHandler.""" | 5397 """Overrriden from TypeHandler.""" |
5396 code = """ void %(name)s(%(typed_args)s) { | 5398 code = """ void %(name)s(%(typed_args)s) { |
5397 const uint32 data_size = strlen(name); | 5399 const uint32_t data_size = strlen(name); |
5398 gles2::cmds::%(name)s* c = | 5400 gles2::cmds::%(name)s* c = |
5399 GetImmediateCmdSpace<gles2::cmds::%(name)s>(data_size); | 5401 GetImmediateCmdSpace<gles2::cmds::%(name)s>(data_size); |
5400 if (c) { | 5402 if (c) { |
5401 c->Init(%(args)s, data_size); | 5403 c->Init(%(args)s, data_size); |
5402 } | 5404 } |
5403 } | 5405 } |
5404 | 5406 |
5405 """ | 5407 """ |
5406 file.Write(code % { | 5408 file.Write(code % { |
5407 "name": func.name, | 5409 "name": func.name, |
(...skipping 14 matching lines...) Expand all Loading... |
5422 (arg.type, value + 11, arg.name)) | 5424 (arg.type, value + 11, arg.name)) |
5423 code = """ | 5425 code = """ |
5424 TEST_F(GLES2FormatTest, %(func_name)s) { | 5426 TEST_F(GLES2FormatTest, %(func_name)s) { |
5425 cmds::%(func_name)s& cmd = *GetBufferAs<cmds::%(func_name)s>(); | 5427 cmds::%(func_name)s& cmd = *GetBufferAs<cmds::%(func_name)s>(); |
5426 static const char* const test_str = \"test string\"; | 5428 static const char* const test_str = \"test string\"; |
5427 void* next_cmd = cmd.Set( | 5429 void* next_cmd = cmd.Set( |
5428 &cmd, | 5430 &cmd, |
5429 %(init_code)s | 5431 %(init_code)s |
5430 test_str, | 5432 test_str, |
5431 strlen(test_str)); | 5433 strlen(test_str)); |
5432 EXPECT_EQ(static_cast<uint32>(cmds::%(func_name)s::kCmdId), | 5434 EXPECT_EQ(static_cast<uint32_t>(cmds::%(func_name)s::kCmdId), |
5433 cmd.header.command); | 5435 cmd.header.command); |
5434 EXPECT_EQ(sizeof(cmd) + | 5436 EXPECT_EQ(sizeof(cmd) + |
5435 RoundSizeToMultipleOfEntries(strlen(test_str)), | 5437 RoundSizeToMultipleOfEntries(strlen(test_str)), |
5436 cmd.header.size * 4u); | 5438 cmd.header.size * 4u); |
5437 EXPECT_EQ(static_cast<char*>(next_cmd), | 5439 EXPECT_EQ(static_cast<char*>(next_cmd), |
5438 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | 5440 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + |
5439 RoundSizeToMultipleOfEntries(strlen(test_str))); | 5441 RoundSizeToMultipleOfEntries(strlen(test_str))); |
5440 %(check_code)s | 5442 %(check_code)s |
5441 EXPECT_EQ(static_cast<uint32>(strlen(test_str)), cmd.data_size); | 5443 EXPECT_EQ(static_cast<uint32_t>(strlen(test_str)), cmd.data_size); |
5442 EXPECT_EQ(0, memcmp(test_str, ImmediateDataAddress(&cmd), strlen(test_str))); | 5444 EXPECT_EQ(0, memcmp(test_str, ImmediateDataAddress(&cmd), strlen(test_str))); |
5443 CheckBytesWritten( | 5445 CheckBytesWritten( |
5444 next_cmd, | 5446 next_cmd, |
5445 sizeof(cmd) + RoundSizeToMultipleOfEntries(strlen(test_str)), | 5447 sizeof(cmd) + RoundSizeToMultipleOfEntries(strlen(test_str)), |
5446 sizeof(cmd) + strlen(test_str)); | 5448 sizeof(cmd) + strlen(test_str)); |
5447 } | 5449 } |
5448 | 5450 |
5449 """ | 5451 """ |
5450 file.Write(code % { | 5452 file.Write(code % { |
5451 'func_name': func.name, | 5453 'func_name': func.name, |
(...skipping 17 matching lines...) Expand all Loading... |
5469 """Overrriden from TypeHandler.""" | 5471 """Overrriden from TypeHandler.""" |
5470 pass | 5472 pass |
5471 | 5473 |
5472 def AddBucketFunction(self, generator, func): | 5474 def AddBucketFunction(self, generator, func): |
5473 """Overrriden from TypeHandler.""" | 5475 """Overrriden from TypeHandler.""" |
5474 pass | 5476 pass |
5475 | 5477 |
5476 def WriteServiceImplementation(self, func, file): | 5478 def WriteServiceImplementation(self, func, file): |
5477 """Overrriden from TypeHandler.""" | 5479 """Overrriden from TypeHandler.""" |
5478 file.Write("""error::Error GLES2DecoderImpl::Handle%(name)s( | 5480 file.Write("""error::Error GLES2DecoderImpl::Handle%(name)s( |
5479 uint32 immediate_data_size, const gles2::cmds::%(name)s& c) { | 5481 uint32_t immediate_data_size, const gles2::cmds::%(name)s& c) { |
5480 GLuint bucket_id = static_cast<GLuint>(c.%(bucket_id)s); | 5482 GLuint bucket_id = static_cast<GLuint>(c.%(bucket_id)s); |
5481 Bucket* bucket = GetBucket(bucket_id); | 5483 Bucket* bucket = GetBucket(bucket_id); |
5482 if (!bucket || bucket->size() == 0) { | 5484 if (!bucket || bucket->size() == 0) { |
5483 return error::kInvalidArguments; | 5485 return error::kInvalidArguments; |
5484 } | 5486 } |
5485 std::string str; | 5487 std::string str; |
5486 if (!bucket->GetAsString(&str)) { | 5488 if (!bucket->GetAsString(&str)) { |
5487 return error::kInvalidArguments; | 5489 return error::kInvalidArguments; |
5488 } | 5490 } |
5489 %(gl_func_name)s(0, str.c_str()); | 5491 %(gl_func_name)s(0, str.c_str()); |
5490 return error::kNoError; | 5492 return error::kNoError; |
5491 } | 5493 } |
5492 | 5494 |
5493 """ % { | 5495 """ % { |
5494 'name': func.name, | 5496 'name': func.name, |
5495 'gl_func_name': func.GetGLFunctionName(), | 5497 'gl_func_name': func.GetGLFunctionName(), |
5496 'bucket_id': func.cmd_args[0].name, | 5498 'bucket_id': func.cmd_args[0].name, |
5497 }) | 5499 }) |
5498 | 5500 |
5499 | 5501 |
5500 class IsHandler(TypeHandler): | 5502 class IsHandler(TypeHandler): |
5501 """Handler for glIs____ type and glGetError functions.""" | 5503 """Handler for glIs____ type and glGetError functions.""" |
5502 | 5504 |
5503 def __init__(self): | 5505 def __init__(self): |
5504 TypeHandler.__init__(self) | 5506 TypeHandler.__init__(self) |
5505 | 5507 |
5506 def InitFunction(self, func): | 5508 def InitFunction(self, func): |
5507 """Overrriden from TypeHandler.""" | 5509 """Overrriden from TypeHandler.""" |
5508 func.AddCmdArg(Argument("result_shm_id", 'uint32')) | 5510 func.AddCmdArg(Argument("result_shm_id", 'uint32_t')) |
5509 func.AddCmdArg(Argument("result_shm_offset", 'uint32')) | 5511 func.AddCmdArg(Argument("result_shm_offset", 'uint32_t')) |
5510 if func.GetInfo('result') == None: | 5512 if func.GetInfo('result') == None: |
5511 func.AddInfo('result', ['uint32']) | 5513 func.AddInfo('result', ['uint32_t']) |
5512 | 5514 |
5513 def WriteServiceUnitTest(self, func, file): | 5515 def WriteServiceUnitTest(self, func, file): |
5514 """Overrriden from TypeHandler.""" | 5516 """Overrriden from TypeHandler.""" |
5515 valid_test = """ | 5517 valid_test = """ |
5516 TEST_P(%(test_name)s, %(name)sValidArgs) { | 5518 TEST_P(%(test_name)s, %(name)sValidArgs) { |
5517 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); | 5519 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); |
5518 SpecializedSetup<cmds::%(name)s, 0>(true); | 5520 SpecializedSetup<cmds::%(name)s, 0>(true); |
5519 cmds::%(name)s cmd; | 5521 cmds::%(name)s cmd; |
5520 cmd.Init(%(args)s%(comma)sshared_memory_id_, shared_memory_offset_); | 5522 cmd.Init(%(args)s%(comma)sshared_memory_id_, shared_memory_offset_); |
5521 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 5523 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5555 """ | 5557 """ |
5556 self.WriteValidUnitTest(func, file, invalid_test, { | 5558 self.WriteValidUnitTest(func, file, invalid_test, { |
5557 'comma': comma, | 5559 'comma': comma, |
5558 }) | 5560 }) |
5559 | 5561 |
5560 def WriteServiceImplementation(self, func, file): | 5562 def WriteServiceImplementation(self, func, file): |
5561 """Overrriden from TypeHandler.""" | 5563 """Overrriden from TypeHandler.""" |
5562 file.Write( | 5564 file.Write( |
5563 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) | 5565 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) |
5564 file.Write( | 5566 file.Write( |
5565 " uint32 immediate_data_size, const gles2::cmds::%s& c) {\n" % | 5567 " uint32_t immediate_data_size, const gles2::cmds::%s& c) {\n" % |
5566 func.name) | 5568 func.name) |
5567 args = func.GetOriginalArgs() | 5569 args = func.GetOriginalArgs() |
5568 for arg in args: | 5570 for arg in args: |
5569 arg.WriteGetCode(file) | 5571 arg.WriteGetCode(file) |
5570 | 5572 |
5571 code = """ typedef cmds::%(func_name)s::Result Result; | 5573 code = """ typedef cmds::%(func_name)s::Result Result; |
5572 Result* result_dst = GetSharedMemoryAs<Result*>( | 5574 Result* result_dst = GetSharedMemoryAs<Result*>( |
5573 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); | 5575 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); |
5574 if (!result_dst) { | 5576 if (!result_dst) { |
5575 return error::kOutOfBounds; | 5577 return error::kOutOfBounds; |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5625 struct Cmds { | 5627 struct Cmds { |
5626 cmds::%(name)s cmd; | 5628 cmds::%(name)s cmd; |
5627 }; | 5629 }; |
5628 | 5630 |
5629 Cmds expected; | 5631 Cmds expected; |
5630 ExpectedMemoryInfo result1 = | 5632 ExpectedMemoryInfo result1 = |
5631 GetExpectedResultMemory(sizeof(cmds::%(name)s::Result)); | 5633 GetExpectedResultMemory(sizeof(cmds::%(name)s::Result)); |
5632 expected.cmd.Init(1, result1.id, result1.offset); | 5634 expected.cmd.Init(1, result1.id, result1.offset); |
5633 | 5635 |
5634 EXPECT_CALL(*command_buffer(), OnFlush()) | 5636 EXPECT_CALL(*command_buffer(), OnFlush()) |
5635 .WillOnce(SetMemory(result1.ptr, uint32(1))) | 5637 .WillOnce(SetMemory(result1.ptr, uint32_t(1))) |
5636 .RetiresOnSaturation(); | 5638 .RetiresOnSaturation(); |
5637 | 5639 |
5638 GLboolean result = gl_->%(name)s(1); | 5640 GLboolean result = gl_->%(name)s(1); |
5639 EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected))); | 5641 EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected))); |
5640 EXPECT_TRUE(result); | 5642 EXPECT_TRUE(result); |
5641 } | 5643 } |
5642 """ | 5644 """ |
5643 file.Write(code % { | 5645 file.Write(code % { |
5644 'name': func.name, | 5646 'name': func.name, |
5645 }) | 5647 }) |
5646 | 5648 |
5647 | 5649 |
5648 class STRnHandler(TypeHandler): | 5650 class STRnHandler(TypeHandler): |
5649 """Handler for GetProgramInfoLog, GetShaderInfoLog, GetShaderSource, and | 5651 """Handler for GetProgramInfoLog, GetShaderInfoLog, GetShaderSource, and |
5650 GetTranslatedShaderSourceANGLE.""" | 5652 GetTranslatedShaderSourceANGLE.""" |
5651 | 5653 |
5652 def __init__(self): | 5654 def __init__(self): |
5653 TypeHandler.__init__(self) | 5655 TypeHandler.__init__(self) |
5654 | 5656 |
5655 def InitFunction(self, func): | 5657 def InitFunction(self, func): |
5656 """Overrriden from TypeHandler.""" | 5658 """Overrriden from TypeHandler.""" |
5657 # remove all but the first cmd args. | 5659 # remove all but the first cmd args. |
5658 cmd_args = func.GetCmdArgs() | 5660 cmd_args = func.GetCmdArgs() |
5659 func.ClearCmdArgs() | 5661 func.ClearCmdArgs() |
5660 func.AddCmdArg(cmd_args[0]) | 5662 func.AddCmdArg(cmd_args[0]) |
5661 # add on a bucket id. | 5663 # add on a bucket id. |
5662 func.AddCmdArg(Argument('bucket_id', 'uint32')) | 5664 func.AddCmdArg(Argument('bucket_id', 'uint32_t')) |
5663 | 5665 |
5664 def WriteGLES2Implementation(self, func, file): | 5666 def WriteGLES2Implementation(self, func, file): |
5665 """Overrriden from TypeHandler.""" | 5667 """Overrriden from TypeHandler.""" |
5666 code_1 = """%(return_type)s GLES2Implementation::%(func_name)s(%(args)s) { | 5668 code_1 = """%(return_type)s GLES2Implementation::%(func_name)s(%(args)s) { |
5667 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 5669 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
5668 """ | 5670 """ |
5669 code_2 = """ GPU_CLIENT_LOG("[" << GetLogPrefix() | 5671 code_2 = """ GPU_CLIENT_LOG("[" << GetLogPrefix() |
5670 << "] gl%(func_name)s" << "(" | 5672 << "] gl%(func_name)s" << "(" |
5671 << %(arg0)s << ", " | 5673 << %(arg0)s << ", " |
5672 << %(arg1)s << ", " | 5674 << %(arg1)s << ", " |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5707 } | 5709 } |
5708 file.Write(code_1 % str_args) | 5710 file.Write(code_1 % str_args) |
5709 func.WriteDestinationInitalizationValidation(file) | 5711 func.WriteDestinationInitalizationValidation(file) |
5710 file.Write(code_2 % str_args) | 5712 file.Write(code_2 % str_args) |
5711 | 5713 |
5712 def WriteServiceUnitTest(self, func, file): | 5714 def WriteServiceUnitTest(self, func, file): |
5713 """Overrriden from TypeHandler.""" | 5715 """Overrriden from TypeHandler.""" |
5714 valid_test = """ | 5716 valid_test = """ |
5715 TEST_P(%(test_name)s, %(name)sValidArgs) { | 5717 TEST_P(%(test_name)s, %(name)sValidArgs) { |
5716 const char* kInfo = "hello"; | 5718 const char* kInfo = "hello"; |
5717 const uint32 kBucketId = 123; | 5719 const uint32_t kBucketId = 123; |
5718 SpecializedSetup<cmds::%(name)s, 0>(true); | 5720 SpecializedSetup<cmds::%(name)s, 0>(true); |
5719 %(expect_len_code)s | 5721 %(expect_len_code)s |
5720 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)) | 5722 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)) |
5721 .WillOnce(DoAll(SetArgumentPointee<2>(strlen(kInfo)), | 5723 .WillOnce(DoAll(SetArgumentPointee<2>(strlen(kInfo)), |
5722 SetArrayArgument<3>(kInfo, kInfo + strlen(kInfo) + 1))); | 5724 SetArrayArgument<3>(kInfo, kInfo + strlen(kInfo) + 1))); |
5723 cmds::%(name)s cmd; | 5725 cmds::%(name)s cmd; |
5724 cmd.Init(%(args)s); | 5726 cmd.Init(%(args)s); |
5725 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 5727 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
5726 CommonDecoder::Bucket* bucket = decoder_->GetBucket(kBucketId); | 5728 CommonDecoder::Bucket* bucket = decoder_->GetBucket(kBucketId); |
5727 ASSERT_TRUE(bucket != NULL); | 5729 ASSERT_TRUE(bucket != NULL); |
(...skipping 18 matching lines...) Expand all Loading... |
5746 } | 5748 } |
5747 if get_len_func and get_len_func[0:2] == 'gl': | 5749 if get_len_func and get_len_func[0:2] == 'gl': |
5748 sub['expect_len_code'] = ( | 5750 sub['expect_len_code'] = ( |
5749 " EXPECT_CALL(*gl_, %s(%s, %s, _))\n" | 5751 " EXPECT_CALL(*gl_, %s(%s, %s, _))\n" |
5750 " .WillOnce(SetArgumentPointee<2>(strlen(kInfo) + 1));") % ( | 5752 " .WillOnce(SetArgumentPointee<2>(strlen(kInfo) + 1));") % ( |
5751 get_len_func[2:], id_name, get_len_enum) | 5753 get_len_func[2:], id_name, get_len_enum) |
5752 self.WriteValidUnitTest(func, file, valid_test, sub) | 5754 self.WriteValidUnitTest(func, file, valid_test, sub) |
5753 | 5755 |
5754 invalid_test = """ | 5756 invalid_test = """ |
5755 TEST_P(%(test_name)s, %(name)sInvalidArgs) { | 5757 TEST_P(%(test_name)s, %(name)sInvalidArgs) { |
5756 const uint32 kBucketId = 123; | 5758 const uint32_t kBucketId = 123; |
5757 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _, _, _)) | 5759 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _, _, _)) |
5758 .Times(0); | 5760 .Times(0); |
5759 cmds::%(name)s cmd; | 5761 cmds::%(name)s cmd; |
5760 cmd.Init(kInvalidClientId, kBucketId); | 5762 cmd.Init(kInvalidClientId, kBucketId); |
5761 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 5763 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
5762 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 5764 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
5763 } | 5765 } |
5764 """ | 5766 """ |
5765 self.WriteValidUnitTest(func, file, invalid_test) | 5767 self.WriteValidUnitTest(func, file, invalid_test) |
5766 | 5768 |
(...skipping 10 matching lines...) Expand all Loading... |
5777 setattr(self, key, info[key]) | 5779 setattr(self, key, info[key]) |
5778 self.type_handler = type_handler | 5780 self.type_handler = type_handler |
5779 if not 'type' in info: | 5781 if not 'type' in info: |
5780 self.type = '' | 5782 self.type = '' |
5781 | 5783 |
5782 | 5784 |
5783 class Argument(object): | 5785 class Argument(object): |
5784 """A class that represents a function argument.""" | 5786 """A class that represents a function argument.""" |
5785 | 5787 |
5786 cmd_type_map_ = { | 5788 cmd_type_map_ = { |
5787 'GLenum': 'uint32', | 5789 'GLenum': 'uint32_t', |
5788 'GLint': 'int32', | 5790 'GLint': 'int32_t', |
5789 'GLintptr': 'int32', | 5791 'GLintptr': 'int32_t', |
5790 'GLsizei': 'int32', | 5792 'GLsizei': 'int32_t', |
5791 'GLsizeiptr': 'int32', | 5793 'GLsizeiptr': 'int32_t', |
5792 'GLfloat': 'float', | 5794 'GLfloat': 'float', |
5793 'GLclampf': 'float', | 5795 'GLclampf': 'float', |
5794 } | 5796 } |
5795 need_validation_ = ['GLsizei*', 'GLboolean*', 'GLenum*', 'GLint*'] | 5797 need_validation_ = ['GLsizei*', 'GLboolean*', 'GLenum*', 'GLint*'] |
5796 | 5798 |
5797 def __init__(self, name, type): | 5799 def __init__(self, name, type): |
5798 self.name = name | 5800 self.name = name |
5799 self.optional = type.endswith("Optional*") | 5801 self.optional = type.endswith("Optional*") |
5800 if self.optional: | 5802 if self.optional: |
5801 type = type[:-9] + "*" | 5803 type = type[:-9] + "*" |
5802 self.type = type | 5804 self.type = type |
5803 | 5805 |
5804 if type in self.cmd_type_map_: | 5806 if type in self.cmd_type_map_: |
5805 self.cmd_type = self.cmd_type_map_[type] | 5807 self.cmd_type = self.cmd_type_map_[type] |
5806 else: | 5808 else: |
5807 self.cmd_type = 'uint32' | 5809 self.cmd_type = 'uint32_t' |
5808 | 5810 |
5809 def IsPointer(self): | 5811 def IsPointer(self): |
5810 """Returns true if argument is a pointer.""" | 5812 """Returns true if argument is a pointer.""" |
5811 return False | 5813 return False |
5812 | 5814 |
5813 def AddCmdArgs(self, args): | 5815 def AddCmdArgs(self, args): |
5814 """Adds command arguments for this argument to the given list.""" | 5816 """Adds command arguments for this argument to the given list.""" |
5815 return args.append(self) | 5817 return args.append(self) |
5816 | 5818 |
5817 def AddInitArgs(self, args): | 5819 def AddInitArgs(self, args): |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5934 | 5936 |
5935 def GetValidArg(self, func, offset, index): | 5937 def GetValidArg(self, func, offset, index): |
5936 """Gets a valid value for this argument.""" | 5938 """Gets a valid value for this argument.""" |
5937 return "%d" % (offset + 1) | 5939 return "%d" % (offset + 1) |
5938 | 5940 |
5939 | 5941 |
5940 class DataSizeArgument(Argument): | 5942 class DataSizeArgument(Argument): |
5941 """class for data_size which Bucket commands do not need.""" | 5943 """class for data_size which Bucket commands do not need.""" |
5942 | 5944 |
5943 def __init__(self, name): | 5945 def __init__(self, name): |
5944 Argument.__init__(self, name, "uint32") | 5946 Argument.__init__(self, name, "uint32_t") |
5945 | 5947 |
5946 def GetBucketVersion(self): | 5948 def GetBucketVersion(self): |
5947 return None | 5949 return None |
5948 | 5950 |
5949 | 5951 |
5950 class SizeArgument(Argument): | 5952 class SizeArgument(Argument): |
5951 """class for GLsizei and GLsizeiptr.""" | 5953 """class for GLsizei and GLsizeiptr.""" |
5952 | 5954 |
5953 def __init__(self, name, type): | 5955 def __init__(self, name, type): |
5954 Argument.__init__(self, name, type) | 5956 Argument.__init__(self, name, type) |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6204 else: | 6206 else: |
6205 return ("shared_memory_id_, kInvalidSharedMemoryOffset", | 6207 return ("shared_memory_id_, kInvalidSharedMemoryOffset", |
6206 "kOutOfBounds", None) | 6208 "kOutOfBounds", None) |
6207 | 6209 |
6208 def GetLogArg(self): | 6210 def GetLogArg(self): |
6209 """Overridden from Argument.""" | 6211 """Overridden from Argument.""" |
6210 return "static_cast<const void*>(%s)" % self.name | 6212 return "static_cast<const void*>(%s)" % self.name |
6211 | 6213 |
6212 def AddCmdArgs(self, args): | 6214 def AddCmdArgs(self, args): |
6213 """Overridden from Argument.""" | 6215 """Overridden from Argument.""" |
6214 args.append(Argument("%s_shm_id" % self.name, 'uint32')) | 6216 args.append(Argument("%s_shm_id" % self.name, 'uint32_t')) |
6215 args.append(Argument("%s_shm_offset" % self.name, 'uint32')) | 6217 args.append(Argument("%s_shm_offset" % self.name, 'uint32_t')) |
6216 | 6218 |
6217 def WriteGetCode(self, file): | 6219 def WriteGetCode(self, file): |
6218 """Overridden from Argument.""" | 6220 """Overridden from Argument.""" |
6219 file.Write( | 6221 file.Write( |
6220 " %s %s = GetSharedMemoryAs<%s>(\n" % | 6222 " %s %s = GetSharedMemoryAs<%s>(\n" % |
6221 (self.type, self.name, self.type)) | 6223 (self.type, self.name, self.type)) |
6222 file.Write( | 6224 file.Write( |
6223 " c.%s_shm_id, c.%s_shm_offset, data_size);\n" % | 6225 " c.%s_shm_id, c.%s_shm_offset, data_size);\n" % |
6224 (self.name, self.name)) | 6226 (self.name, self.name)) |
6225 | 6227 |
(...skipping 24 matching lines...) Expand all Loading... |
6250 | 6252 |
6251 def WriteDestinationInitalizationValidation(self, file, func): | 6253 def WriteDestinationInitalizationValidation(self, file, func): |
6252 """Overridden from Argument.""" | 6254 """Overridden from Argument.""" |
6253 self.WriteDestinationInitalizationValidatationIfNeeded(file, func) | 6255 self.WriteDestinationInitalizationValidatationIfNeeded(file, func) |
6254 | 6256 |
6255 | 6257 |
6256 class InputStringBucketArgument(Argument): | 6258 class InputStringBucketArgument(Argument): |
6257 """An string input argument where the string is passed in a bucket.""" | 6259 """An string input argument where the string is passed in a bucket.""" |
6258 | 6260 |
6259 def __init__(self, name, type): | 6261 def __init__(self, name, type): |
6260 Argument.__init__(self, name + "_bucket_id", "uint32") | 6262 Argument.__init__(self, name + "_bucket_id", "uint32_t") |
6261 | 6263 |
6262 def WriteGetCode(self, file): | 6264 def WriteGetCode(self, file): |
6263 """Overridden from Argument.""" | 6265 """Overridden from Argument.""" |
6264 code = """ | 6266 code = """ |
6265 Bucket* %(name)s_bucket = GetBucket(c.%(name)s); | 6267 Bucket* %(name)s_bucket = GetBucket(c.%(name)s); |
6266 if (!%(name)s_bucket) { | 6268 if (!%(name)s_bucket) { |
6267 return error::kInvalidArguments; | 6269 return error::kInvalidArguments; |
6268 } | 6270 } |
6269 std::string %(name)s_str; | 6271 std::string %(name)s_str; |
6270 if (!%(name)s_bucket->GetAsString(&%(name)s_str)) { | 6272 if (!%(name)s_bucket->GetAsString(&%(name)s_str)) { |
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6567 | 6569 |
6568 file.Write(" static const uint8 cmd_flags = %s;\n" % cmd_flags) | 6570 file.Write(" static const uint8 cmd_flags = %s;\n" % cmd_flags) |
6569 | 6571 |
6570 | 6572 |
6571 def WriteCmdArgFlag(self, file): | 6573 def WriteCmdArgFlag(self, file): |
6572 """Writes the cmd kArgFlags constant.""" | 6574 """Writes the cmd kArgFlags constant.""" |
6573 file.Write(" static const cmd::ArgFlags kArgFlags = cmd::kFixed;\n") | 6575 file.Write(" static const cmd::ArgFlags kArgFlags = cmd::kFixed;\n") |
6574 | 6576 |
6575 def WriteCmdComputeSize(self, file): | 6577 def WriteCmdComputeSize(self, file): |
6576 """Writes the ComputeSize function for the command.""" | 6578 """Writes the ComputeSize function for the command.""" |
6577 file.Write(" static uint32 ComputeSize() {\n") | 6579 file.Write(" static uint32_t ComputeSize() {\n") |
6578 file.Write( | 6580 file.Write( |
6579 " return static_cast<uint32>(sizeof(ValueType)); // NOLINT\n") | 6581 " return static_cast<uint32_t>(sizeof(ValueType)); // NOLINT\n") |
6580 file.Write(" }\n") | 6582 file.Write(" }\n") |
6581 file.Write("\n") | 6583 file.Write("\n") |
6582 | 6584 |
6583 def WriteCmdSetHeader(self, file): | 6585 def WriteCmdSetHeader(self, file): |
6584 """Writes the cmd's SetHeader function.""" | 6586 """Writes the cmd's SetHeader function.""" |
6585 file.Write(" void SetHeader() {\n") | 6587 file.Write(" void SetHeader() {\n") |
6586 file.Write(" header.SetCmd<ValueType>();\n") | 6588 file.Write(" header.SetCmd<ValueType>();\n") |
6587 file.Write(" }\n") | 6589 file.Write(" }\n") |
6588 file.Write("\n") | 6590 file.Write("\n") |
6589 | 6591 |
(...skipping 1101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7691 pre = ' ' | 7693 pre = ' ' |
7692 file.Write("}\n\n"); | 7694 file.Write("}\n\n"); |
7693 file.Close() | 7695 file.Close() |
7694 | 7696 |
7695 def WriteCommonUtilsHeader(self, filename): | 7697 def WriteCommonUtilsHeader(self, filename): |
7696 """Writes the gles2 common utility header.""" | 7698 """Writes the gles2 common utility header.""" |
7697 file = CHeaderWriter(filename) | 7699 file = CHeaderWriter(filename) |
7698 enums = sorted(_ENUM_LISTS.keys()) | 7700 enums = sorted(_ENUM_LISTS.keys()) |
7699 for enum in enums: | 7701 for enum in enums: |
7700 if _ENUM_LISTS[enum]['type'] == 'GLenum': | 7702 if _ENUM_LISTS[enum]['type'] == 'GLenum': |
7701 file.Write("static std::string GetString%s(uint32 value);\n" % enum) | 7703 file.Write("static std::string GetString%s(uint32_t value);\n" % enum) |
7702 file.Write("\n") | 7704 file.Write("\n") |
7703 file.Close() | 7705 file.Close() |
7704 | 7706 |
7705 def WriteCommonUtilsImpl(self, filename): | 7707 def WriteCommonUtilsImpl(self, filename): |
7706 """Writes the gles2 common utility header.""" | 7708 """Writes the gles2 common utility header.""" |
7707 enum_re = re.compile(r'\#define\s+(GL_[a-zA-Z0-9_]+)\s+([0-9A-Fa-fx]+)') | 7709 enum_re = re.compile(r'\#define\s+(GL_[a-zA-Z0-9_]+)\s+([0-9A-Fa-fx]+)') |
7708 dict = {} | 7710 dict = {} |
7709 for fname in ['../../third_party/khronos/GLES2/gl2.h', | 7711 for fname in ['../../third_party/khronos/GLES2/gl2.h', |
7710 '../../third_party/khronos/GLES2/gl2ext.h', | 7712 '../../third_party/khronos/GLES2/gl2ext.h', |
7711 '../../gpu/GLES2/gl2chromium.h', | 7713 '../../gpu/GLES2/gl2chromium.h', |
(...skipping 17 matching lines...) Expand all Loading... |
7729 const GLES2Util::EnumToString* const GLES2Util::enum_to_string_table_ = | 7731 const GLES2Util::EnumToString* const GLES2Util::enum_to_string_table_ = |
7730 enum_to_string_table; | 7732 enum_to_string_table; |
7731 const size_t GLES2Util::enum_to_string_table_len_ = | 7733 const size_t GLES2Util::enum_to_string_table_len_ = |
7732 sizeof(enum_to_string_table) / sizeof(enum_to_string_table[0]); | 7734 sizeof(enum_to_string_table) / sizeof(enum_to_string_table[0]); |
7733 | 7735 |
7734 """) | 7736 """) |
7735 | 7737 |
7736 enums = sorted(_ENUM_LISTS.keys()) | 7738 enums = sorted(_ENUM_LISTS.keys()) |
7737 for enum in enums: | 7739 for enum in enums: |
7738 if _ENUM_LISTS[enum]['type'] == 'GLenum': | 7740 if _ENUM_LISTS[enum]['type'] == 'GLenum': |
7739 file.Write("std::string GLES2Util::GetString%s(uint32 value) {\n" % | 7741 file.Write("std::string GLES2Util::GetString%s(uint32_t value) {\n" % |
7740 enum) | 7742 enum) |
7741 if len(_ENUM_LISTS[enum]['valid']) > 0: | 7743 if len(_ENUM_LISTS[enum]['valid']) > 0: |
7742 file.Write(" static const EnumToString string_table[] = {\n") | 7744 file.Write(" static const EnumToString string_table[] = {\n") |
7743 for value in _ENUM_LISTS[enum]['valid']: | 7745 for value in _ENUM_LISTS[enum]['valid']: |
7744 file.Write(' { %s, "%s" },\n' % (value, value)) | 7746 file.Write(' { %s, "%s" },\n' % (value, value)) |
7745 file.Write(""" }; | 7747 file.Write(""" }; |
7746 return GLES2Util::GetQualifiedEnumString( | 7748 return GLES2Util::GetQualifiedEnumString( |
7747 string_table, arraysize(string_table), value); | 7749 string_table, arraysize(string_table), value); |
7748 } | 7750 } |
7749 | 7751 |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8063 "ppapi/shared_impl/ppb_opengles2_shared.cc"]) | 8065 "ppapi/shared_impl/ppb_opengles2_shared.cc"]) |
8064 | 8066 |
8065 if gen.errors > 0: | 8067 if gen.errors > 0: |
8066 print "%d errors" % gen.errors | 8068 print "%d errors" % gen.errors |
8067 return 1 | 8069 return 1 |
8068 return 0 | 8070 return 0 |
8069 | 8071 |
8070 | 8072 |
8071 if __name__ == '__main__': | 8073 if __name__ == '__main__': |
8072 sys.exit(main(sys.argv[1:])) | 8074 sys.exit(main(sys.argv[1:])) |
OLD | NEW |