| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """code generator for GLES2 command buffers.""" | 6 """code generator for GLES2 command buffers.""" |
| 7 | 7 |
| 8 import itertools | 8 import itertools |
| 9 import os | 9 import os |
| 10 import os.path | 10 import os.path |
| (...skipping 4949 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4960 """ % {'name': func.name}) | 4960 """ % {'name': func.name}) |
| 4961 if func.IsUnsafe(): | 4961 if func.IsUnsafe(): |
| 4962 f.write("""if (!unsafe_es3_apis_enabled()) | 4962 f.write("""if (!unsafe_es3_apis_enabled()) |
| 4963 return error::kUnknownCommand; | 4963 return error::kUnknownCommand; |
| 4964 """) | 4964 """) |
| 4965 f.write("""const gles2::cmds::%(name)s& c = | 4965 f.write("""const gles2::cmds::%(name)s& c = |
| 4966 *static_cast<const gles2::cmds::%(name)s*>(cmd_data); | 4966 *static_cast<const gles2::cmds::%(name)s*>(cmd_data); |
| 4967 (void)c; | 4967 (void)c; |
| 4968 """ % {'name': func.name}) | 4968 """ % {'name': func.name}) |
| 4969 | 4969 |
| 4970 def WriteServiceImplementation(self, func, f): | 4970 def WriteServiceHandlerArgGetCode(self, func, f): |
| 4971 """Writes the service implementation for a command.""" | 4971 """Writes the argument unpack code for service handlers.""" |
| 4972 self.WriteServiceHandlerFunctionHeader(func, f) | |
| 4973 self.WriteHandlerExtensionCheck(func, f) | |
| 4974 self.WriteHandlerDeferReadWrite(func, f); | |
| 4975 if len(func.GetOriginalArgs()) > 0: | 4972 if len(func.GetOriginalArgs()) > 0: |
| 4976 last_arg = func.GetLastOriginalArg() | 4973 last_arg = func.GetLastOriginalArg() |
| 4977 all_but_last_arg = func.GetOriginalArgs()[:-1] | 4974 all_but_last_arg = func.GetOriginalArgs()[:-1] |
| 4978 for arg in all_but_last_arg: | 4975 for arg in all_but_last_arg: |
| 4979 arg.WriteGetCode(f) | 4976 arg.WriteGetCode(f) |
| 4980 self.WriteGetDataSizeCode(func, f) | 4977 self.WriteGetDataSizeCode(func, f) |
| 4981 last_arg.WriteGetCode(f) | 4978 last_arg.WriteGetCode(f) |
| 4979 |
| 4980 def WriteImmediateServiceHandlerArgGetCode(self, func, f): |
| 4981 """Writes the argument unpack code for immediate service handlers.""" |
| 4982 for arg in func.GetOriginalArgs(): |
| 4983 if arg.IsPointer(): |
| 4984 self.WriteGetDataSizeCode(func, f) |
| 4985 arg.WriteGetCode(f) |
| 4986 |
| 4987 def WriteBucketServiceHandlerArgGetCode(self, func, f): |
| 4988 """Writes the argument unpack code for bucket service handlers.""" |
| 4989 for arg in func.GetCmdArgs(): |
| 4990 arg.WriteGetCode(f) |
| 4991 |
| 4992 def WriteServiceImplementation(self, func, f): |
| 4993 """Writes the service implementation for a command.""" |
| 4994 self.WriteServiceHandlerFunctionHeader(func, f) |
| 4995 self.WriteHandlerExtensionCheck(func, f) |
| 4996 self.WriteHandlerDeferReadWrite(func, f); |
| 4997 self.WriteServiceHandlerArgGetCode(func, f) |
| 4982 func.WriteHandlerValidation(f) | 4998 func.WriteHandlerValidation(f) |
| 4983 func.WriteHandlerImplementation(f) | 4999 func.WriteHandlerImplementation(f) |
| 4984 f.write(" return error::kNoError;\n") | 5000 f.write(" return error::kNoError;\n") |
| 4985 f.write("}\n") | 5001 f.write("}\n") |
| 4986 f.write("\n") | 5002 f.write("\n") |
| 4987 | 5003 |
| 4988 def WriteImmediateServiceImplementation(self, func, f): | 5004 def WriteImmediateServiceImplementation(self, func, f): |
| 4989 """Writes the service implementation for an immediate version of command.""" | 5005 """Writes the service implementation for an immediate version of command.""" |
| 4990 self.WriteServiceHandlerFunctionHeader(func, f) | 5006 self.WriteServiceHandlerFunctionHeader(func, f) |
| 4991 self.WriteHandlerExtensionCheck(func, f) | 5007 self.WriteHandlerExtensionCheck(func, f) |
| 4992 self.WriteHandlerDeferReadWrite(func, f); | 5008 self.WriteHandlerDeferReadWrite(func, f); |
| 4993 for arg in func.GetOriginalArgs(): | 5009 self.WriteImmediateServiceHandlerArgGetCode(func, f) |
| 4994 if arg.IsPointer(): | |
| 4995 self.WriteGetDataSizeCode(func, f) | |
| 4996 arg.WriteGetCode(f) | |
| 4997 func.WriteHandlerValidation(f) | 5010 func.WriteHandlerValidation(f) |
| 4998 func.WriteHandlerImplementation(f) | 5011 func.WriteHandlerImplementation(f) |
| 4999 f.write(" return error::kNoError;\n") | 5012 f.write(" return error::kNoError;\n") |
| 5000 f.write("}\n") | 5013 f.write("}\n") |
| 5001 f.write("\n") | 5014 f.write("\n") |
| 5002 | 5015 |
| 5003 def WriteBucketServiceImplementation(self, func, f): | 5016 def WriteBucketServiceImplementation(self, func, f): |
| 5004 """Writes the service implementation for a bucket version of command.""" | 5017 """Writes the service implementation for a bucket version of command.""" |
| 5005 self.WriteServiceHandlerFunctionHeader(func, f) | 5018 self.WriteServiceHandlerFunctionHeader(func, f) |
| 5006 self.WriteHandlerExtensionCheck(func, f) | 5019 self.WriteHandlerExtensionCheck(func, f) |
| 5007 self.WriteHandlerDeferReadWrite(func, f); | 5020 self.WriteHandlerDeferReadWrite(func, f); |
| 5008 for arg in func.GetCmdArgs(): | 5021 self.WriteBucketServiceHandlerArgGetCode(func, f) |
| 5009 arg.WriteGetCode(f) | |
| 5010 func.WriteHandlerValidation(f) | 5022 func.WriteHandlerValidation(f) |
| 5011 func.WriteHandlerImplementation(f) | 5023 func.WriteHandlerImplementation(f) |
| 5012 f.write(" return error::kNoError;\n") | 5024 f.write(" return error::kNoError;\n") |
| 5013 f.write("}\n") | 5025 f.write("}\n") |
| 5014 f.write("\n") | 5026 f.write("\n") |
| 5015 | 5027 |
| 5028 def WritePassthroughServiceFunctionHeader(self, func, f): |
| 5029 """Writes function header for service passthrough handlers.""" |
| 5030 f.write("""error::Error GLES2DecoderPassthroughImpl::Handle%(name)s( |
| 5031 uint32_t immediate_data_size, const void* cmd_data) { |
| 5032 """ % {'name': func.name}) |
| 5033 f.write("""const gles2::cmds::%(name)s& c = |
| 5034 *static_cast<const gles2::cmds::%(name)s*>(cmd_data); |
| 5035 (void)c; |
| 5036 """ % {'name': func.name}) |
| 5037 |
| 5038 def WritePassthroughServiceFunctionDoerCall(self, func, f): |
| 5039 """Writes the function call to the passthrough service doer.""" |
| 5040 f.write(""" error::Error error = Do%(name)s(%(args)s); |
| 5041 if (error != error::kNoError) { |
| 5042 return error; |
| 5043 }""" % {'name': func.original_name, |
| 5044 'args': func.MakePassthroughServiceDoerArgString("")}) |
| 5045 |
| 5046 def WritePassthroughServiceImplementation(self, func, f): |
| 5047 """Writes the service implementation for a command.""" |
| 5048 self.WritePassthroughServiceFunctionHeader(func, f) |
| 5049 self.WriteServiceHandlerArgGetCode(func, f) |
| 5050 self.WritePassthroughServiceFunctionDoerCall(func, f) |
| 5051 f.write(" return error::kNoError;\n") |
| 5052 f.write("}\n") |
| 5053 f.write("\n") |
| 5054 |
| 5055 def WritePassthroughImmediateServiceImplementation(self, func, f): |
| 5056 """Writes the service implementation for a command.""" |
| 5057 self.WritePassthroughServiceFunctionHeader(func, f) |
| 5058 self.WriteImmediateServiceHandlerArgGetCode(func, f) |
| 5059 self.WritePassthroughServiceFunctionDoerCall(func, f) |
| 5060 f.write(" return error::kNoError;\n") |
| 5061 f.write("}\n") |
| 5062 f.write("\n") |
| 5063 |
| 5064 def WritePassthroughBucketServiceImplementation(self, func, f): |
| 5065 """Writes the service implementation for a command.""" |
| 5066 self.WritePassthroughServiceFunctionHeader(func, f) |
| 5067 self.WriteBucketServiceHandlerArgGetCode(func, f) |
| 5068 self.WritePassthroughServiceFunctionDoerCall(func, f) |
| 5069 f.write(" return error::kNoError;\n") |
| 5070 f.write("}\n") |
| 5071 f.write("\n") |
| 5072 |
| 5016 def WriteHandlerExtensionCheck(self, func, f): | 5073 def WriteHandlerExtensionCheck(self, func, f): |
| 5017 if func.GetInfo('extension_flag'): | 5074 if func.GetInfo('extension_flag'): |
| 5018 f.write(" if (!features().%s) {\n" % func.GetInfo('extension_flag')) | 5075 f.write(" if (!features().%s) {\n" % func.GetInfo('extension_flag')) |
| 5019 f.write(" return error::kUnknownCommand;") | 5076 f.write(" return error::kUnknownCommand;") |
| 5020 f.write(" }\n\n") | 5077 f.write(" }\n\n") |
| 5021 | 5078 |
| 5022 def WriteHandlerDeferReadWrite(self, func, f): | 5079 def WriteHandlerDeferReadWrite(self, func, f): |
| 5023 """Writes the code to handle deferring reads or writes.""" | 5080 """Writes the code to handle deferring reads or writes.""" |
| 5024 defer_draws = func.GetInfo('defer_draws') | 5081 defer_draws = func.GetInfo('defer_draws') |
| 5025 defer_reads = func.GetInfo('defer_reads') | 5082 defer_reads = func.GetInfo('defer_reads') |
| (...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5642 pass | 5699 pass |
| 5643 | 5700 |
| 5644 def WriteImmediateServiceImplementation(self, func, f): | 5701 def WriteImmediateServiceImplementation(self, func, f): |
| 5645 """Overrriden from TypeHandler.""" | 5702 """Overrriden from TypeHandler.""" |
| 5646 pass | 5703 pass |
| 5647 | 5704 |
| 5648 def WriteBucketServiceImplementation(self, func, f): | 5705 def WriteBucketServiceImplementation(self, func, f): |
| 5649 """Overrriden from TypeHandler.""" | 5706 """Overrriden from TypeHandler.""" |
| 5650 pass | 5707 pass |
| 5651 | 5708 |
| 5709 def WritePassthroughServiceImplementation(self, func, f): |
| 5710 """Overrriden from TypeHandler.""" |
| 5711 pass |
| 5712 |
| 5713 def WritePassthroughImmediateServiceImplementation(self, func, f): |
| 5714 """Overrriden from TypeHandler.""" |
| 5715 pass |
| 5716 |
| 5717 def WritePassthroughBucketServiceImplementation(self, func, f): |
| 5718 """Overrriden from TypeHandler.""" |
| 5719 pass |
| 5720 |
| 5652 def WriteServiceUnitTest(self, func, f, *extras): | 5721 def WriteServiceUnitTest(self, func, f, *extras): |
| 5653 """Overrriden from TypeHandler.""" | 5722 """Overrriden from TypeHandler.""" |
| 5654 pass | 5723 pass |
| 5655 | 5724 |
| 5656 def WriteImmediateServiceUnitTest(self, func, f, *extras): | 5725 def WriteImmediateServiceUnitTest(self, func, f, *extras): |
| 5657 """Overrriden from TypeHandler.""" | 5726 """Overrriden from TypeHandler.""" |
| 5658 pass | 5727 pass |
| 5659 | 5728 |
| 5660 def WriteImmediateCmdGetTotalSize(self, func, f): | 5729 def WriteImmediateCmdGetTotalSize(self, func, f): |
| 5661 """Overrriden from TypeHandler.""" | 5730 """Overrriden from TypeHandler.""" |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5884 def WriteImmediateServiceUnitTest(self, func, f, *extras): | 5953 def WriteImmediateServiceUnitTest(self, func, f, *extras): |
| 5885 """Overrriden from TypeHandler.""" | 5954 """Overrriden from TypeHandler.""" |
| 5886 pass | 5955 pass |
| 5887 | 5956 |
| 5888 def WriteBucketServiceImplementation(self, func, f): | 5957 def WriteBucketServiceImplementation(self, func, f): |
| 5889 """Overrriden from TypeHandler.""" | 5958 """Overrriden from TypeHandler.""" |
| 5890 if ((not func.name == 'CompressedTexSubImage2DBucket') and | 5959 if ((not func.name == 'CompressedTexSubImage2DBucket') and |
| 5891 (not func.name == 'CompressedTexSubImage3DBucket')): | 5960 (not func.name == 'CompressedTexSubImage3DBucket')): |
| 5892 TypeHandler.WriteBucketServiceImplemenation(self, func, f) | 5961 TypeHandler.WriteBucketServiceImplemenation(self, func, f) |
| 5893 | 5962 |
| 5963 def WritePassthroughBucketServiceImplementation(self, func, f): |
| 5964 """Overrriden from TypeHandler.""" |
| 5965 if ((not func.name == 'CompressedTexSubImage2DBucket') and |
| 5966 (not func.name == 'CompressedTexSubImage3DBucket')): |
| 5967 TypeHandler.WritePassthroughBucketServiceImplementation(self, func, f) |
| 5894 | 5968 |
| 5895 class BindHandler(TypeHandler): | 5969 class BindHandler(TypeHandler): |
| 5896 """Handler for glBind___ type functions.""" | 5970 """Handler for glBind___ type functions.""" |
| 5897 | 5971 |
| 5898 def WriteServiceUnitTest(self, func, f, *extras): | 5972 def WriteServiceUnitTest(self, func, f, *extras): |
| 5899 """Overrriden from TypeHandler.""" | 5973 """Overrriden from TypeHandler.""" |
| 5900 | 5974 |
| 5901 if len(func.GetOriginalArgs()) == 1: | 5975 if len(func.GetOriginalArgs()) == 1: |
| 5902 valid_test = """ | 5976 valid_test = """ |
| 5903 TEST_P(%(test_name)s, %(name)sValidArgs) { | 5977 TEST_P(%(test_name)s, %(name)sValidArgs) { |
| (...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6481 (func.name, func.MakeCmdArgString(""))) | 6555 (func.name, func.MakeCmdArgString(""))) |
| 6482 f.write(' GPU_CLIENT_LOG("returned " << client_id);\n') | 6556 f.write(' GPU_CLIENT_LOG("returned " << client_id);\n') |
| 6483 f.write(" CheckGLError();\n") | 6557 f.write(" CheckGLError();\n") |
| 6484 if func.return_type == "GLsync": | 6558 if func.return_type == "GLsync": |
| 6485 f.write(" return reinterpret_cast<GLsync>(client_id);\n") | 6559 f.write(" return reinterpret_cast<GLsync>(client_id);\n") |
| 6486 else: | 6560 else: |
| 6487 f.write(" return client_id;\n") | 6561 f.write(" return client_id;\n") |
| 6488 f.write("}\n") | 6562 f.write("}\n") |
| 6489 f.write("\n") | 6563 f.write("\n") |
| 6490 | 6564 |
| 6565 def WritePassthroughServiceImplementation(self, func, f): |
| 6566 """Overrriden from TypeHandler.""" |
| 6567 pass |
| 6491 | 6568 |
| 6492 class DeleteHandler(TypeHandler): | 6569 class DeleteHandler(TypeHandler): |
| 6493 """Handler for glDelete___ single resource type functions.""" | 6570 """Handler for glDelete___ single resource type functions.""" |
| 6494 | 6571 |
| 6495 def WriteServiceImplementation(self, func, f): | 6572 def WriteServiceImplementation(self, func, f): |
| 6496 """Overrriden from TypeHandler.""" | 6573 """Overrriden from TypeHandler.""" |
| 6497 if func.IsUnsafe(): | 6574 if func.IsUnsafe(): |
| 6498 TypeHandler.WriteServiceImplementation(self, func, f) | 6575 TypeHandler.WriteServiceImplementation(self, func, f) |
| 6499 # HandleDeleteShader and HandleDeleteProgram are manually written. | 6576 # HandleDeleteShader and HandleDeleteProgram are manually written. |
| 6500 pass | 6577 pass |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6777 f.write(" RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));\n") | 6854 f.write(" RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));\n") |
| 6778 f.write(" EXPECT_EQ(0, memcmp(ids, ImmediateDataAddress(&cmd),\n") | 6855 f.write(" EXPECT_EQ(0, memcmp(ids, ImmediateDataAddress(&cmd),\n") |
| 6779 f.write(" sizeof(ids)));\n") | 6856 f.write(" sizeof(ids)));\n") |
| 6780 f.write("}\n") | 6857 f.write("}\n") |
| 6781 f.write("\n") | 6858 f.write("\n") |
| 6782 | 6859 |
| 6783 | 6860 |
| 6784 class GETnHandler(TypeHandler): | 6861 class GETnHandler(TypeHandler): |
| 6785 """Handler for GETn for glGetBooleanv, glGetFloatv, ... type functions.""" | 6862 """Handler for GETn for glGetBooleanv, glGetFloatv, ... type functions.""" |
| 6786 | 6863 |
| 6864 def InitFunction(self, func): |
| 6865 """Overrriden from TypeHandler.""" |
| 6866 TypeHandler.InitFunction(self, func) |
| 6867 |
| 6868 if func.name == 'GetSynciv': |
| 6869 return |
| 6870 |
| 6871 arg_insert_point = len(func.passthrough_service_doer_args) - 1; |
| 6872 func.passthrough_service_doer_args.insert( |
| 6873 arg_insert_point, Argument('length', 'GLsizei*')) |
| 6874 func.passthrough_service_doer_args.insert( |
| 6875 arg_insert_point, Argument('bufsize', 'GLsizei')) |
| 6876 |
| 6787 def NeedsDataTransferFunction(self, func): | 6877 def NeedsDataTransferFunction(self, func): |
| 6788 """Overriden from TypeHandler.""" | 6878 """Overriden from TypeHandler.""" |
| 6789 return False | 6879 return False |
| 6790 | 6880 |
| 6791 def WriteServiceImplementation(self, func, f): | 6881 def WriteServiceImplementation(self, func, f): |
| 6792 """Overrriden from TypeHandler.""" | 6882 """Overrriden from TypeHandler.""" |
| 6793 self.WriteServiceHandlerFunctionHeader(func, f) | 6883 self.WriteServiceHandlerFunctionHeader(func, f) |
| 6794 last_arg = func.GetLastOriginalArg() | 6884 last_arg = func.GetLastOriginalArg() |
| 6795 # All except shm_id and shm_offset. | 6885 # All except shm_id and shm_offset. |
| 6796 all_but_last_args = func.GetCmdArgs()[:-2] | 6886 all_but_last_args = func.GetCmdArgs()[:-2] |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6830 code = """ GLenum error = LOCAL_PEEK_GL_ERROR("%(func_name)s"); | 6920 code = """ GLenum error = LOCAL_PEEK_GL_ERROR("%(func_name)s"); |
| 6831 if (error == GL_NO_ERROR) { | 6921 if (error == GL_NO_ERROR) { |
| 6832 result->SetNumResults(num_values); | 6922 result->SetNumResults(num_values); |
| 6833 } | 6923 } |
| 6834 return error::kNoError; | 6924 return error::kNoError; |
| 6835 } | 6925 } |
| 6836 | 6926 |
| 6837 """ | 6927 """ |
| 6838 f.write(code % {'func_name': func.name}) | 6928 f.write(code % {'func_name': func.name}) |
| 6839 | 6929 |
| 6930 def WritePassthroughServiceImplementation(self, func, f): |
| 6931 """Overrriden from TypeHandler.""" |
| 6932 self.WritePassthroughServiceFunctionHeader(func, f) |
| 6933 last_arg = func.GetLastOriginalArg() |
| 6934 # All except shm_id and shm_offset. |
| 6935 all_but_last_args = func.GetCmdArgs()[:-2] |
| 6936 for arg in all_but_last_args: |
| 6937 arg.WriteGetCode(f) |
| 6938 |
| 6939 code = """ unsigned int buffer_size = 0; |
| 6940 typedef cmds::%(func_name)s::Result Result; |
| 6941 Result* result = GetSharedMemoryAndSizeAs<Result*>( |
| 6942 c.%(last_arg_name)s_shm_id, c.%(last_arg_name)s_shm_offset, |
| 6943 &buffer_size); |
| 6944 %(last_arg_type)s %(last_arg_name)s = result ? result->GetData() : NULL; |
| 6945 if (%(last_arg_name)s == NULL) { |
| 6946 return error::kOutOfBounds; |
| 6947 } |
| 6948 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); |
| 6949 GLsizei written_values = 0; |
| 6950 GLsizei* length = &written_values; |
| 6951 """ |
| 6952 f.write(code % { |
| 6953 'last_arg_type': last_arg.type, |
| 6954 'last_arg_name': last_arg.name, |
| 6955 'func_name': func.name, |
| 6956 }) |
| 6957 |
| 6958 self.WritePassthroughServiceFunctionDoerCall(func, f) |
| 6959 |
| 6960 code = """ if (written_values > bufsize) { |
| 6961 return error::kOutOfBounds; |
| 6962 } |
| 6963 result->SetNumResults(written_values); |
| 6964 return error::kNoError; |
| 6965 } |
| 6966 |
| 6967 """ |
| 6968 f.write(code % {'func_name': func.name}) |
| 6969 |
| 6840 def WriteGLES2Implementation(self, func, f): | 6970 def WriteGLES2Implementation(self, func, f): |
| 6841 """Overrriden from TypeHandler.""" | 6971 """Overrriden from TypeHandler.""" |
| 6842 impl_decl = func.GetInfo('impl_decl') | 6972 impl_decl = func.GetInfo('impl_decl') |
| 6843 if impl_decl == None or impl_decl == True: | 6973 if impl_decl == None or impl_decl == True: |
| 6844 f.write("%s GLES2Implementation::%s(%s) {\n" % | 6974 f.write("%s GLES2Implementation::%s(%s) {\n" % |
| 6845 (func.return_type, func.original_name, | 6975 (func.return_type, func.original_name, |
| 6846 func.MakeTypedOriginalArgString(""))) | 6976 func.MakeTypedOriginalArgString(""))) |
| 6847 f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") | 6977 f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") |
| 6848 func.WriteDestinationInitalizationValidation(f) | 6978 func.WriteDestinationInitalizationValidation(f) |
| 6849 self.WriteClientGLCallLog(func, f) | 6979 self.WriteClientGLCallLog(func, f) |
| (...skipping 1416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8266 | 8396 |
| 8267 class IsHandler(TypeHandler): | 8397 class IsHandler(TypeHandler): |
| 8268 """Handler for glIs____ type and glGetError functions.""" | 8398 """Handler for glIs____ type and glGetError functions.""" |
| 8269 | 8399 |
| 8270 def InitFunction(self, func): | 8400 def InitFunction(self, func): |
| 8271 """Overrriden from TypeHandler.""" | 8401 """Overrriden from TypeHandler.""" |
| 8272 func.AddCmdArg(Argument("result_shm_id", 'uint32_t')) | 8402 func.AddCmdArg(Argument("result_shm_id", 'uint32_t')) |
| 8273 func.AddCmdArg(Argument("result_shm_offset", 'uint32_t')) | 8403 func.AddCmdArg(Argument("result_shm_offset", 'uint32_t')) |
| 8274 if func.GetInfo('result') == None: | 8404 if func.GetInfo('result') == None: |
| 8275 func.AddInfo('result', ['uint32_t']) | 8405 func.AddInfo('result', ['uint32_t']) |
| 8406 func.passthrough_service_doer_args.append(Argument('result', 'uint32_t*')) |
| 8276 | 8407 |
| 8277 def WriteServiceUnitTest(self, func, f, *extras): | 8408 def WriteServiceUnitTest(self, func, f, *extras): |
| 8278 """Overrriden from TypeHandler.""" | 8409 """Overrriden from TypeHandler.""" |
| 8279 valid_test = """ | 8410 valid_test = """ |
| 8280 TEST_P(%(test_name)s, %(name)sValidArgs) { | 8411 TEST_P(%(test_name)s, %(name)sValidArgs) { |
| 8281 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); | 8412 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); |
| 8282 SpecializedSetup<cmds::%(name)s, 0>(true); | 8413 SpecializedSetup<cmds::%(name)s, 0>(true); |
| 8283 cmds::%(name)s cmd; | 8414 cmds::%(name)s cmd; |
| 8284 cmd.Init(%(args)s%(comma)sshared_memory_id_, shared_memory_offset_);""" | 8415 cmd.Init(%(args)s%(comma)sshared_memory_id_, shared_memory_offset_);""" |
| 8285 if func.IsUnsafe(): | 8416 if func.IsUnsafe(): |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8354 } | 8485 } |
| 8355 """ | 8486 """ |
| 8356 f.write(code % {'func_name': func.name}) | 8487 f.write(code % {'func_name': func.name}) |
| 8357 func.WriteHandlerValidation(f) | 8488 func.WriteHandlerValidation(f) |
| 8358 f.write(" *result_dst = %s(%s);\n" % | 8489 f.write(" *result_dst = %s(%s);\n" % |
| 8359 (func.GetGLFunctionName(), func.MakeOriginalArgString(""))) | 8490 (func.GetGLFunctionName(), func.MakeOriginalArgString(""))) |
| 8360 f.write(" return error::kNoError;\n") | 8491 f.write(" return error::kNoError;\n") |
| 8361 f.write("}\n") | 8492 f.write("}\n") |
| 8362 f.write("\n") | 8493 f.write("\n") |
| 8363 | 8494 |
| 8495 def WritePassthroughServiceImplementation(self, func, f): |
| 8496 """Overrriden from TypeHandler.""" |
| 8497 self.WritePassthroughServiceFunctionHeader(func, f) |
| 8498 self.WriteServiceHandlerArgGetCode(func, f) |
| 8499 |
| 8500 code = """ typedef cmds::%(func_name)s::Result Result; |
| 8501 Result* result = GetSharedMemoryAs<Result*>( |
| 8502 c.result_shm_id, c.result_shm_offset, sizeof(*result)); |
| 8503 if (!result) { |
| 8504 return error::kOutOfBounds; |
| 8505 } |
| 8506 """ |
| 8507 f.write(code % {'func_name': func.name}) |
| 8508 self.WritePassthroughServiceFunctionDoerCall(func, f) |
| 8509 f.write(" return error::kNoError;\n") |
| 8510 f.write("}\n") |
| 8511 f.write("\n") |
| 8512 |
| 8364 def WriteGLES2Implementation(self, func, f): | 8513 def WriteGLES2Implementation(self, func, f): |
| 8365 """Overrriden from TypeHandler.""" | 8514 """Overrriden from TypeHandler.""" |
| 8366 impl_func = func.GetInfo('impl_func') | 8515 impl_func = func.GetInfo('impl_func') |
| 8367 if impl_func == None or impl_func == True: | 8516 if impl_func == None or impl_func == True: |
| 8368 error_value = func.GetInfo("error_value") or "GL_FALSE" | 8517 error_value = func.GetInfo("error_value") or "GL_FALSE" |
| 8369 f.write("%s GLES2Implementation::%s(%s) {\n" % | 8518 f.write("%s GLES2Implementation::%s(%s) {\n" % |
| 8370 (func.return_type, func.original_name, | 8519 (func.return_type, func.original_name, |
| 8371 func.MakeTypedOriginalArgString(""))) | 8520 func.MakeTypedOriginalArgString(""))) |
| 8372 f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") | 8521 f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") |
| 8373 self.WriteTraceEvent(func, f) | 8522 self.WriteTraceEvent(func, f) |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8543 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 8692 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 8544 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 8693 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 8545 } | 8694 } |
| 8546 """ | 8695 """ |
| 8547 self.WriteValidUnitTest(func, f, invalid_test, *extras) | 8696 self.WriteValidUnitTest(func, f, invalid_test, *extras) |
| 8548 | 8697 |
| 8549 def WriteServiceImplementation(self, func, f): | 8698 def WriteServiceImplementation(self, func, f): |
| 8550 """Overrriden from TypeHandler.""" | 8699 """Overrriden from TypeHandler.""" |
| 8551 pass | 8700 pass |
| 8552 | 8701 |
| 8702 def WritePassthroughServiceImplementation(self, func, f): |
| 8703 """Overrriden from TypeHandler.""" |
| 8704 pass |
| 8705 |
| 8553 class NamedType(object): | 8706 class NamedType(object): |
| 8554 """A class that represents a type of an argument in a client function. | 8707 """A class that represents a type of an argument in a client function. |
| 8555 | 8708 |
| 8556 A type of an argument that is to be passed through in the command buffer | 8709 A type of an argument that is to be passed through in the command buffer |
| 8557 command. Currently used only for the arguments that are specificly named in | 8710 command. Currently used only for the arguments that are specificly named in |
| 8558 the 'cmd_buffer_functions.txt' f, mostly enums. | 8711 the 'cmd_buffer_functions.txt' f, mostly enums. |
| 8559 """ | 8712 """ |
| 8560 | 8713 |
| 8561 def __init__(self, info): | 8714 def __init__(self, info): |
| 8562 assert not 'is_complete' in info or info['is_complete'] == True | 8715 assert not 'is_complete' in info or info['is_complete'] == True |
| (...skipping 815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9378 self.name = name | 9531 self.name = name |
| 9379 self.original_name = info['original_name'] | 9532 self.original_name = info['original_name'] |
| 9380 | 9533 |
| 9381 self.original_args = self.ParseArgs(info['original_args']) | 9534 self.original_args = self.ParseArgs(info['original_args']) |
| 9382 | 9535 |
| 9383 if 'cmd_args' in info: | 9536 if 'cmd_args' in info: |
| 9384 self.args_for_cmds = self.ParseArgs(info['cmd_args']) | 9537 self.args_for_cmds = self.ParseArgs(info['cmd_args']) |
| 9385 else: | 9538 else: |
| 9386 self.args_for_cmds = self.original_args[:] | 9539 self.args_for_cmds = self.original_args[:] |
| 9387 | 9540 |
| 9541 self.passthrough_service_doer_args = self.original_args[:] |
| 9542 |
| 9388 self.return_type = info['return_type'] | 9543 self.return_type = info['return_type'] |
| 9389 if self.return_type != 'void': | 9544 if self.return_type != 'void': |
| 9390 self.return_arg = CreateArg(info['return_type'] + " result") | 9545 self.return_arg = CreateArg(info['return_type'] + " result") |
| 9391 else: | 9546 else: |
| 9392 self.return_arg = None | 9547 self.return_arg = None |
| 9393 | 9548 |
| 9394 self.num_pointer_args = sum( | 9549 self.num_pointer_args = sum( |
| 9395 [1 for arg in self.args_for_cmds if arg.IsPointer()]) | 9550 [1 for arg in self.args_for_cmds if arg.IsPointer()]) |
| 9396 if self.num_pointer_args > 0: | 9551 if self.num_pointer_args > 0: |
| 9397 for arg in reversed(self.original_args): | 9552 for arg in reversed(self.original_args): |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9535 return [arg for arg in self.args_for_cmds if arg.IsConstant()] | 9690 return [arg for arg in self.args_for_cmds if arg.IsConstant()] |
| 9536 | 9691 |
| 9537 def GetInitArgs(self): | 9692 def GetInitArgs(self): |
| 9538 """Gets the init args for this function.""" | 9693 """Gets the init args for this function.""" |
| 9539 return self.init_args | 9694 return self.init_args |
| 9540 | 9695 |
| 9541 def GetOriginalArgs(self): | 9696 def GetOriginalArgs(self): |
| 9542 """Gets the original arguments to this function.""" | 9697 """Gets the original arguments to this function.""" |
| 9543 return self.original_args | 9698 return self.original_args |
| 9544 | 9699 |
| 9700 def GetPassthroughServiceDoerArgs(self): |
| 9701 """Gets the original arguments to this function.""" |
| 9702 return self.passthrough_service_doer_args |
| 9703 |
| 9545 def GetLastOriginalArg(self): | 9704 def GetLastOriginalArg(self): |
| 9546 """Gets the last original argument to this function.""" | 9705 """Gets the last original argument to this function.""" |
| 9547 return self.original_args[len(self.original_args) - 1] | 9706 return self.original_args[len(self.original_args) - 1] |
| 9548 | 9707 |
| 9549 def GetLastOriginalPointerArg(self): | 9708 def GetLastOriginalPointerArg(self): |
| 9550 return self.last_original_pointer_arg | 9709 return self.last_original_pointer_arg |
| 9551 | 9710 |
| 9552 def GetResourceIdArg(self): | 9711 def GetResourceIdArg(self): |
| 9553 for arg in self.original_args: | 9712 for arg in self.original_args: |
| 9554 if hasattr(arg, 'resource_type'): | 9713 if hasattr(arg, 'resource_type'): |
| (...skipping 14 matching lines...) Expand all Loading... |
| 9569 ["%s %s%s" % (arg.type, prefix, arg.name) for arg in args]) | 9728 ["%s %s%s" % (arg.type, prefix, arg.name) for arg in args]) |
| 9570 return self._MaybePrependComma(arg_string, add_comma) | 9729 return self._MaybePrependComma(arg_string, add_comma) |
| 9571 | 9730 |
| 9572 def MakeOriginalArgString(self, prefix, add_comma = False, separator = ", "): | 9731 def MakeOriginalArgString(self, prefix, add_comma = False, separator = ", "): |
| 9573 """Gets the list of arguments as they are in GL.""" | 9732 """Gets the list of arguments as they are in GL.""" |
| 9574 args = self.GetOriginalArgs() | 9733 args = self.GetOriginalArgs() |
| 9575 arg_string = separator.join( | 9734 arg_string = separator.join( |
| 9576 ["%s%s" % (prefix, arg.name) for arg in args]) | 9735 ["%s%s" % (prefix, arg.name) for arg in args]) |
| 9577 return self._MaybePrependComma(arg_string, add_comma) | 9736 return self._MaybePrependComma(arg_string, add_comma) |
| 9578 | 9737 |
| 9738 def MakePassthroughServiceDoerArgString(self, prefix, add_comma = False, |
| 9739 separator = ", "): |
| 9740 """Gets the list of arguments as they are in used by the passthrough |
| 9741 service doer function.""" |
| 9742 args = self.GetPassthroughServiceDoerArgs() |
| 9743 arg_string = separator.join( |
| 9744 ["%s%s" % (prefix, arg.name) for arg in args]) |
| 9745 return self._MaybePrependComma(arg_string, add_comma) |
| 9746 |
| 9579 def MakeHelperArgString(self, prefix, add_comma = False, separator = ", "): | 9747 def MakeHelperArgString(self, prefix, add_comma = False, separator = ", "): |
| 9580 """Gets a list of GL arguments after removing unneeded arguments.""" | 9748 """Gets a list of GL arguments after removing unneeded arguments.""" |
| 9581 args = self.GetOriginalArgs() | 9749 args = self.GetOriginalArgs() |
| 9582 arg_string = separator.join( | 9750 arg_string = separator.join( |
| 9583 ["%s%s" % (prefix, arg.name) | 9751 ["%s%s" % (prefix, arg.name) |
| 9584 for arg in args if not arg.IsConstant()]) | 9752 for arg in args if not arg.IsConstant()]) |
| 9585 return self._MaybePrependComma(arg_string, add_comma) | 9753 return self._MaybePrependComma(arg_string, add_comma) |
| 9586 | 9754 |
| 9587 def MakeTypedPepperArgString(self, prefix): | 9755 def MakeTypedPepperArgString(self, prefix): |
| 9588 """Gets a list of arguments as they need to be for Pepper.""" | 9756 """Gets a list of arguments as they need to be for Pepper.""" |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9742 self.type_handler.WriteDocs(self, f) | 9910 self.type_handler.WriteDocs(self, f) |
| 9743 | 9911 |
| 9744 def WriteCmdHelper(self, f): | 9912 def WriteCmdHelper(self, f): |
| 9745 """Writes the cmd's helper.""" | 9913 """Writes the cmd's helper.""" |
| 9746 self.type_handler.WriteCmdHelper(self, f) | 9914 self.type_handler.WriteCmdHelper(self, f) |
| 9747 | 9915 |
| 9748 def WriteServiceImplementation(self, f): | 9916 def WriteServiceImplementation(self, f): |
| 9749 """Writes the service implementation for a command.""" | 9917 """Writes the service implementation for a command.""" |
| 9750 self.type_handler.WriteServiceImplementation(self, f) | 9918 self.type_handler.WriteServiceImplementation(self, f) |
| 9751 | 9919 |
| 9920 def WritePassthroughServiceImplementation(self, f): |
| 9921 """Writes the service implementation for a command.""" |
| 9922 self.type_handler.WritePassthroughServiceImplementation(self, f) |
| 9923 |
| 9752 def WriteServiceUnitTest(self, f, *extras): | 9924 def WriteServiceUnitTest(self, f, *extras): |
| 9753 """Writes the service implementation for a command.""" | 9925 """Writes the service implementation for a command.""" |
| 9754 self.type_handler.WriteServiceUnitTest(self, f, *extras) | 9926 self.type_handler.WriteServiceUnitTest(self, f, *extras) |
| 9755 | 9927 |
| 9756 def WriteGLES2CLibImplementation(self, f): | 9928 def WriteGLES2CLibImplementation(self, f): |
| 9757 """Writes the GLES2 C Lib Implemention.""" | 9929 """Writes the GLES2 C Lib Implemention.""" |
| 9758 self.type_handler.WriteGLES2CLibImplementation(self, f) | 9930 self.type_handler.WriteGLES2CLibImplementation(self, f) |
| 9759 | 9931 |
| 9760 def WriteGLES2InterfaceHeader(self, f): | 9932 def WriteGLES2InterfaceHeader(self, f): |
| 9761 """Writes the GLES2 Interface declaration.""" | 9933 """Writes the GLES2 Interface declaration.""" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9858 | 10030 |
| 9859 Function.InitFunction(self) | 10031 Function.InitFunction(self) |
| 9860 | 10032 |
| 9861 def IsImmediate(self): | 10033 def IsImmediate(self): |
| 9862 return True | 10034 return True |
| 9863 | 10035 |
| 9864 def WriteServiceImplementation(self, f): | 10036 def WriteServiceImplementation(self, f): |
| 9865 """Overridden from Function""" | 10037 """Overridden from Function""" |
| 9866 self.type_handler.WriteImmediateServiceImplementation(self, f) | 10038 self.type_handler.WriteImmediateServiceImplementation(self, f) |
| 9867 | 10039 |
| 10040 def WritePassthroughServiceImplementation(self, f): |
| 10041 """Overridden from Function""" |
| 10042 self.type_handler.WritePassthroughImmediateServiceImplementation(self, f) |
| 10043 |
| 9868 def WriteHandlerImplementation(self, f): | 10044 def WriteHandlerImplementation(self, f): |
| 9869 """Overridden from Function""" | 10045 """Overridden from Function""" |
| 9870 self.type_handler.WriteImmediateHandlerImplementation(self, f) | 10046 self.type_handler.WriteImmediateHandlerImplementation(self, f) |
| 9871 | 10047 |
| 9872 def WriteServiceUnitTest(self, f, *extras): | 10048 def WriteServiceUnitTest(self, f, *extras): |
| 9873 """Writes the service implementation for a command.""" | 10049 """Writes the service implementation for a command.""" |
| 9874 self.type_handler.WriteImmediateServiceUnitTest(self, f, *extras) | 10050 self.type_handler.WriteImmediateServiceUnitTest(self, f, *extras) |
| 9875 | 10051 |
| 9876 def WriteValidationCode(self, f): | 10052 def WriteValidationCode(self, f): |
| 9877 """Overridden from Function""" | 10053 """Overridden from Function""" |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9933 new_args_for_cmds.append(new_arg) | 10109 new_args_for_cmds.append(new_arg) |
| 9934 | 10110 |
| 9935 self.args_for_cmds = new_args_for_cmds | 10111 self.args_for_cmds = new_args_for_cmds |
| 9936 | 10112 |
| 9937 Function.InitFunction(self) | 10113 Function.InitFunction(self) |
| 9938 | 10114 |
| 9939 def WriteServiceImplementation(self, f): | 10115 def WriteServiceImplementation(self, f): |
| 9940 """Overridden from Function""" | 10116 """Overridden from Function""" |
| 9941 self.type_handler.WriteBucketServiceImplementation(self, f) | 10117 self.type_handler.WriteBucketServiceImplementation(self, f) |
| 9942 | 10118 |
| 10119 def WritePassthroughServiceImplementation(self, f): |
| 10120 """Overridden from Function""" |
| 10121 self.type_handler.WritePassthroughBucketServiceImplementation(self, f) |
| 10122 |
| 9943 def WriteHandlerImplementation(self, f): | 10123 def WriteHandlerImplementation(self, f): |
| 9944 """Overridden from Function""" | 10124 """Overridden from Function""" |
| 9945 self.type_handler.WriteBucketHandlerImplementation(self, f) | 10125 self.type_handler.WriteBucketHandlerImplementation(self, f) |
| 9946 | 10126 |
| 9947 def WriteServiceUnitTest(self, f, *extras): | 10127 def WriteServiceUnitTest(self, f, *extras): |
| 9948 """Overridden from Function""" | 10128 """Overridden from Function""" |
| 9949 self.type_handler.WriteBucketServiceUnitTest(self, f, *extras) | 10129 self.type_handler.WriteBucketServiceUnitTest(self, f, *extras) |
| 9950 | 10130 |
| 9951 def MakeOriginalArgString(self, prefix, add_comma = False, separator = ", "): | 10131 def MakeOriginalArgString(self, prefix, add_comma = False, separator = ", "): |
| 9952 """Overridden from Function""" | 10132 """Overridden from Function""" |
| (...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10564 return false; | 10744 return false; |
| 10565 """ % capability) | 10745 """ % capability) |
| 10566 f.write(""" default: | 10746 f.write(""" default: |
| 10567 NOTREACHED(); | 10747 NOTREACHED(); |
| 10568 return false; | 10748 return false; |
| 10569 } | 10749 } |
| 10570 } | 10750 } |
| 10571 """) | 10751 """) |
| 10572 self.generated_cpp_filenames.append(filename) | 10752 self.generated_cpp_filenames.append(filename) |
| 10573 | 10753 |
| 10754 def WritePassthroughServiceImplementation(self, filename): |
| 10755 """Writes the passthrough service decorder implementation.""" |
| 10756 with CWriter(filename) as f: |
| 10757 header = """ |
| 10758 #include \"gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h\" |
| 10759 |
| 10760 namespace gpu { |
| 10761 namespace gles2 { |
| 10762 |
| 10763 """; |
| 10764 f.write(header); |
| 10765 |
| 10766 for func in self.functions: |
| 10767 func.WritePassthroughServiceImplementation(f) |
| 10768 |
| 10769 footer = """ |
| 10770 } // namespace gles2 |
| 10771 } // namespace gpu |
| 10772 |
| 10773 """; |
| 10774 f.write(footer); |
| 10775 self.generated_cpp_filenames.append(filename) |
| 10776 |
| 10574 def WriteServiceUnitTests(self, filename_pattern): | 10777 def WriteServiceUnitTests(self, filename_pattern): |
| 10575 """Writes the service decorder unit tests.""" | 10778 """Writes the service decorder unit tests.""" |
| 10576 num_tests = len(self.functions) | 10779 num_tests = len(self.functions) |
| 10577 FUNCTIONS_PER_FILE = 98 # hard code this so it doesn't change. | 10780 FUNCTIONS_PER_FILE = 98 # hard code this so it doesn't change. |
| 10578 count = 0 | 10781 count = 0 |
| 10579 for test_num in range(0, num_tests, FUNCTIONS_PER_FILE): | 10782 for test_num in range(0, num_tests, FUNCTIONS_PER_FILE): |
| 10580 count += 1 | 10783 count += 1 |
| 10581 filename = filename_pattern % count | 10784 filename = filename_pattern % count |
| 10582 comment = "// It is included by gles2_cmd_decoder_unittest_%d.cc\n" \ | 10785 comment = "// It is included by gles2_cmd_decoder_unittest_%d.cc\n" \ |
| 10583 % count | 10786 % count |
| (...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11279 gen.WriteGLES2TraceImplementationHeader( | 11482 gen.WriteGLES2TraceImplementationHeader( |
| 11280 "gpu/command_buffer/client/gles2_trace_implementation_autogen.h") | 11483 "gpu/command_buffer/client/gles2_trace_implementation_autogen.h") |
| 11281 gen.WriteGLES2TraceImplementation( | 11484 gen.WriteGLES2TraceImplementation( |
| 11282 "gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h") | 11485 "gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h") |
| 11283 gen.WriteGLES2CLibImplementation( | 11486 gen.WriteGLES2CLibImplementation( |
| 11284 "gpu/command_buffer/client/gles2_c_lib_autogen.h") | 11487 "gpu/command_buffer/client/gles2_c_lib_autogen.h") |
| 11285 gen.WriteCmdHelperHeader( | 11488 gen.WriteCmdHelperHeader( |
| 11286 "gpu/command_buffer/client/gles2_cmd_helper_autogen.h") | 11489 "gpu/command_buffer/client/gles2_cmd_helper_autogen.h") |
| 11287 gen.WriteServiceImplementation( | 11490 gen.WriteServiceImplementation( |
| 11288 "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h") | 11491 "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h") |
| 11492 gen.WritePassthroughServiceImplementation( |
| 11493 "gpu/command_buffer/service/" + |
| 11494 "gles2_cmd_decoder_passthrough_handlers_autogen.cc") |
| 11289 gen.WriteServiceContextStateHeader( | 11495 gen.WriteServiceContextStateHeader( |
| 11290 "gpu/command_buffer/service/context_state_autogen.h") | 11496 "gpu/command_buffer/service/context_state_autogen.h") |
| 11291 gen.WriteServiceContextStateImpl( | 11497 gen.WriteServiceContextStateImpl( |
| 11292 "gpu/command_buffer/service/context_state_impl_autogen.h") | 11498 "gpu/command_buffer/service/context_state_impl_autogen.h") |
| 11293 gen.WriteClientContextStateHeader( | 11499 gen.WriteClientContextStateHeader( |
| 11294 "gpu/command_buffer/client/client_context_state_autogen.h") | 11500 "gpu/command_buffer/client/client_context_state_autogen.h") |
| 11295 gen.WriteClientContextStateImpl( | 11501 gen.WriteClientContextStateImpl( |
| 11296 "gpu/command_buffer/client/client_context_state_impl_autogen.h") | 11502 "gpu/command_buffer/client/client_context_state_impl_autogen.h") |
| 11297 gen.WriteServiceUnitTests( | 11503 gen.WriteServiceUnitTests( |
| 11298 "gpu/command_buffer/service/gles2_cmd_decoder_unittest_%d_autogen.h") | 11504 "gpu/command_buffer/service/gles2_cmd_decoder_unittest_%d_autogen.h") |
| (...skipping 15 matching lines...) Expand all Loading... |
| 11314 Format(gen.generated_cpp_filenames) | 11520 Format(gen.generated_cpp_filenames) |
| 11315 | 11521 |
| 11316 if gen.errors > 0: | 11522 if gen.errors > 0: |
| 11317 print "%d errors" % gen.errors | 11523 print "%d errors" % gen.errors |
| 11318 return 1 | 11524 return 1 |
| 11319 return 0 | 11525 return 0 |
| 11320 | 11526 |
| 11321 | 11527 |
| 11322 if __name__ == '__main__': | 11528 if __name__ == '__main__': |
| 11323 sys.exit(main(sys.argv[1:])) | 11529 sys.exit(main(sys.argv[1:])) |
| OLD | NEW |