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

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

Issue 268063002: Remove command_buffer/common/types.h. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """code generator for GLES2 command buffers.""" 6 """code generator for GLES2 command buffers."""
7 7
8 import itertools 8 import itertools
9 import os 9 import os
10 import os.path 10 import os.path
(...skipping 1637 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:]))
OLDNEW
« no previous file with comments | « no previous file | gpu/command_buffer/client/fenced_allocator.h » ('j') | mojo/public/c/gles2/gles2_call_visitor_autogen.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698