Chromium Code Reviews| 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 4908 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4919 """ % {'name': func.name}) | 4919 """ % {'name': func.name}) |
| 4920 if func.IsUnsafe(): | 4920 if func.IsUnsafe(): |
| 4921 f.write("""if (!unsafe_es3_apis_enabled()) | 4921 f.write("""if (!unsafe_es3_apis_enabled()) |
| 4922 return error::kUnknownCommand; | 4922 return error::kUnknownCommand; |
| 4923 """) | 4923 """) |
| 4924 f.write("""const gles2::cmds::%(name)s& c = | 4924 f.write("""const gles2::cmds::%(name)s& c = |
| 4925 *static_cast<const gles2::cmds::%(name)s*>(cmd_data); | 4925 *static_cast<const gles2::cmds::%(name)s*>(cmd_data); |
| 4926 (void)c; | 4926 (void)c; |
| 4927 """ % {'name': func.name}) | 4927 """ % {'name': func.name}) |
| 4928 | 4928 |
| 4929 def WriteServiceImplementation(self, func, f): | 4929 def WriteServiceHandlerArgGetCode(self, func, f): |
| 4930 """Writes the service implementation for a command.""" | 4930 """Writes the argument unpack code for service handlers.""" |
| 4931 self.WriteServiceHandlerFunctionHeader(func, f) | |
| 4932 self.WriteHandlerExtensionCheck(func, f) | |
| 4933 self.WriteHandlerDeferReadWrite(func, f); | |
| 4934 if len(func.GetOriginalArgs()) > 0: | 4931 if len(func.GetOriginalArgs()) > 0: |
| 4935 last_arg = func.GetLastOriginalArg() | 4932 last_arg = func.GetLastOriginalArg() |
| 4936 all_but_last_arg = func.GetOriginalArgs()[:-1] | 4933 all_but_last_arg = func.GetOriginalArgs()[:-1] |
| 4937 for arg in all_but_last_arg: | 4934 for arg in all_but_last_arg: |
| 4938 arg.WriteGetCode(f) | 4935 arg.WriteGetCode(f) |
| 4939 self.WriteGetDataSizeCode(func, f) | 4936 self.WriteGetDataSizeCode(func, f) |
| 4940 last_arg.WriteGetCode(f) | 4937 last_arg.WriteGetCode(f) |
| 4938 | |
| 4939 def WriteImmediateServiceHandlerArgGetCode(self, func, f): | |
| 4940 """Writes the argument unpack code for immediate service handlers.""" | |
| 4941 for arg in func.GetOriginalArgs(): | |
| 4942 if arg.IsPointer(): | |
| 4943 self.WriteGetDataSizeCode(func, f) | |
| 4944 arg.WriteGetCode(f) | |
| 4945 | |
| 4946 def WriteBucketServiceHandlerArgGetCode(self, func, f): | |
| 4947 """Writes the argument unpack code for bucket service handlers.""" | |
| 4948 for arg in func.GetCmdArgs(): | |
| 4949 arg.WriteGetCode(f) | |
| 4950 | |
| 4951 def WriteServiceImplementation(self, func, f): | |
| 4952 """Writes the service implementation for a command.""" | |
| 4953 self.WriteServiceHandlerFunctionHeader(func, f) | |
| 4954 self.WriteHandlerExtensionCheck(func, f) | |
| 4955 self.WriteHandlerDeferReadWrite(func, f); | |
| 4956 self.WriteServiceHandlerArgGetCode(func, f) | |
| 4941 func.WriteHandlerValidation(f) | 4957 func.WriteHandlerValidation(f) |
| 4942 func.WriteHandlerImplementation(f) | 4958 func.WriteHandlerImplementation(f) |
| 4943 f.write(" return error::kNoError;\n") | 4959 f.write(" return error::kNoError;\n") |
| 4944 f.write("}\n") | 4960 f.write("}\n") |
| 4945 f.write("\n") | 4961 f.write("\n") |
| 4946 | 4962 |
| 4947 def WriteImmediateServiceImplementation(self, func, f): | 4963 def WriteImmediateServiceImplementation(self, func, f): |
| 4948 """Writes the service implementation for an immediate version of command.""" | 4964 """Writes the service implementation for an immediate version of command.""" |
| 4949 self.WriteServiceHandlerFunctionHeader(func, f) | 4965 self.WriteServiceHandlerFunctionHeader(func, f) |
| 4950 self.WriteHandlerExtensionCheck(func, f) | 4966 self.WriteHandlerExtensionCheck(func, f) |
| 4951 self.WriteHandlerDeferReadWrite(func, f); | 4967 self.WriteHandlerDeferReadWrite(func, f); |
| 4952 for arg in func.GetOriginalArgs(): | 4968 self.WriteImmediateServiceHandlerArgGetCode(func, f) |
| 4953 if arg.IsPointer(): | |
| 4954 self.WriteGetDataSizeCode(func, f) | |
| 4955 arg.WriteGetCode(f) | |
| 4956 func.WriteHandlerValidation(f) | 4969 func.WriteHandlerValidation(f) |
| 4957 func.WriteHandlerImplementation(f) | 4970 func.WriteHandlerImplementation(f) |
| 4958 f.write(" return error::kNoError;\n") | 4971 f.write(" return error::kNoError;\n") |
| 4959 f.write("}\n") | 4972 f.write("}\n") |
| 4960 f.write("\n") | 4973 f.write("\n") |
| 4961 | 4974 |
| 4962 def WriteBucketServiceImplementation(self, func, f): | 4975 def WriteBucketServiceImplementation(self, func, f): |
| 4963 """Writes the service implementation for a bucket version of command.""" | 4976 """Writes the service implementation for a bucket version of command.""" |
| 4964 self.WriteServiceHandlerFunctionHeader(func, f) | 4977 self.WriteServiceHandlerFunctionHeader(func, f) |
| 4965 self.WriteHandlerExtensionCheck(func, f) | 4978 self.WriteHandlerExtensionCheck(func, f) |
| 4966 self.WriteHandlerDeferReadWrite(func, f); | 4979 self.WriteHandlerDeferReadWrite(func, f); |
| 4967 for arg in func.GetCmdArgs(): | 4980 self.WriteBucketServiceHandlerArgGetCode(func, f) |
| 4968 arg.WriteGetCode(f) | |
| 4969 func.WriteHandlerValidation(f) | 4981 func.WriteHandlerValidation(f) |
| 4970 func.WriteHandlerImplementation(f) | 4982 func.WriteHandlerImplementation(f) |
| 4971 f.write(" return error::kNoError;\n") | 4983 f.write(" return error::kNoError;\n") |
| 4972 f.write("}\n") | 4984 f.write("}\n") |
| 4973 f.write("\n") | 4985 f.write("\n") |
| 4974 | 4986 |
| 4987 def WritePassthroughServiceFunctionHeader(self, func, f): | |
| 4988 """Writes function header for service passthrough handlers.""" | |
| 4989 f.write("""error::Error GLES2DecoderPassthroughImpl::Handle%(name)s( | |
| 4990 uint32_t immediate_data_size, const void* cmd_data) { | |
| 4991 """ % {'name': func.name}) | |
| 4992 f.write("""const gles2::cmds::%(name)s& c = | |
| 4993 *static_cast<const gles2::cmds::%(name)s*>(cmd_data); | |
| 4994 (void)c; | |
| 4995 """ % {'name': func.name}) | |
| 4996 | |
| 4997 def WritePassthroughServiceFunctionDoerCall(self, func, f): | |
| 4998 """Writes the function call to the passthrough service doer.""" | |
| 4999 f.write(""" error::Error error = Do%(name)s(%(args)s); | |
| 5000 if (error != error::kNoError) { | |
| 5001 return error; | |
| 5002 }""" % {'name': func.original_name, | |
| 5003 'args': func.MakePassthroughServiceDoerArgString("")}) | |
| 5004 | |
| 5005 def WritePassthroughServiceImplementation(self, func, f): | |
| 5006 """Writes the service implementation for a command.""" | |
| 5007 self.WritePassthroughServiceFunctionHeader(func, f) | |
|
piman
2016/05/25 23:34:42
I see that you don't have an extension check here.
Geoff Lang
2016/05/27 14:31:28
I think we can continue to report command errors i
| |
| 5008 self.WriteServiceHandlerArgGetCode(func, f) | |
| 5009 self.WritePassthroughServiceFunctionDoerCall(func, f) | |
| 5010 f.write(" return error::kNoError;\n") | |
| 5011 f.write("}\n") | |
| 5012 f.write("\n") | |
| 5013 | |
| 5014 def WritePassthroughImmediateServiceImplementation(self, func, f): | |
| 5015 """Writes the service implementation for a command.""" | |
| 5016 self.WritePassthroughServiceFunctionHeader(func, f) | |
| 5017 self.WriteImmediateServiceHandlerArgGetCode(func, f) | |
| 5018 self.WritePassthroughServiceFunctionDoerCall(func, f) | |
| 5019 f.write(" return error::kNoError;\n") | |
| 5020 f.write("}\n") | |
| 5021 f.write("\n") | |
| 5022 | |
| 5023 def WritePassthroughBucketServiceImplementation(self, func, f): | |
| 5024 """Writes the service implementation for a command.""" | |
| 5025 self.WritePassthroughServiceFunctionHeader(func, f) | |
| 5026 self.WriteBucketServiceHandlerArgGetCode(func, f) | |
| 5027 self.WritePassthroughServiceFunctionDoerCall(func, f) | |
| 5028 f.write(" return error::kNoError;\n") | |
| 5029 f.write("}\n") | |
| 5030 f.write("\n") | |
| 5031 | |
| 4975 def WriteHandlerExtensionCheck(self, func, f): | 5032 def WriteHandlerExtensionCheck(self, func, f): |
| 4976 if func.GetInfo('extension_flag'): | 5033 if func.GetInfo('extension_flag'): |
| 4977 f.write(" if (!features().%s) {\n" % func.GetInfo('extension_flag')) | 5034 f.write(" if (!features().%s) {\n" % func.GetInfo('extension_flag')) |
| 4978 f.write(" return error::kUnknownCommand;") | 5035 f.write(" return error::kUnknownCommand;") |
| 4979 f.write(" }\n\n") | 5036 f.write(" }\n\n") |
| 4980 | 5037 |
| 4981 def WriteHandlerDeferReadWrite(self, func, f): | 5038 def WriteHandlerDeferReadWrite(self, func, f): |
| 4982 """Writes the code to handle deferring reads or writes.""" | 5039 """Writes the code to handle deferring reads or writes.""" |
| 4983 defer_draws = func.GetInfo('defer_draws') | 5040 defer_draws = func.GetInfo('defer_draws') |
| 4984 defer_reads = func.GetInfo('defer_reads') | 5041 defer_reads = func.GetInfo('defer_reads') |
| (...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5629 pass | 5686 pass |
| 5630 | 5687 |
| 5631 def WriteImmediateServiceImplementation(self, func, f): | 5688 def WriteImmediateServiceImplementation(self, func, f): |
| 5632 """Overrriden from TypeHandler.""" | 5689 """Overrriden from TypeHandler.""" |
| 5633 pass | 5690 pass |
| 5634 | 5691 |
| 5635 def WriteBucketServiceImplementation(self, func, f): | 5692 def WriteBucketServiceImplementation(self, func, f): |
| 5636 """Overrriden from TypeHandler.""" | 5693 """Overrriden from TypeHandler.""" |
| 5637 pass | 5694 pass |
| 5638 | 5695 |
| 5696 def WritePassthroughServiceImplementation(self, func, f): | |
| 5697 """Overrriden from TypeHandler.""" | |
| 5698 pass | |
| 5699 | |
| 5700 def WritePassthroughImmediateServiceImplementation(self, func, f): | |
| 5701 """Overrriden from TypeHandler.""" | |
| 5702 pass | |
| 5703 | |
| 5704 def WritePassthroughBucketServiceImplementation(self, func, f): | |
| 5705 """Overrriden from TypeHandler.""" | |
| 5706 pass | |
| 5707 | |
| 5639 def WriteServiceUnitTest(self, func, f, *extras): | 5708 def WriteServiceUnitTest(self, func, f, *extras): |
| 5640 """Overrriden from TypeHandler.""" | 5709 """Overrriden from TypeHandler.""" |
| 5641 pass | 5710 pass |
| 5642 | 5711 |
| 5643 def WriteImmediateServiceUnitTest(self, func, f, *extras): | 5712 def WriteImmediateServiceUnitTest(self, func, f, *extras): |
| 5644 """Overrriden from TypeHandler.""" | 5713 """Overrriden from TypeHandler.""" |
| 5645 pass | 5714 pass |
| 5646 | 5715 |
| 5647 def WriteImmediateCmdGetTotalSize(self, func, f): | 5716 def WriteImmediateCmdGetTotalSize(self, func, f): |
| 5648 """Overrriden from TypeHandler.""" | 5717 """Overrriden from TypeHandler.""" |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5871 def WriteImmediateServiceUnitTest(self, func, f, *extras): | 5940 def WriteImmediateServiceUnitTest(self, func, f, *extras): |
| 5872 """Overrriden from TypeHandler.""" | 5941 """Overrriden from TypeHandler.""" |
| 5873 pass | 5942 pass |
| 5874 | 5943 |
| 5875 def WriteBucketServiceImplementation(self, func, f): | 5944 def WriteBucketServiceImplementation(self, func, f): |
| 5876 """Overrriden from TypeHandler.""" | 5945 """Overrriden from TypeHandler.""" |
| 5877 if ((not func.name == 'CompressedTexSubImage2DBucket') and | 5946 if ((not func.name == 'CompressedTexSubImage2DBucket') and |
| 5878 (not func.name == 'CompressedTexSubImage3DBucket')): | 5947 (not func.name == 'CompressedTexSubImage3DBucket')): |
| 5879 TypeHandler.WriteBucketServiceImplemenation(self, func, f) | 5948 TypeHandler.WriteBucketServiceImplemenation(self, func, f) |
| 5880 | 5949 |
| 5950 def WritePassthroughBucketServiceImplementation(self, func, f): | |
| 5951 """Overrriden from TypeHandler.""" | |
| 5952 if ((not func.name == 'CompressedTexSubImage2DBucket') and | |
| 5953 (not func.name == 'CompressedTexSubImage3DBucket')): | |
| 5954 TypeHandler.WritePassthroughBucketServiceImplementation(self, func, f) | |
| 5881 | 5955 |
| 5882 class BindHandler(TypeHandler): | 5956 class BindHandler(TypeHandler): |
| 5883 """Handler for glBind___ type functions.""" | 5957 """Handler for glBind___ type functions.""" |
| 5884 | 5958 |
| 5885 def WriteServiceUnitTest(self, func, f, *extras): | 5959 def WriteServiceUnitTest(self, func, f, *extras): |
| 5886 """Overrriden from TypeHandler.""" | 5960 """Overrriden from TypeHandler.""" |
| 5887 | 5961 |
| 5888 if len(func.GetOriginalArgs()) == 1: | 5962 if len(func.GetOriginalArgs()) == 1: |
| 5889 valid_test = """ | 5963 valid_test = """ |
| 5890 TEST_P(%(test_name)s, %(name)sValidArgs) { | 5964 TEST_P(%(test_name)s, %(name)sValidArgs) { |
| (...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6478 (func.name, func.MakeCmdArgString(""))) | 6552 (func.name, func.MakeCmdArgString(""))) |
| 6479 f.write(' GPU_CLIENT_LOG("returned " << client_id);\n') | 6553 f.write(' GPU_CLIENT_LOG("returned " << client_id);\n') |
| 6480 f.write(" CheckGLError();\n") | 6554 f.write(" CheckGLError();\n") |
| 6481 if func.return_type == "GLsync": | 6555 if func.return_type == "GLsync": |
| 6482 f.write(" return reinterpret_cast<GLsync>(client_id);\n") | 6556 f.write(" return reinterpret_cast<GLsync>(client_id);\n") |
| 6483 else: | 6557 else: |
| 6484 f.write(" return client_id;\n") | 6558 f.write(" return client_id;\n") |
| 6485 f.write("}\n") | 6559 f.write("}\n") |
| 6486 f.write("\n") | 6560 f.write("\n") |
| 6487 | 6561 |
| 6562 def WritePassthroughServiceImplementation(self, func, f): | |
| 6563 """Overrriden from TypeHandler.""" | |
| 6564 pass | |
| 6488 | 6565 |
| 6489 class DeleteHandler(TypeHandler): | 6566 class DeleteHandler(TypeHandler): |
| 6490 """Handler for glDelete___ single resource type functions.""" | 6567 """Handler for glDelete___ single resource type functions.""" |
| 6491 | 6568 |
| 6492 def WriteServiceImplementation(self, func, f): | 6569 def WriteServiceImplementation(self, func, f): |
| 6493 """Overrriden from TypeHandler.""" | 6570 """Overrriden from TypeHandler.""" |
| 6494 if func.IsUnsafe(): | 6571 if func.IsUnsafe(): |
| 6495 TypeHandler.WriteServiceImplementation(self, func, f) | 6572 TypeHandler.WriteServiceImplementation(self, func, f) |
| 6496 # HandleDeleteShader and HandleDeleteProgram are manually written. | 6573 # HandleDeleteShader and HandleDeleteProgram are manually written. |
| 6497 pass | 6574 pass |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6774 f.write(" RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));\n") | 6851 f.write(" RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));\n") |
| 6775 f.write(" EXPECT_EQ(0, memcmp(ids, ImmediateDataAddress(&cmd),\n") | 6852 f.write(" EXPECT_EQ(0, memcmp(ids, ImmediateDataAddress(&cmd),\n") |
| 6776 f.write(" sizeof(ids)));\n") | 6853 f.write(" sizeof(ids)));\n") |
| 6777 f.write("}\n") | 6854 f.write("}\n") |
| 6778 f.write("\n") | 6855 f.write("\n") |
| 6779 | 6856 |
| 6780 | 6857 |
| 6781 class GETnHandler(TypeHandler): | 6858 class GETnHandler(TypeHandler): |
| 6782 """Handler for GETn for glGetBooleanv, glGetFloatv, ... type functions.""" | 6859 """Handler for GETn for glGetBooleanv, glGetFloatv, ... type functions.""" |
| 6783 | 6860 |
| 6861 def InitFunction(self, func): | |
| 6862 """Overrriden from TypeHandler.""" | |
| 6863 TypeHandler.InitFunction(self, func) | |
| 6864 | |
| 6865 if func.name == 'GetSynciv': | |
| 6866 return | |
| 6867 | |
| 6868 arg_insert_point = len(func.passthrough_service_doer_args) - 1; | |
| 6869 func.passthrough_service_doer_args.insert( | |
| 6870 arg_insert_point, Argument('length', 'GLsizei*')) | |
| 6871 func.passthrough_service_doer_args.insert( | |
| 6872 arg_insert_point, Argument('bufsize', 'GLsizei')) | |
| 6873 | |
| 6784 def NeedsDataTransferFunction(self, func): | 6874 def NeedsDataTransferFunction(self, func): |
| 6785 """Overriden from TypeHandler.""" | 6875 """Overriden from TypeHandler.""" |
| 6786 return False | 6876 return False |
| 6787 | 6877 |
| 6788 def WriteServiceImplementation(self, func, f): | 6878 def WriteServiceImplementation(self, func, f): |
| 6789 """Overrriden from TypeHandler.""" | 6879 """Overrriden from TypeHandler.""" |
| 6790 self.WriteServiceHandlerFunctionHeader(func, f) | 6880 self.WriteServiceHandlerFunctionHeader(func, f) |
| 6791 last_arg = func.GetLastOriginalArg() | 6881 last_arg = func.GetLastOriginalArg() |
| 6792 # All except shm_id and shm_offset. | 6882 # All except shm_id and shm_offset. |
| 6793 all_but_last_args = func.GetCmdArgs()[:-2] | 6883 all_but_last_args = func.GetCmdArgs()[:-2] |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6827 code = """ GLenum error = LOCAL_PEEK_GL_ERROR("%(func_name)s"); | 6917 code = """ GLenum error = LOCAL_PEEK_GL_ERROR("%(func_name)s"); |
| 6828 if (error == GL_NO_ERROR) { | 6918 if (error == GL_NO_ERROR) { |
| 6829 result->SetNumResults(num_values); | 6919 result->SetNumResults(num_values); |
| 6830 } | 6920 } |
| 6831 return error::kNoError; | 6921 return error::kNoError; |
| 6832 } | 6922 } |
| 6833 | 6923 |
| 6834 """ | 6924 """ |
| 6835 f.write(code % {'func_name': func.name}) | 6925 f.write(code % {'func_name': func.name}) |
| 6836 | 6926 |
| 6927 def WritePassthroughServiceImplementation(self, func, f): | |
| 6928 """Overrriden from TypeHandler.""" | |
| 6929 self.WritePassthroughServiceFunctionHeader(func, f) | |
| 6930 last_arg = func.GetLastOriginalArg() | |
| 6931 # All except shm_id and shm_offset. | |
| 6932 all_but_last_args = func.GetCmdArgs()[:-2] | |
| 6933 for arg in all_but_last_args: | |
| 6934 arg.WriteGetCode(f) | |
| 6935 | |
| 6936 code = """ unsigned int buffer_size = 0; | |
| 6937 typedef cmds::%(func_name)s::Result Result; | |
| 6938 Result* result = GetSharedMemoryAndSizeAs<Result*>( | |
| 6939 c.%(last_arg_name)s_shm_id, c.%(last_arg_name)s_shm_offset, | |
| 6940 &buffer_size); | |
| 6941 %(last_arg_type)s %(last_arg_name)s = result ? result->GetData() : NULL; | |
|
piman
2016/05/25 23:34:42
Is it the responsibility of the Do* function to ch
Geoff Lang
2016/05/27 14:31:28
Good point, added the null check here.
| |
| 6942 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); | |
| 6943 GLsizei written_values = 0; | |
| 6944 GLsizei* length = &written_values; | |
| 6945 """ | |
| 6946 f.write(code % { | |
| 6947 'last_arg_type': last_arg.type, | |
| 6948 'last_arg_name': last_arg.name, | |
| 6949 'func_name': func.name, | |
| 6950 }) | |
| 6951 | |
| 6952 self.WritePassthroughServiceFunctionDoerCall(func, f) | |
| 6953 | |
| 6954 code = """ if (written_values > bufsize) { | |
|
piman
2016/05/25 23:34:42
Is the intent that the function will only write up
Geoff Lang
2016/05/27 14:31:28
Yes, exactly.
| |
| 6955 return error::kOutOfBounds; | |
| 6956 } | |
| 6957 result->SetNumResults(written_values); | |
| 6958 return error::kNoError; | |
| 6959 } | |
| 6960 | |
| 6961 """ | |
| 6962 f.write(code % {'func_name': func.name}) | |
| 6963 | |
| 6837 def WriteGLES2Implementation(self, func, f): | 6964 def WriteGLES2Implementation(self, func, f): |
| 6838 """Overrriden from TypeHandler.""" | 6965 """Overrriden from TypeHandler.""" |
| 6839 impl_decl = func.GetInfo('impl_decl') | 6966 impl_decl = func.GetInfo('impl_decl') |
| 6840 if impl_decl == None or impl_decl == True: | 6967 if impl_decl == None or impl_decl == True: |
| 6841 f.write("%s GLES2Implementation::%s(%s) {\n" % | 6968 f.write("%s GLES2Implementation::%s(%s) {\n" % |
| 6842 (func.return_type, func.original_name, | 6969 (func.return_type, func.original_name, |
| 6843 func.MakeTypedOriginalArgString(""))) | 6970 func.MakeTypedOriginalArgString(""))) |
| 6844 f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") | 6971 f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") |
| 6845 func.WriteDestinationInitalizationValidation(f) | 6972 func.WriteDestinationInitalizationValidation(f) |
| 6846 self.WriteClientGLCallLog(func, f) | 6973 self.WriteClientGLCallLog(func, f) |
| (...skipping 1416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 8263 | 8390 |
| 8264 class IsHandler(TypeHandler): | 8391 class IsHandler(TypeHandler): |
| 8265 """Handler for glIs____ type and glGetError functions.""" | 8392 """Handler for glIs____ type and glGetError functions.""" |
| 8266 | 8393 |
| 8267 def InitFunction(self, func): | 8394 def InitFunction(self, func): |
| 8268 """Overrriden from TypeHandler.""" | 8395 """Overrriden from TypeHandler.""" |
| 8269 func.AddCmdArg(Argument("result_shm_id", 'uint32_t')) | 8396 func.AddCmdArg(Argument("result_shm_id", 'uint32_t')) |
| 8270 func.AddCmdArg(Argument("result_shm_offset", 'uint32_t')) | 8397 func.AddCmdArg(Argument("result_shm_offset", 'uint32_t')) |
| 8271 if func.GetInfo('result') == None: | 8398 if func.GetInfo('result') == None: |
| 8272 func.AddInfo('result', ['uint32_t']) | 8399 func.AddInfo('result', ['uint32_t']) |
| 8400 func.passthrough_service_doer_args.append(Argument('result', 'uint32_t*')) | |
| 8273 | 8401 |
| 8274 def WriteServiceUnitTest(self, func, f, *extras): | 8402 def WriteServiceUnitTest(self, func, f, *extras): |
| 8275 """Overrriden from TypeHandler.""" | 8403 """Overrriden from TypeHandler.""" |
| 8276 valid_test = """ | 8404 valid_test = """ |
| 8277 TEST_P(%(test_name)s, %(name)sValidArgs) { | 8405 TEST_P(%(test_name)s, %(name)sValidArgs) { |
| 8278 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); | 8406 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); |
| 8279 SpecializedSetup<cmds::%(name)s, 0>(true); | 8407 SpecializedSetup<cmds::%(name)s, 0>(true); |
| 8280 cmds::%(name)s cmd; | 8408 cmds::%(name)s cmd; |
| 8281 cmd.Init(%(args)s%(comma)sshared_memory_id_, shared_memory_offset_);""" | 8409 cmd.Init(%(args)s%(comma)sshared_memory_id_, shared_memory_offset_);""" |
| 8282 if func.IsUnsafe(): | 8410 if func.IsUnsafe(): |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 8351 } | 8479 } |
| 8352 """ | 8480 """ |
| 8353 f.write(code % {'func_name': func.name}) | 8481 f.write(code % {'func_name': func.name}) |
| 8354 func.WriteHandlerValidation(f) | 8482 func.WriteHandlerValidation(f) |
| 8355 f.write(" *result_dst = %s(%s);\n" % | 8483 f.write(" *result_dst = %s(%s);\n" % |
| 8356 (func.GetGLFunctionName(), func.MakeOriginalArgString(""))) | 8484 (func.GetGLFunctionName(), func.MakeOriginalArgString(""))) |
| 8357 f.write(" return error::kNoError;\n") | 8485 f.write(" return error::kNoError;\n") |
| 8358 f.write("}\n") | 8486 f.write("}\n") |
| 8359 f.write("\n") | 8487 f.write("\n") |
| 8360 | 8488 |
| 8489 def WritePassthroughServiceImplementation(self, func, f): | |
| 8490 """Overrriden from TypeHandler.""" | |
| 8491 self.WritePassthroughServiceFunctionHeader(func, f) | |
| 8492 self.WriteServiceHandlerArgGetCode(func, f) | |
| 8493 | |
| 8494 code = """ typedef cmds::%(func_name)s::Result Result; | |
| 8495 Result* result = GetSharedMemoryAs<Result*>( | |
| 8496 c.result_shm_id, c.result_shm_offset, sizeof(*result)); | |
| 8497 if (!result) { | |
| 8498 return error::kOutOfBounds; | |
| 8499 } | |
| 8500 """ | |
| 8501 f.write(code % {'func_name': func.name}) | |
| 8502 self.WritePassthroughServiceFunctionDoerCall(func, f) | |
| 8503 f.write(" return error::kNoError;\n") | |
| 8504 f.write("}\n") | |
| 8505 f.write("\n") | |
| 8506 | |
| 8361 def WriteGLES2Implementation(self, func, f): | 8507 def WriteGLES2Implementation(self, func, f): |
| 8362 """Overrriden from TypeHandler.""" | 8508 """Overrriden from TypeHandler.""" |
| 8363 impl_func = func.GetInfo('impl_func') | 8509 impl_func = func.GetInfo('impl_func') |
| 8364 if impl_func == None or impl_func == True: | 8510 if impl_func == None or impl_func == True: |
| 8365 error_value = func.GetInfo("error_value") or "GL_FALSE" | 8511 error_value = func.GetInfo("error_value") or "GL_FALSE" |
| 8366 f.write("%s GLES2Implementation::%s(%s) {\n" % | 8512 f.write("%s GLES2Implementation::%s(%s) {\n" % |
| 8367 (func.return_type, func.original_name, | 8513 (func.return_type, func.original_name, |
| 8368 func.MakeTypedOriginalArgString(""))) | 8514 func.MakeTypedOriginalArgString(""))) |
| 8369 f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") | 8515 f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") |
| 8370 self.WriteTraceEvent(func, f) | 8516 self.WriteTraceEvent(func, f) |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 8540 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 8686 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 8541 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 8687 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 8542 } | 8688 } |
| 8543 """ | 8689 """ |
| 8544 self.WriteValidUnitTest(func, f, invalid_test, *extras) | 8690 self.WriteValidUnitTest(func, f, invalid_test, *extras) |
| 8545 | 8691 |
| 8546 def WriteServiceImplementation(self, func, f): | 8692 def WriteServiceImplementation(self, func, f): |
| 8547 """Overrriden from TypeHandler.""" | 8693 """Overrriden from TypeHandler.""" |
| 8548 pass | 8694 pass |
| 8549 | 8695 |
| 8696 def WritePassthroughServiceImplementation(self, func, f): | |
| 8697 """Overrriden from TypeHandler.""" | |
| 8698 pass | |
| 8699 | |
| 8550 class NamedType(object): | 8700 class NamedType(object): |
| 8551 """A class that represents a type of an argument in a client function. | 8701 """A class that represents a type of an argument in a client function. |
| 8552 | 8702 |
| 8553 A type of an argument that is to be passed through in the command buffer | 8703 A type of an argument that is to be passed through in the command buffer |
| 8554 command. Currently used only for the arguments that are specificly named in | 8704 command. Currently used only for the arguments that are specificly named in |
| 8555 the 'cmd_buffer_functions.txt' f, mostly enums. | 8705 the 'cmd_buffer_functions.txt' f, mostly enums. |
| 8556 """ | 8706 """ |
| 8557 | 8707 |
| 8558 def __init__(self, info): | 8708 def __init__(self, info): |
| 8559 assert not 'is_complete' in info or info['is_complete'] == True | 8709 assert not 'is_complete' in info or info['is_complete'] == True |
| (...skipping 815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 9375 self.name = name | 9525 self.name = name |
| 9376 self.original_name = info['original_name'] | 9526 self.original_name = info['original_name'] |
| 9377 | 9527 |
| 9378 self.original_args = self.ParseArgs(info['original_args']) | 9528 self.original_args = self.ParseArgs(info['original_args']) |
| 9379 | 9529 |
| 9380 if 'cmd_args' in info: | 9530 if 'cmd_args' in info: |
| 9381 self.args_for_cmds = self.ParseArgs(info['cmd_args']) | 9531 self.args_for_cmds = self.ParseArgs(info['cmd_args']) |
| 9382 else: | 9532 else: |
| 9383 self.args_for_cmds = self.original_args[:] | 9533 self.args_for_cmds = self.original_args[:] |
| 9384 | 9534 |
| 9535 self.passthrough_service_doer_args = self.original_args[:] | |
| 9536 | |
| 9385 self.return_type = info['return_type'] | 9537 self.return_type = info['return_type'] |
| 9386 if self.return_type != 'void': | 9538 if self.return_type != 'void': |
| 9387 self.return_arg = CreateArg(info['return_type'] + " result") | 9539 self.return_arg = CreateArg(info['return_type'] + " result") |
| 9388 else: | 9540 else: |
| 9389 self.return_arg = None | 9541 self.return_arg = None |
| 9390 | 9542 |
| 9391 self.num_pointer_args = sum( | 9543 self.num_pointer_args = sum( |
| 9392 [1 for arg in self.args_for_cmds if arg.IsPointer()]) | 9544 [1 for arg in self.args_for_cmds if arg.IsPointer()]) |
| 9393 if self.num_pointer_args > 0: | 9545 if self.num_pointer_args > 0: |
| 9394 for arg in reversed(self.original_args): | 9546 for arg in reversed(self.original_args): |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 9532 return [arg for arg in self.args_for_cmds if arg.IsConstant()] | 9684 return [arg for arg in self.args_for_cmds if arg.IsConstant()] |
| 9533 | 9685 |
| 9534 def GetInitArgs(self): | 9686 def GetInitArgs(self): |
| 9535 """Gets the init args for this function.""" | 9687 """Gets the init args for this function.""" |
| 9536 return self.init_args | 9688 return self.init_args |
| 9537 | 9689 |
| 9538 def GetOriginalArgs(self): | 9690 def GetOriginalArgs(self): |
| 9539 """Gets the original arguments to this function.""" | 9691 """Gets the original arguments to this function.""" |
| 9540 return self.original_args | 9692 return self.original_args |
| 9541 | 9693 |
| 9694 def GetPassthroughServiceDoerArgs(self): | |
| 9695 """Gets the original arguments to this function.""" | |
| 9696 return self.passthrough_service_doer_args | |
| 9697 | |
| 9542 def GetLastOriginalArg(self): | 9698 def GetLastOriginalArg(self): |
| 9543 """Gets the last original argument to this function.""" | 9699 """Gets the last original argument to this function.""" |
| 9544 return self.original_args[len(self.original_args) - 1] | 9700 return self.original_args[len(self.original_args) - 1] |
| 9545 | 9701 |
| 9546 def GetLastOriginalPointerArg(self): | 9702 def GetLastOriginalPointerArg(self): |
| 9547 return self.last_original_pointer_arg | 9703 return self.last_original_pointer_arg |
| 9548 | 9704 |
| 9549 def GetResourceIdArg(self): | 9705 def GetResourceIdArg(self): |
| 9550 for arg in self.original_args: | 9706 for arg in self.original_args: |
| 9551 if hasattr(arg, 'resource_type'): | 9707 if hasattr(arg, 'resource_type'): |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 9566 ["%s %s%s" % (arg.type, prefix, arg.name) for arg in args]) | 9722 ["%s %s%s" % (arg.type, prefix, arg.name) for arg in args]) |
| 9567 return self._MaybePrependComma(arg_string, add_comma) | 9723 return self._MaybePrependComma(arg_string, add_comma) |
| 9568 | 9724 |
| 9569 def MakeOriginalArgString(self, prefix, add_comma = False, separator = ", "): | 9725 def MakeOriginalArgString(self, prefix, add_comma = False, separator = ", "): |
| 9570 """Gets the list of arguments as they are in GL.""" | 9726 """Gets the list of arguments as they are in GL.""" |
| 9571 args = self.GetOriginalArgs() | 9727 args = self.GetOriginalArgs() |
| 9572 arg_string = separator.join( | 9728 arg_string = separator.join( |
| 9573 ["%s%s" % (prefix, arg.name) for arg in args]) | 9729 ["%s%s" % (prefix, arg.name) for arg in args]) |
| 9574 return self._MaybePrependComma(arg_string, add_comma) | 9730 return self._MaybePrependComma(arg_string, add_comma) |
| 9575 | 9731 |
| 9732 def MakePassthroughServiceDoerArgString(self, prefix, add_comma = False, | |
| 9733 separator = ", "): | |
| 9734 """Gets the list of arguments as they are in used by the passthrough | |
| 9735 service doer function.""" | |
| 9736 args = self.GetPassthroughServiceDoerArgs() | |
| 9737 arg_string = separator.join( | |
| 9738 ["%s%s" % (prefix, arg.name) for arg in args]) | |
| 9739 return self._MaybePrependComma(arg_string, add_comma) | |
| 9740 | |
| 9576 def MakeHelperArgString(self, prefix, add_comma = False, separator = ", "): | 9741 def MakeHelperArgString(self, prefix, add_comma = False, separator = ", "): |
| 9577 """Gets a list of GL arguments after removing unneeded arguments.""" | 9742 """Gets a list of GL arguments after removing unneeded arguments.""" |
| 9578 args = self.GetOriginalArgs() | 9743 args = self.GetOriginalArgs() |
| 9579 arg_string = separator.join( | 9744 arg_string = separator.join( |
| 9580 ["%s%s" % (prefix, arg.name) | 9745 ["%s%s" % (prefix, arg.name) |
| 9581 for arg in args if not arg.IsConstant()]) | 9746 for arg in args if not arg.IsConstant()]) |
| 9582 return self._MaybePrependComma(arg_string, add_comma) | 9747 return self._MaybePrependComma(arg_string, add_comma) |
| 9583 | 9748 |
| 9584 def MakeTypedPepperArgString(self, prefix): | 9749 def MakeTypedPepperArgString(self, prefix): |
| 9585 """Gets a list of arguments as they need to be for Pepper.""" | 9750 """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... | |
| 9739 self.type_handler.WriteDocs(self, f) | 9904 self.type_handler.WriteDocs(self, f) |
| 9740 | 9905 |
| 9741 def WriteCmdHelper(self, f): | 9906 def WriteCmdHelper(self, f): |
| 9742 """Writes the cmd's helper.""" | 9907 """Writes the cmd's helper.""" |
| 9743 self.type_handler.WriteCmdHelper(self, f) | 9908 self.type_handler.WriteCmdHelper(self, f) |
| 9744 | 9909 |
| 9745 def WriteServiceImplementation(self, f): | 9910 def WriteServiceImplementation(self, f): |
| 9746 """Writes the service implementation for a command.""" | 9911 """Writes the service implementation for a command.""" |
| 9747 self.type_handler.WriteServiceImplementation(self, f) | 9912 self.type_handler.WriteServiceImplementation(self, f) |
| 9748 | 9913 |
| 9914 def WritePassthroughServiceImplementation(self, f): | |
| 9915 """Writes the service implementation for a command.""" | |
| 9916 self.type_handler.WritePassthroughServiceImplementation(self, f) | |
| 9917 | |
| 9749 def WriteServiceUnitTest(self, f, *extras): | 9918 def WriteServiceUnitTest(self, f, *extras): |
| 9750 """Writes the service implementation for a command.""" | 9919 """Writes the service implementation for a command.""" |
| 9751 self.type_handler.WriteServiceUnitTest(self, f, *extras) | 9920 self.type_handler.WriteServiceUnitTest(self, f, *extras) |
| 9752 | 9921 |
| 9753 def WriteGLES2CLibImplementation(self, f): | 9922 def WriteGLES2CLibImplementation(self, f): |
| 9754 """Writes the GLES2 C Lib Implemention.""" | 9923 """Writes the GLES2 C Lib Implemention.""" |
| 9755 self.type_handler.WriteGLES2CLibImplementation(self, f) | 9924 self.type_handler.WriteGLES2CLibImplementation(self, f) |
| 9756 | 9925 |
| 9757 def WriteGLES2InterfaceHeader(self, f): | 9926 def WriteGLES2InterfaceHeader(self, f): |
| 9758 """Writes the GLES2 Interface declaration.""" | 9927 """Writes the GLES2 Interface declaration.""" |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 9863 | 10032 |
| 9864 Function.InitFunction(self) | 10033 Function.InitFunction(self) |
| 9865 | 10034 |
| 9866 def IsImmediate(self): | 10035 def IsImmediate(self): |
| 9867 return True | 10036 return True |
| 9868 | 10037 |
| 9869 def WriteServiceImplementation(self, f): | 10038 def WriteServiceImplementation(self, f): |
| 9870 """Overridden from Function""" | 10039 """Overridden from Function""" |
| 9871 self.type_handler.WriteImmediateServiceImplementation(self, f) | 10040 self.type_handler.WriteImmediateServiceImplementation(self, f) |
| 9872 | 10041 |
| 10042 def WritePassthroughServiceImplementation(self, f): | |
| 10043 """Overridden from Function""" | |
| 10044 self.type_handler.WritePassthroughImmediateServiceImplementation(self, f) | |
| 10045 | |
| 9873 def WriteHandlerImplementation(self, f): | 10046 def WriteHandlerImplementation(self, f): |
| 9874 """Overridden from Function""" | 10047 """Overridden from Function""" |
| 9875 self.type_handler.WriteImmediateHandlerImplementation(self, f) | 10048 self.type_handler.WriteImmediateHandlerImplementation(self, f) |
| 9876 | 10049 |
| 9877 def WriteServiceUnitTest(self, f, *extras): | 10050 def WriteServiceUnitTest(self, f, *extras): |
| 9878 """Writes the service implementation for a command.""" | 10051 """Writes the service implementation for a command.""" |
| 9879 self.type_handler.WriteImmediateServiceUnitTest(self, f, *extras) | 10052 self.type_handler.WriteImmediateServiceUnitTest(self, f, *extras) |
| 9880 | 10053 |
| 9881 def WriteValidationCode(self, f): | 10054 def WriteValidationCode(self, f): |
| 9882 """Overridden from Function""" | 10055 """Overridden from Function""" |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 9938 new_args_for_cmds.append(new_arg) | 10111 new_args_for_cmds.append(new_arg) |
| 9939 | 10112 |
| 9940 self.args_for_cmds = new_args_for_cmds | 10113 self.args_for_cmds = new_args_for_cmds |
| 9941 | 10114 |
| 9942 Function.InitFunction(self) | 10115 Function.InitFunction(self) |
| 9943 | 10116 |
| 9944 def WriteServiceImplementation(self, f): | 10117 def WriteServiceImplementation(self, f): |
| 9945 """Overridden from Function""" | 10118 """Overridden from Function""" |
| 9946 self.type_handler.WriteBucketServiceImplementation(self, f) | 10119 self.type_handler.WriteBucketServiceImplementation(self, f) |
| 9947 | 10120 |
| 10121 def WritePassthroughServiceImplementation(self, f): | |
| 10122 """Overridden from Function""" | |
| 10123 self.type_handler.WritePassthroughBucketServiceImplementation(self, f) | |
| 10124 | |
| 9948 def WriteHandlerImplementation(self, f): | 10125 def WriteHandlerImplementation(self, f): |
| 9949 """Overridden from Function""" | 10126 """Overridden from Function""" |
| 9950 self.type_handler.WriteBucketHandlerImplementation(self, f) | 10127 self.type_handler.WriteBucketHandlerImplementation(self, f) |
| 9951 | 10128 |
| 9952 def WriteServiceUnitTest(self, f, *extras): | 10129 def WriteServiceUnitTest(self, f, *extras): |
| 9953 """Overridden from Function""" | 10130 """Overridden from Function""" |
| 9954 self.type_handler.WriteBucketServiceUnitTest(self, f, *extras) | 10131 self.type_handler.WriteBucketServiceUnitTest(self, f, *extras) |
| 9955 | 10132 |
| 9956 def MakeOriginalArgString(self, prefix, add_comma = False, separator = ", "): | 10133 def MakeOriginalArgString(self, prefix, add_comma = False, separator = ", "): |
| 9957 """Overridden from Function""" | 10134 """Overridden from Function""" |
| (...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10586 return false; | 10763 return false; |
| 10587 """ % capability) | 10764 """ % capability) |
| 10588 f.write(""" default: | 10765 f.write(""" default: |
| 10589 NOTREACHED(); | 10766 NOTREACHED(); |
| 10590 return false; | 10767 return false; |
| 10591 } | 10768 } |
| 10592 } | 10769 } |
| 10593 """) | 10770 """) |
| 10594 self.generated_cpp_filenames.append(filename) | 10771 self.generated_cpp_filenames.append(filename) |
| 10595 | 10772 |
| 10773 def WritePassthroughServiceImplementation(self, filename): | |
| 10774 """Writes the passthrough service decorder implementation.""" | |
| 10775 comment = "// It is included by gles2_cmd_decoder_passthrough.cc\n" | |
| 10776 with CHeaderWriter(filename, comment) as f: | |
| 10777 for func in self.functions: | |
| 10778 func.WritePassthroughServiceImplementation(f) | |
| 10779 self.generated_cpp_filenames.append(filename) | |
| 10780 | |
| 10596 def WriteServiceUnitTests(self, filename_pattern): | 10781 def WriteServiceUnitTests(self, filename_pattern): |
| 10597 """Writes the service decorder unit tests.""" | 10782 """Writes the service decorder unit tests.""" |
| 10598 num_tests = len(self.functions) | 10783 num_tests = len(self.functions) |
| 10599 FUNCTIONS_PER_FILE = 98 # hard code this so it doesn't change. | 10784 FUNCTIONS_PER_FILE = 98 # hard code this so it doesn't change. |
| 10600 count = 0 | 10785 count = 0 |
| 10601 for test_num in range(0, num_tests, FUNCTIONS_PER_FILE): | 10786 for test_num in range(0, num_tests, FUNCTIONS_PER_FILE): |
| 10602 count += 1 | 10787 count += 1 |
| 10603 filename = filename_pattern % count | 10788 filename = filename_pattern % count |
| 10604 comment = "// It is included by gles2_cmd_decoder_unittest_%d.cc\n" \ | 10789 comment = "// It is included by gles2_cmd_decoder_unittest_%d.cc\n" \ |
| 10605 % count | 10790 % count |
| (...skipping 788 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 11394 gen.WriteGLES2TraceImplementationHeader( | 11579 gen.WriteGLES2TraceImplementationHeader( |
| 11395 "gpu/command_buffer/client/gles2_trace_implementation_autogen.h") | 11580 "gpu/command_buffer/client/gles2_trace_implementation_autogen.h") |
| 11396 gen.WriteGLES2TraceImplementation( | 11581 gen.WriteGLES2TraceImplementation( |
| 11397 "gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h") | 11582 "gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h") |
| 11398 gen.WriteGLES2CLibImplementation( | 11583 gen.WriteGLES2CLibImplementation( |
| 11399 "gpu/command_buffer/client/gles2_c_lib_autogen.h") | 11584 "gpu/command_buffer/client/gles2_c_lib_autogen.h") |
| 11400 gen.WriteCmdHelperHeader( | 11585 gen.WriteCmdHelperHeader( |
| 11401 "gpu/command_buffer/client/gles2_cmd_helper_autogen.h") | 11586 "gpu/command_buffer/client/gles2_cmd_helper_autogen.h") |
| 11402 gen.WriteServiceImplementation( | 11587 gen.WriteServiceImplementation( |
| 11403 "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h") | 11588 "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h") |
| 11589 gen.WritePassthroughServiceImplementation( | |
| 11590 "gpu/command_buffer/service/" + | |
| 11591 "gles2_cmd_decoder_passthrough_handlers_autogen.h") | |
| 11404 gen.WriteServiceContextStateHeader( | 11592 gen.WriteServiceContextStateHeader( |
| 11405 "gpu/command_buffer/service/context_state_autogen.h") | 11593 "gpu/command_buffer/service/context_state_autogen.h") |
| 11406 gen.WriteServiceContextStateImpl( | 11594 gen.WriteServiceContextStateImpl( |
| 11407 "gpu/command_buffer/service/context_state_impl_autogen.h") | 11595 "gpu/command_buffer/service/context_state_impl_autogen.h") |
| 11408 gen.WriteClientContextStateHeader( | 11596 gen.WriteClientContextStateHeader( |
| 11409 "gpu/command_buffer/client/client_context_state_autogen.h") | 11597 "gpu/command_buffer/client/client_context_state_autogen.h") |
| 11410 gen.WriteClientContextStateImpl( | 11598 gen.WriteClientContextStateImpl( |
| 11411 "gpu/command_buffer/client/client_context_state_impl_autogen.h") | 11599 "gpu/command_buffer/client/client_context_state_impl_autogen.h") |
| 11412 gen.WriteServiceUnitTests( | 11600 gen.WriteServiceUnitTests( |
| 11413 "gpu/command_buffer/service/gles2_cmd_decoder_unittest_%d_autogen.h") | 11601 "gpu/command_buffer/service/gles2_cmd_decoder_unittest_%d_autogen.h") |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 11432 Format(gen.generated_cpp_filenames) | 11620 Format(gen.generated_cpp_filenames) |
| 11433 | 11621 |
| 11434 if gen.errors > 0: | 11622 if gen.errors > 0: |
| 11435 print "%d errors" % gen.errors | 11623 print "%d errors" % gen.errors |
| 11436 return 1 | 11624 return 1 |
| 11437 return 0 | 11625 return 0 |
| 11438 | 11626 |
| 11439 | 11627 |
| 11440 if __name__ == '__main__': | 11628 if __name__ == '__main__': |
| 11441 sys.exit(main(sys.argv[1:])) | 11629 sys.exit(main(sys.argv[1:])) |
| OLD | NEW |