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

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

Issue 90333003: Remove --enable-gpu-service-logging and --enable-gpu-client-logging (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years 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 2994 matching lines...) Expand 10 before | Expand all | Expand 10 after
3005 result_string = "" 3005 result_string = ""
3006 file.Write(" %sgles2::GetGLContext()->%s(%s);\n" % 3006 file.Write(" %sgles2::GetGLContext()->%s(%s);\n" %
3007 (result_string, func.original_name, 3007 (result_string, func.original_name,
3008 func.MakeOriginalArgString(""))) 3008 func.MakeOriginalArgString("")))
3009 file.Write("}\n") 3009 file.Write("}\n")
3010 3010
3011 def WriteGLES2Header(self, func, file): 3011 def WriteGLES2Header(self, func, file):
3012 """Writes a re-write macro for GLES""" 3012 """Writes a re-write macro for GLES"""
3013 file.Write("#define gl%s GLES2_GET_FUN(%s)\n" %(func.name, func.name)) 3013 file.Write("#define gl%s GLES2_GET_FUN(%s)\n" %(func.name, func.name))
3014 3014
3015 def WriteClientGLCallLog(self, func, file):
3016 """Writes a logging macro for the client side code."""
3017 comma = ""
3018 if len(func.GetOriginalArgs()):
3019 comma = " << "
3020 file.Write(
3021 ' GPU_CLIENT_LOG("[" << GetLogPrefix() << "] gl%s("%s%s << ")");\n' %
3022 (func.original_name, comma, func.MakeLogArgString()))
3023
3024 def WriteClientGLReturnLog(self, func, file):
3025 """Writes the return value logging code."""
3026 if func.return_type != "void":
3027 file.Write(' GPU_CLIENT_LOG("return:" << result)\n')
3028
3029 def WriteGLES2ImplementationHeader(self, func, file): 3015 def WriteGLES2ImplementationHeader(self, func, file):
3030 """Writes the GLES2 Implemention.""" 3016 """Writes the GLES2 Implemention."""
3031 self.WriteGLES2ImplementationDeclaration(func, file) 3017 self.WriteGLES2ImplementationDeclaration(func, file)
3032 3018
3033 def WriteGLES2TraceImplementationHeader(self, func, file): 3019 def WriteGLES2TraceImplementationHeader(self, func, file):
3034 """Writes the GLES2 Trace Implemention header.""" 3020 """Writes the GLES2 Trace Implemention header."""
3035 file.Write("virtual %s %s(%s) OVERRIDE;\n" % 3021 file.Write("virtual %s %s(%s) OVERRIDE;\n" %
3036 (func.return_type, func.original_name, 3022 (func.return_type, func.original_name,
3037 func.MakeTypedOriginalArgString(""))) 3023 func.MakeTypedOriginalArgString("")))
3038 3024
(...skipping 18 matching lines...) Expand all
3057 impl_decl = func.GetInfo('impl_decl') 3043 impl_decl = func.GetInfo('impl_decl')
3058 gen_cmd = func.GetInfo('gen_cmd') 3044 gen_cmd = func.GetInfo('gen_cmd')
3059 if (func.can_auto_generate and 3045 if (func.can_auto_generate and
3060 (impl_func == None or impl_func == True) and 3046 (impl_func == None or impl_func == True) and
3061 (impl_decl == None or impl_decl == True) and 3047 (impl_decl == None or impl_decl == True) and
3062 (gen_cmd == None or gen_cmd == True)): 3048 (gen_cmd == None or gen_cmd == True)):
3063 file.Write("%s GLES2Implementation::%s(%s) {\n" % 3049 file.Write("%s GLES2Implementation::%s(%s) {\n" %
3064 (func.return_type, func.original_name, 3050 (func.return_type, func.original_name,
3065 func.MakeTypedOriginalArgString(""))) 3051 func.MakeTypedOriginalArgString("")))
3066 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") 3052 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
3067 self.WriteClientGLCallLog(func, file)
3068 func.WriteDestinationInitalizationValidation(file) 3053 func.WriteDestinationInitalizationValidation(file)
3069 for arg in func.GetOriginalArgs(): 3054 for arg in func.GetOriginalArgs():
3070 arg.WriteClientSideValidationCode(file, func) 3055 arg.WriteClientSideValidationCode(file, func)
3071 file.Write(" helper_->%s(%s);\n" % 3056 file.Write(" helper_->%s(%s);\n" %
3072 (func.name, func.MakeOriginalArgString(""))) 3057 (func.name, func.MakeOriginalArgString("")))
3073 file.Write(" CheckGLError();\n") 3058 file.Write(" CheckGLError();\n")
3074 self.WriteClientGLReturnLog(func, file)
3075 file.Write("}\n") 3059 file.Write("}\n")
3076 file.Write("\n") 3060 file.Write("\n")
3077 3061
3078 def WriteGLES2InterfaceHeader(self, func, file): 3062 def WriteGLES2InterfaceHeader(self, func, file):
3079 """Writes the GLES2 Interface.""" 3063 """Writes the GLES2 Interface."""
3080 file.Write("virtual %s %s(%s) = 0;\n" % 3064 file.Write("virtual %s %s(%s) = 0;\n" %
3081 (func.return_type, func.original_name, 3065 (func.return_type, func.original_name,
3082 func.MakeTypedOriginalArgString(""))) 3066 func.MakeTypedOriginalArgString("")))
3083 3067
3084 def WriteGLES2InterfaceStub(self, func, file): 3068 def WriteGLES2InterfaceStub(self, func, file):
(...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after
3797 3781
3798 if (func.can_auto_generate and 3782 if (func.can_auto_generate and
3799 (impl_func == None or impl_func == True) and 3783 (impl_func == None or impl_func == True) and
3800 (impl_decl == None or impl_decl == True)): 3784 (impl_decl == None or impl_decl == True)):
3801 3785
3802 file.Write("%s GLES2Implementation::%s(%s) {\n" % 3786 file.Write("%s GLES2Implementation::%s(%s) {\n" %
3803 (func.return_type, func.original_name, 3787 (func.return_type, func.original_name,
3804 func.MakeTypedOriginalArgString(""))) 3788 func.MakeTypedOriginalArgString("")))
3805 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") 3789 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
3806 func.WriteDestinationInitalizationValidation(file) 3790 func.WriteDestinationInitalizationValidation(file)
3807 self.WriteClientGLCallLog(func, file)
3808 for arg in func.GetOriginalArgs(): 3791 for arg in func.GetOriginalArgs():
3809 arg.WriteClientSideValidationCode(file, func) 3792 arg.WriteClientSideValidationCode(file, func)
3810 3793
3811 code = """ if (Is%(type)sReservedId(%(id)s)) { 3794 code = """ if (Is%(type)sReservedId(%(id)s)) {
3812 SetGLError(GL_INVALID_OPERATION, "%(name)s\", \"%(id)s reserved id"); 3795 SetGLError(GL_INVALID_OPERATION, "%(name)s\", \"%(id)s reserved id");
3813 return; 3796 return;
3814 } 3797 }
3815 if (Bind%(type)sHelper(%(arg_string)s)) { 3798 if (Bind%(type)sHelper(%(arg_string)s)) {
3816 helper_->%(name)s(%(arg_string)s); 3799 helper_->%(name)s(%(arg_string)s);
3817 } 3800 }
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
3897 3880
3898 def WriteImmediateHandlerImplementation(self, func, file): 3881 def WriteImmediateHandlerImplementation(self, func, file):
3899 """Overrriden from TypeHandler.""" 3882 """Overrriden from TypeHandler."""
3900 file.Write(" if (!%sHelper(n, %s)) {\n" 3883 file.Write(" if (!%sHelper(n, %s)) {\n"
3901 " return error::kInvalidArguments;\n" 3884 " return error::kInvalidArguments;\n"
3902 " }\n" % 3885 " }\n" %
3903 (func.original_name, func.GetLastOriginalArg().name)) 3886 (func.original_name, func.GetLastOriginalArg().name))
3904 3887
3905 def WriteGLES2Implementation(self, func, file): 3888 def WriteGLES2Implementation(self, func, file):
3906 """Overrriden from TypeHandler.""" 3889 """Overrriden from TypeHandler."""
3907 log_code = (""" GPU_CLIENT_LOG_CODE_BLOCK({
3908 for (GLsizei i = 0; i < n; ++i) {
3909 GPU_CLIENT_LOG(" " << i << ": " << %s[i]);
3910 }
3911 });""" % func.GetOriginalArgs()[1].name)
3912 args = { 3890 args = {
3913 'log_code': log_code,
3914 'return_type': func.return_type, 3891 'return_type': func.return_type,
3915 'name': func.original_name, 3892 'name': func.original_name,
3916 'typed_args': func.MakeTypedOriginalArgString(""), 3893 'typed_args': func.MakeTypedOriginalArgString(""),
3917 'args': func.MakeOriginalArgString(""), 3894 'args': func.MakeOriginalArgString(""),
3918 'resource_types': func.GetInfo('resource_types'), 3895 'resource_types': func.GetInfo('resource_types'),
3919 'count_name': func.GetOriginalArgs()[0].name, 3896 'count_name': func.GetOriginalArgs()[0].name,
3920 } 3897 }
3921 file.Write( 3898 file.Write(
3922 "%(return_type)s GLES2Implementation::%(name)s(%(typed_args)s) {\n" % 3899 "%(return_type)s GLES2Implementation::%(name)s(%(typed_args)s) {\n" %
3923 args) 3900 args)
3924 func.WriteDestinationInitalizationValidation(file) 3901 func.WriteDestinationInitalizationValidation(file)
3925 self.WriteClientGLCallLog(func, file)
3926 for arg in func.GetOriginalArgs(): 3902 for arg in func.GetOriginalArgs():
3927 arg.WriteClientSideValidationCode(file, func) 3903 arg.WriteClientSideValidationCode(file, func)
3928 code = """ GPU_CLIENT_SINGLE_THREAD_CHECK(); 3904 code = """ GPU_CLIENT_SINGLE_THREAD_CHECK();
3929 GetIdHandler(id_namespaces::k%(resource_types)s)-> 3905 GetIdHandler(id_namespaces::k%(resource_types)s)->
3930 MakeIds(this, 0, %(args)s); 3906 MakeIds(this, 0, %(args)s);
3931 %(name)sHelper(%(args)s); 3907 %(name)sHelper(%(args)s);
3932 helper_->%(name)sImmediate(%(args)s); 3908 helper_->%(name)sImmediate(%(args)s);
3933 helper_->CommandBufferHelper::Flush(); 3909 helper_->CommandBufferHelper::Flush();
3934 %(log_code)s
3935 CheckGLError(); 3910 CheckGLError();
3936 } 3911 }
3937 3912
3938 """ 3913 """
3939 file.Write(code % args) 3914 file.Write(code % args)
3940 3915
3941 def WriteGLES2ImplementationUnitTest(self, func, file): 3916 def WriteGLES2ImplementationUnitTest(self, func, file):
3942 """Overrriden from TypeHandler.""" 3917 """Overrriden from TypeHandler."""
3943 code = """ 3918 code = """
3944 TEST_F(GLES2ImplementationTest, %(name)s) { 3919 TEST_F(GLES2ImplementationTest, %(name)s) {
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
4170 file.Write(" return error::kInvalidArguments;\n") 4145 file.Write(" return error::kInvalidArguments;\n")
4171 file.Write(" }\n") 4146 file.Write(" }\n")
4172 4147
4173 def WriteGLES2Implementation(self, func, file): 4148 def WriteGLES2Implementation(self, func, file):
4174 """Overrriden from TypeHandler.""" 4149 """Overrriden from TypeHandler."""
4175 file.Write("%s GLES2Implementation::%s(%s) {\n" % 4150 file.Write("%s GLES2Implementation::%s(%s) {\n" %
4176 (func.return_type, func.original_name, 4151 (func.return_type, func.original_name,
4177 func.MakeTypedOriginalArgString(""))) 4152 func.MakeTypedOriginalArgString("")))
4178 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") 4153 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
4179 func.WriteDestinationInitalizationValidation(file) 4154 func.WriteDestinationInitalizationValidation(file)
4180 self.WriteClientGLCallLog(func, file)
4181 for arg in func.GetOriginalArgs(): 4155 for arg in func.GetOriginalArgs():
4182 arg.WriteClientSideValidationCode(file, func) 4156 arg.WriteClientSideValidationCode(file, func)
4183 file.Write(" GLuint client_id;\n") 4157 file.Write(" GLuint client_id;\n")
4184 file.Write( 4158 file.Write(
4185 " GetIdHandler(id_namespaces::kProgramsAndShaders)->\n") 4159 " GetIdHandler(id_namespaces::kProgramsAndShaders)->\n")
4186 file.Write(" MakeIds(this, 0, 1, &client_id);\n") 4160 file.Write(" MakeIds(this, 0, 1, &client_id);\n")
4187 file.Write(" helper_->%s(%s);\n" % 4161 file.Write(" helper_->%s(%s);\n" %
4188 (func.name, func.MakeCmdArgString(""))) 4162 (func.name, func.MakeCmdArgString("")))
4189 file.Write(' GPU_CLIENT_LOG("returned " << client_id);\n')
4190 file.Write(" CheckGLError();\n") 4163 file.Write(" CheckGLError();\n")
4191 file.Write(" return client_id;\n") 4164 file.Write(" return client_id;\n")
4192 file.Write("}\n") 4165 file.Write("}\n")
4193 file.Write("\n") 4166 file.Write("\n")
4194 4167
4195 4168
4196 class DeleteHandler(TypeHandler): 4169 class DeleteHandler(TypeHandler):
4197 """Handler for glDelete___ single resource type functions.""" 4170 """Handler for glDelete___ single resource type functions."""
4198 4171
4199 def __init__(self): 4172 def __init__(self):
4200 TypeHandler.__init__(self) 4173 TypeHandler.__init__(self)
4201 4174
4202 def WriteServiceImplementation(self, func, file): 4175 def WriteServiceImplementation(self, func, file):
4203 """Overrriden from TypeHandler.""" 4176 """Overrriden from TypeHandler."""
4204 pass 4177 pass
4205 4178
4206 def WriteGLES2Implementation(self, func, file): 4179 def WriteGLES2Implementation(self, func, file):
4207 """Overrriden from TypeHandler.""" 4180 """Overrriden from TypeHandler."""
4208 file.Write("%s GLES2Implementation::%s(%s) {\n" % 4181 file.Write("%s GLES2Implementation::%s(%s) {\n" %
4209 (func.return_type, func.original_name, 4182 (func.return_type, func.original_name,
4210 func.MakeTypedOriginalArgString(""))) 4183 func.MakeTypedOriginalArgString("")))
4211 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") 4184 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
4212 func.WriteDestinationInitalizationValidation(file) 4185 func.WriteDestinationInitalizationValidation(file)
4213 self.WriteClientGLCallLog(func, file)
4214 for arg in func.GetOriginalArgs(): 4186 for arg in func.GetOriginalArgs():
4215 arg.WriteClientSideValidationCode(file, func) 4187 arg.WriteClientSideValidationCode(file, func)
4216 file.Write( 4188 file.Write(
4217 " GPU_CLIENT_DCHECK(%s != 0);\n" % func.GetOriginalArgs()[-1].name) 4189 " GPU_CLIENT_DCHECK(%s != 0);\n" % func.GetOriginalArgs()[-1].name)
4218 file.Write(" %sHelper(%s);\n" % 4190 file.Write(" %sHelper(%s);\n" %
4219 (func.original_name, func.GetOriginalArgs()[-1].name)) 4191 (func.original_name, func.GetOriginalArgs()[-1].name))
4220 file.Write(" CheckGLError();\n") 4192 file.Write(" CheckGLError();\n")
4221 file.Write("}\n") 4193 file.Write("}\n")
4222 file.Write("\n") 4194 file.Write("\n")
4223 4195
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
4346 'typed_args': func.MakeTypedOriginalArgString(""), 4318 'typed_args': func.MakeTypedOriginalArgString(""),
4347 'args': func.MakeOriginalArgString(""), 4319 'args': func.MakeOriginalArgString(""),
4348 'resource_type': func.GetInfo('resource_type').lower(), 4320 'resource_type': func.GetInfo('resource_type').lower(),
4349 'count_name': func.GetOriginalArgs()[0].name, 4321 'count_name': func.GetOriginalArgs()[0].name,
4350 } 4322 }
4351 file.Write( 4323 file.Write(
4352 "%(return_type)s GLES2Implementation::%(name)s(%(typed_args)s) {\n" % 4324 "%(return_type)s GLES2Implementation::%(name)s(%(typed_args)s) {\n" %
4353 args) 4325 args)
4354 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") 4326 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
4355 func.WriteDestinationInitalizationValidation(file) 4327 func.WriteDestinationInitalizationValidation(file)
4356 self.WriteClientGLCallLog(func, file)
4357 file.Write(""" GPU_CLIENT_LOG_CODE_BLOCK({
4358 for (GLsizei i = 0; i < n; ++i) {
4359 GPU_CLIENT_LOG(" " << i << ": " << %s[i]);
4360 }
4361 });
4362 """ % func.GetOriginalArgs()[1].name)
4363 file.Write(""" GPU_CLIENT_DCHECK_CODE_BLOCK({ 4328 file.Write(""" GPU_CLIENT_DCHECK_CODE_BLOCK({
4364 for (GLsizei i = 0; i < n; ++i) { 4329 for (GLsizei i = 0; i < n; ++i) {
4365 DCHECK(%s[i] != 0); 4330 DCHECK(%s[i] != 0);
4366 } 4331 }
4367 }); 4332 });
4368 """ % func.GetOriginalArgs()[1].name) 4333 """ % func.GetOriginalArgs()[1].name)
4369 for arg in func.GetOriginalArgs(): 4334 for arg in func.GetOriginalArgs():
4370 arg.WriteClientSideValidationCode(file, func) 4335 arg.WriteClientSideValidationCode(file, func)
4371 code = """ %(name)sHelper(%(args)s); 4336 code = """ %(name)sHelper(%(args)s);
4372 CheckGLError(); 4337 CheckGLError();
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
4531 4496
4532 def WriteGLES2Implementation(self, func, file): 4497 def WriteGLES2Implementation(self, func, file):
4533 """Overrriden from TypeHandler.""" 4498 """Overrriden from TypeHandler."""
4534 impl_decl = func.GetInfo('impl_decl') 4499 impl_decl = func.GetInfo('impl_decl')
4535 if impl_decl == None or impl_decl == True: 4500 if impl_decl == None or impl_decl == True:
4536 file.Write("%s GLES2Implementation::%s(%s) {\n" % 4501 file.Write("%s GLES2Implementation::%s(%s) {\n" %
4537 (func.return_type, func.original_name, 4502 (func.return_type, func.original_name,
4538 func.MakeTypedOriginalArgString(""))) 4503 func.MakeTypedOriginalArgString("")))
4539 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") 4504 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
4540 func.WriteDestinationInitalizationValidation(file) 4505 func.WriteDestinationInitalizationValidation(file)
4541 self.WriteClientGLCallLog(func, file)
4542 for arg in func.GetOriginalArgs(): 4506 for arg in func.GetOriginalArgs():
4543 arg.WriteClientSideValidationCode(file, func) 4507 arg.WriteClientSideValidationCode(file, func)
4544 all_but_last_args = func.GetOriginalArgs()[:-1] 4508 all_but_last_args = func.GetOriginalArgs()[:-1]
4545 arg_string = ( 4509 arg_string = (
4546 ", ".join(["%s" % arg.name for arg in all_but_last_args])) 4510 ", ".join(["%s" % arg.name for arg in all_but_last_args]))
4547 all_arg_string = ( 4511 all_arg_string = (
4548 ", ".join(["%s" % arg.name for arg in func.GetOriginalArgs()])) 4512 ", ".join(["%s" % arg.name for arg in func.GetOriginalArgs()]))
4549 self.WriteTraceEvent(func, file) 4513 self.WriteTraceEvent(func, file)
4550 code = """ if (%(func_name)sHelper(%(all_arg_string)s)) { 4514 code = """ if (%(func_name)sHelper(%(all_arg_string)s)) {
4551 return; 4515 return;
4552 } 4516 }
4553 typedef cmds::%(func_name)s::Result Result; 4517 typedef cmds::%(func_name)s::Result Result;
4554 Result* result = GetResultAs<Result*>(); 4518 Result* result = GetResultAs<Result*>();
4555 if (!result) { 4519 if (!result) {
4556 return; 4520 return;
4557 } 4521 }
4558 result->SetNumResults(0); 4522 result->SetNumResults(0);
4559 helper_->%(func_name)s(%(arg_string)s, 4523 helper_->%(func_name)s(%(arg_string)s,
4560 GetResultShmId(), GetResultShmOffset()); 4524 GetResultShmId(), GetResultShmOffset());
4561 WaitForCmd(); 4525 WaitForCmd();
4562 result->CopyResult(params); 4526 result->CopyResult(params);
4563 GPU_CLIENT_LOG_CODE_BLOCK({
4564 for (int32 i = 0; i < result->GetNumResults(); ++i) {
4565 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]);
4566 }
4567 });
4568 CheckGLError(); 4527 CheckGLError();
4569 } 4528 }
4570 """ 4529 """
4571 file.Write(code % { 4530 file.Write(code % {
4572 'func_name': func.name, 4531 'func_name': func.name,
4573 'arg_string': arg_string, 4532 'arg_string': arg_string,
4574 'all_arg_string': all_arg_string, 4533 'all_arg_string': all_arg_string,
4575 }) 4534 })
4576 4535
4577 def WriteGLES2ImplementationUnitTest(self, func, file): 4536 def WriteGLES2ImplementationUnitTest(self, func, file):
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
4767 file.Write(" return error::kOutOfBounds;\n") 4726 file.Write(" return error::kOutOfBounds;\n")
4768 file.Write(" }\n") 4727 file.Write(" }\n")
4769 4728
4770 def WriteGLES2Implementation(self, func, file): 4729 def WriteGLES2Implementation(self, func, file):
4771 """Overrriden from TypeHandler.""" 4730 """Overrriden from TypeHandler."""
4772 file.Write("%s GLES2Implementation::%s(%s) {\n" % 4731 file.Write("%s GLES2Implementation::%s(%s) {\n" %
4773 (func.return_type, func.original_name, 4732 (func.return_type, func.original_name,
4774 func.MakeTypedOriginalArgString(""))) 4733 func.MakeTypedOriginalArgString("")))
4775 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") 4734 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
4776 func.WriteDestinationInitalizationValidation(file) 4735 func.WriteDestinationInitalizationValidation(file)
4777 self.WriteClientGLCallLog(func, file)
4778 last_arg_name = func.GetLastOriginalArg().name 4736 last_arg_name = func.GetLastOriginalArg().name
4779 values_str = ' << ", " << '.join(
4780 ["%s[%d]" % (last_arg_name, ndx) for ndx in range(0, func.info.count)])
4781 file.Write(' GPU_CLIENT_LOG("values: " << %s);\n' % values_str)
4782 for arg in func.GetOriginalArgs(): 4737 for arg in func.GetOriginalArgs():
4783 arg.WriteClientSideValidationCode(file, func) 4738 arg.WriteClientSideValidationCode(file, func)
4784 file.Write(" helper_->%sImmediate(%s);\n" % 4739 file.Write(" helper_->%sImmediate(%s);\n" %
4785 (func.name, func.MakeOriginalArgString(""))) 4740 (func.name, func.MakeOriginalArgString("")))
4786 file.Write(" CheckGLError();\n") 4741 file.Write(" CheckGLError();\n")
4787 file.Write("}\n") 4742 file.Write("}\n")
4788 file.Write("\n") 4743 file.Write("\n")
4789 4744
4790 def WriteGLES2ImplementationUnitTest(self, func, file): 4745 def WriteGLES2ImplementationUnitTest(self, func, file):
4791 """Writes the GLES2 Implemention unit test.""" 4746 """Writes the GLES2 Implemention unit test."""
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
5028 file.Write(" return error::kOutOfBounds;\n") 4983 file.Write(" return error::kOutOfBounds;\n")
5029 file.Write(" }\n") 4984 file.Write(" }\n")
5030 4985
5031 def WriteGLES2Implementation(self, func, file): 4986 def WriteGLES2Implementation(self, func, file):
5032 """Overrriden from TypeHandler.""" 4987 """Overrriden from TypeHandler."""
5033 file.Write("%s GLES2Implementation::%s(%s) {\n" % 4988 file.Write("%s GLES2Implementation::%s(%s) {\n" %
5034 (func.return_type, func.original_name, 4989 (func.return_type, func.original_name,
5035 func.MakeTypedOriginalArgString(""))) 4990 func.MakeTypedOriginalArgString("")))
5036 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") 4991 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
5037 func.WriteDestinationInitalizationValidation(file) 4992 func.WriteDestinationInitalizationValidation(file)
5038 self.WriteClientGLCallLog(func, file)
5039 last_arg_name = func.GetLastOriginalArg().name 4993 last_arg_name = func.GetLastOriginalArg().name
5040 file.Write(""" GPU_CLIENT_LOG_CODE_BLOCK({
5041 for (GLsizei i = 0; i < count; ++i) {
5042 """)
5043 values_str = ' << ", " << '.join(
5044 ["%s[%d + i * %d]" % (
5045 last_arg_name, ndx, func.info.count) for ndx in range(
5046 0, func.info.count)])
5047 file.Write(' GPU_CLIENT_LOG(" " << i << ": " << %s);\n' % values_str)
5048 file.Write(" }\n });\n")
5049 for arg in func.GetOriginalArgs(): 4994 for arg in func.GetOriginalArgs():
5050 arg.WriteClientSideValidationCode(file, func) 4995 arg.WriteClientSideValidationCode(file, func)
5051 file.Write(" helper_->%sImmediate(%s);\n" % 4996 file.Write(" helper_->%sImmediate(%s);\n" %
5052 (func.name, func.MakeOriginalArgString(""))) 4997 (func.name, func.MakeOriginalArgString("")))
5053 file.Write(" CheckGLError();\n") 4998 file.Write(" CheckGLError();\n")
5054 file.Write("}\n") 4999 file.Write("}\n")
5055 file.Write("\n") 5000 file.Write("\n")
5056 5001
5057 def WriteGLES2ImplementationUnitTest(self, func, file): 5002 def WriteGLES2ImplementationUnitTest(self, func, file):
5058 """Writes the GLES2 Implemention unit test.""" 5003 """Writes the GLES2 Implemention unit test."""
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
5516 """Overrriden from TypeHandler.""" 5461 """Overrriden from TypeHandler."""
5517 impl_func = func.GetInfo('impl_func') 5462 impl_func = func.GetInfo('impl_func')
5518 if impl_func == None or impl_func == True: 5463 if impl_func == None or impl_func == True:
5519 error_value = func.GetInfo("error_value") or "GL_FALSE" 5464 error_value = func.GetInfo("error_value") or "GL_FALSE"
5520 file.Write("%s GLES2Implementation::%s(%s) {\n" % 5465 file.Write("%s GLES2Implementation::%s(%s) {\n" %
5521 (func.return_type, func.original_name, 5466 (func.return_type, func.original_name,
5522 func.MakeTypedOriginalArgString(""))) 5467 func.MakeTypedOriginalArgString("")))
5523 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") 5468 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
5524 self.WriteTraceEvent(func, file) 5469 self.WriteTraceEvent(func, file)
5525 func.WriteDestinationInitalizationValidation(file) 5470 func.WriteDestinationInitalizationValidation(file)
5526 self.WriteClientGLCallLog(func, file)
5527 file.Write(" typedef cmds::%s::Result Result;\n" % func.name) 5471 file.Write(" typedef cmds::%s::Result Result;\n" % func.name)
5528 file.Write(" Result* result = GetResultAs<Result*>();\n") 5472 file.Write(" Result* result = GetResultAs<Result*>();\n")
5529 file.Write(" if (!result) {\n") 5473 file.Write(" if (!result) {\n")
5530 file.Write(" return %s;\n" % error_value) 5474 file.Write(" return %s;\n" % error_value)
5531 file.Write(" }\n") 5475 file.Write(" }\n")
5532 file.Write(" *result = 0;\n") 5476 file.Write(" *result = 0;\n")
5533 arg_string = func.MakeOriginalArgString("") 5477 arg_string = func.MakeOriginalArgString("")
5534 comma = "" 5478 comma = ""
5535 if len(arg_string) > 0: 5479 if len(arg_string) > 0:
5536 comma = ", " 5480 comma = ", "
5537 file.Write( 5481 file.Write(
5538 " helper_->%s(%s%sGetResultShmId(), GetResultShmOffset());\n" % 5482 " helper_->%s(%s%sGetResultShmId(), GetResultShmOffset());\n" %
5539 (func.name, arg_string, comma)) 5483 (func.name, arg_string, comma))
5540 file.Write(" WaitForCmd();\n") 5484 file.Write(" WaitForCmd();\n")
5541 file.Write(" %s result_value = *result;\n" % func.return_type) 5485 file.Write(" %s result_value = *result;\n" % func.return_type)
5542 file.Write(' GPU_CLIENT_LOG("returned " << result_value);\n')
5543 file.Write(" CheckGLError();\n") 5486 file.Write(" CheckGLError();\n")
5544 file.Write(" return result_value;\n") 5487 file.Write(" return result_value;\n")
5545 file.Write("}\n") 5488 file.Write("}\n")
5546 file.Write("\n") 5489 file.Write("\n")
5547 5490
5548 def WriteGLES2ImplementationUnitTest(self, func, file): 5491 def WriteGLES2ImplementationUnitTest(self, func, file):
5549 """Overrriden from TypeHandler.""" 5492 """Overrriden from TypeHandler."""
5550 client_test = func.GetInfo('client_test') 5493 client_test = func.GetInfo('client_test')
5551 if client_test == None or client_test == True: 5494 if client_test == None or client_test == True:
5552 code = """ 5495 code = """
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
5589 func.ClearCmdArgs() 5532 func.ClearCmdArgs()
5590 func.AddCmdArg(cmd_args[0]) 5533 func.AddCmdArg(cmd_args[0])
5591 # add on a bucket id. 5534 # add on a bucket id.
5592 func.AddCmdArg(Argument('bucket_id', 'uint32')) 5535 func.AddCmdArg(Argument('bucket_id', 'uint32'))
5593 5536
5594 def WriteGLES2Implementation(self, func, file): 5537 def WriteGLES2Implementation(self, func, file):
5595 """Overrriden from TypeHandler.""" 5538 """Overrriden from TypeHandler."""
5596 code_1 = """%(return_type)s GLES2Implementation::%(func_name)s(%(args)s) { 5539 code_1 = """%(return_type)s GLES2Implementation::%(func_name)s(%(args)s) {
5597 GPU_CLIENT_SINGLE_THREAD_CHECK(); 5540 GPU_CLIENT_SINGLE_THREAD_CHECK();
5598 """ 5541 """
5599 code_2 = """ GPU_CLIENT_LOG("[" << GetLogPrefix() 5542 code_2 = """ helper_->SetBucketSize(kResultBucketId, 0);
5600 << "] gl%(func_name)s" << "("
5601 << %(arg0)s << ", "
5602 << %(arg1)s << ", "
5603 << static_cast<void*>(%(arg2)s) << ", "
5604 << static_cast<void*>(%(arg3)s) << ")");
5605 helper_->SetBucketSize(kResultBucketId, 0);
5606 helper_->%(func_name)s(%(id_name)s, kResultBucketId); 5543 helper_->%(func_name)s(%(id_name)s, kResultBucketId);
5607 std::string str; 5544 std::string str;
5608 GLsizei max_size = 0; 5545 GLsizei max_size = 0;
5609 if (GetBucketAsString(kResultBucketId, &str)) { 5546 if (GetBucketAsString(kResultBucketId, &str)) {
5610 if (bufsize > 0) { 5547 if (bufsize > 0) {
5611 max_size = 5548 max_size =
5612 std::min(static_cast<size_t>(%(bufsize_name)s) - 1, str.size()); 5549 std::min(static_cast<size_t>(%(bufsize_name)s) - 1, str.size());
5613 memcpy(%(dest_name)s, str.c_str(), max_size); 5550 memcpy(%(dest_name)s, str.c_str(), max_size);
5614 %(dest_name)s[max_size] = '\\0'; 5551 %(dest_name)s[max_size] = '\\0';
5615 GPU_CLIENT_LOG("------\\n" << %(dest_name)s << "\\n------");
5616 } 5552 }
5617 } 5553 }
5618 if (%(length_name)s != NULL) { 5554 if (%(length_name)s != NULL) {
5619 *%(length_name)s = max_size; 5555 *%(length_name)s = max_size;
5620 } 5556 }
5621 CheckGLError(); 5557 CheckGLError();
5622 } 5558 }
5623 """ 5559 """
5624 args = func.GetOriginalArgs() 5560 args = func.GetOriginalArgs()
5625 str_args = { 5561 str_args = {
5626 'return_type': func.return_type, 5562 'return_type': func.return_type,
5627 'func_name': func.original_name, 5563 'func_name': func.original_name,
5628 'args': func.MakeTypedOriginalArgString(""), 5564 'args': func.MakeTypedOriginalArgString(""),
5629 'id_name': args[0].name, 5565 'id_name': args[0].name,
5630 'bufsize_name': args[1].name, 5566 'bufsize_name': args[1].name,
5631 'length_name': args[2].name, 5567 'length_name': args[2].name,
5632 'dest_name': args[3].name, 5568 'dest_name': args[3].name,
5633 'arg0': args[0].name,
5634 'arg1': args[1].name,
5635 'arg2': args[2].name,
5636 'arg3': args[3].name,
5637 } 5569 }
5638 file.Write(code_1 % str_args) 5570 file.Write(code_1 % str_args)
5639 func.WriteDestinationInitalizationValidation(file) 5571 func.WriteDestinationInitalizationValidation(file)
5640 file.Write(code_2 % str_args) 5572 file.Write(code_2 % str_args)
5641 5573
5642 def WriteServiceUnitTest(self, func, file): 5574 def WriteServiceUnitTest(self, func, file):
5643 """Overrriden from TypeHandler.""" 5575 """Overrriden from TypeHandler."""
5644 valid_test = """ 5576 valid_test = """
5645 TEST_F(%(test_name)s, %(name)sValidArgs) { 5577 TEST_F(%(test_name)s, %(name)sValidArgs) {
5646 const char* kInfo = "hello"; 5578 const char* kInfo = "hello";
(...skipping 2184 matching lines...) Expand 10 before | Expand all | Expand 10 after
7831 gen.WriteGLES2Header("../GLES2/gl2chromium_autogen.h") 7763 gen.WriteGLES2Header("../GLES2/gl2chromium_autogen.h")
7832 7764
7833 if gen.errors > 0: 7765 if gen.errors > 0:
7834 print "%d errors" % gen.errors 7766 print "%d errors" % gen.errors
7835 return 1 7767 return 1
7836 return 0 7768 return 0
7837 7769
7838 7770
7839 if __name__ == '__main__': 7771 if __name__ == '__main__':
7840 sys.exit(main(sys.argv[1:])) 7772 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « content/common/gpu/gpu_command_buffer_stub.cc ('k') | gpu/command_buffer/client/gles2_implementation.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698