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 2620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2631 def ToUnderscore(input_string): | 2631 def ToUnderscore(input_string): |
2632 """converts CamelCase to camel_case.""" | 2632 """converts CamelCase to camel_case.""" |
2633 words = SplitWords(input_string) | 2633 words = SplitWords(input_string) |
2634 return Lower(words) | 2634 return Lower(words) |
2635 | 2635 |
2636 def CachedStateName(item): | 2636 def CachedStateName(item): |
2637 if item.get('cached', False): | 2637 if item.get('cached', False): |
2638 return 'cached_' + item['name'] | 2638 return 'cached_' + item['name'] |
2639 return item['name'] | 2639 return item['name'] |
2640 | 2640 |
2641 def ToGLExtensionString(extension_flag): | |
2642 """Returns GL-type extension string of a extension flag.""" | |
2643 if extension_flag == "oes_compressed_etc1_rgb8_texture": | |
2644 return "OES_compressed_ETC1_RGB8_texture" # Fixup inconsitency with rgb8, | |
2645 # unfortunate. | |
piman
2014/08/15 20:37:24
Could we do the opposite, instead of trying to rev
Kimmo Kinnunen
2014/08/20 05:59:05
Ok, I'll see what I can do. (If I understand corre
| |
2646 uppercase_words = [ 'img', 'ext', 'arb', 'chromium', 'oes', 'amd', 'bgra8888', | |
2647 'egl', 'atc', 'etc1', 'angle'] | |
2648 parts = extension_flag.split('_') | |
2649 return "_".join( | |
2650 [part.upper() if part in uppercase_words else part for part in parts]) | |
2651 | |
2652 def ToCamelCase(input_string): | |
2653 """converts ABC_underscore_case to ABCUnderscoreCase.""" | |
2654 return ''.join(w[0].upper() + w[1:] for w in input_string.split('_')) | |
2641 | 2655 |
2642 class CWriter(object): | 2656 class CWriter(object): |
2643 """Writes to a file formatting it for Google's style guidelines.""" | 2657 """Writes to a file formatting it for Google's style guidelines.""" |
2644 | 2658 |
2645 def __init__(self, filename): | 2659 def __init__(self, filename): |
2646 self.filename = filename | 2660 self.filename = filename |
2647 self.file_num = 0 | |
2648 self.content = [] | 2661 self.content = [] |
2649 | 2662 |
2650 def SetFileNum(self, num): | |
2651 """Used to help write number files and tests.""" | |
2652 self.file_num = num | |
2653 | |
2654 def Write(self, string): | 2663 def Write(self, string): |
2655 """Writes a string to a file spliting if it's > 80 characters.""" | 2664 """Writes a string to a file spliting if it's > 80 characters.""" |
2656 lines = string.splitlines() | 2665 lines = string.splitlines() |
2657 num_lines = len(lines) | 2666 num_lines = len(lines) |
2658 for ii in range(0, num_lines): | 2667 for ii in range(0, num_lines): |
2659 self.content.append(lines[ii]) | 2668 self.content.append(lines[ii]) |
2660 if ii < (num_lines - 1) or string[-1] == '\n': | 2669 if ii < (num_lines - 1) or string[-1] == '\n': |
2661 self.content.append('\n') | 2670 self.content.append('\n') |
2662 | 2671 |
2663 def Close(self): | 2672 def Close(self): |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2928 file.Write(" error::Error error;\n") | 2937 file.Write(" error::Error error;\n") |
2929 if defer_draws: | 2938 if defer_draws: |
2930 file.Write(" error = WillAccessBoundFramebufferForDraw();\n") | 2939 file.Write(" error = WillAccessBoundFramebufferForDraw();\n") |
2931 file.Write(" if (error != error::kNoError)\n") | 2940 file.Write(" if (error != error::kNoError)\n") |
2932 file.Write(" return error;\n") | 2941 file.Write(" return error;\n") |
2933 if defer_reads: | 2942 if defer_reads: |
2934 file.Write(" error = WillAccessBoundFramebufferForRead();\n") | 2943 file.Write(" error = WillAccessBoundFramebufferForRead();\n") |
2935 file.Write(" if (error != error::kNoError)\n") | 2944 file.Write(" if (error != error::kNoError)\n") |
2936 file.Write(" return error;\n") | 2945 file.Write(" return error;\n") |
2937 | 2946 |
2938 def WriteValidUnitTest(self, func, file, test, extra = {}): | 2947 def WriteValidUnitTest(self, func, file, test, *extras): |
2939 """Writes a valid unit test for the service implementation.""" | 2948 """Writes a valid unit test for the service implementation.""" |
2940 if func.GetInfo('expectation') == False: | 2949 if func.GetInfo('expectation') == False: |
2941 test = self._remove_expected_call_re.sub('', test) | 2950 test = self._remove_expected_call_re.sub('', test) |
2942 name = func.name | 2951 name = func.name |
2943 arg_strings = [ | 2952 arg_strings = [ |
2944 arg.GetValidArg(func) \ | 2953 arg.GetValidArg(func) \ |
2945 for arg in func.GetOriginalArgs() if not arg.IsConstant() | 2954 for arg in func.GetOriginalArgs() if not arg.IsConstant() |
2946 ] | 2955 ] |
2947 gl_arg_strings = [ | 2956 gl_arg_strings = [ |
2948 arg.GetValidGLArg(func) \ | 2957 arg.GetValidGLArg(func) \ |
2949 for arg in func.GetOriginalArgs() | 2958 for arg in func.GetOriginalArgs() |
2950 ] | 2959 ] |
2951 gl_func_name = func.GetGLTestFunctionName() | 2960 gl_func_name = func.GetGLTestFunctionName() |
2952 vars = { | 2961 vars = { |
2953 'test_name': 'GLES2DecoderTest%d' % file.file_num, | |
2954 'name':name, | 2962 'name':name, |
2955 'gl_func_name': gl_func_name, | 2963 'gl_func_name': gl_func_name, |
2956 'args': ", ".join(arg_strings), | 2964 'args': ", ".join(arg_strings), |
2957 'gl_args': ", ".join(gl_arg_strings), | 2965 'gl_args': ", ".join(gl_arg_strings), |
2958 } | 2966 } |
2959 vars.update(extra) | 2967 for extra in extras: |
2968 vars.update(extra) | |
2960 old_test = "" | 2969 old_test = "" |
2961 while (old_test != test): | 2970 while (old_test != test): |
2962 old_test = test | 2971 old_test = test |
2963 test = test % vars | 2972 test = test % vars |
2964 file.Write(test % vars) | 2973 file.Write(test % vars) |
2965 | 2974 |
2966 def WriteInvalidUnitTest(self, func, file, test, extra = {}): | 2975 def WriteInvalidUnitTest(self, func, file, test, *extras): |
2967 """Writes an invalid unit test for the service implementation.""" | 2976 """Writes an invalid unit test for the service implementation.""" |
2968 for invalid_arg_index, invalid_arg in enumerate(func.GetOriginalArgs()): | 2977 for invalid_arg_index, invalid_arg in enumerate(func.GetOriginalArgs()): |
2969 # Service implementation does not test constants, as they are not part of | 2978 # Service implementation does not test constants, as they are not part of |
2970 # the call in the service side. | 2979 # the call in the service side. |
2971 if invalid_arg.IsConstant(): | 2980 if invalid_arg.IsConstant(): |
2972 continue | 2981 continue |
2973 | 2982 |
2974 num_invalid_values = invalid_arg.GetNumInvalidValues(func) | 2983 num_invalid_values = invalid_arg.GetNumInvalidValues(func) |
2975 for value_index in range(0, num_invalid_values): | 2984 for value_index in range(0, num_invalid_values): |
2976 arg_strings = [] | 2985 arg_strings = [] |
(...skipping 10 matching lines...) Expand all Loading... | |
2987 arg_strings.append(arg_string) | 2996 arg_strings.append(arg_string) |
2988 gl_arg_strings = [] | 2997 gl_arg_strings = [] |
2989 for arg in func.GetOriginalArgs(): | 2998 for arg in func.GetOriginalArgs(): |
2990 gl_arg_strings.append("_") | 2999 gl_arg_strings.append("_") |
2991 gl_func_name = func.GetGLTestFunctionName() | 3000 gl_func_name = func.GetGLTestFunctionName() |
2992 gl_error_test = '' | 3001 gl_error_test = '' |
2993 if not gl_error == None: | 3002 if not gl_error == None: |
2994 gl_error_test = '\n EXPECT_EQ(%s, GetGLError());' % gl_error | 3003 gl_error_test = '\n EXPECT_EQ(%s, GetGLError());' % gl_error |
2995 | 3004 |
2996 vars = { | 3005 vars = { |
2997 'test_name': 'GLES2DecoderTest%d' % file.file_num , | |
2998 'name': func.name, | 3006 'name': func.name, |
2999 'arg_index': invalid_arg_index, | 3007 'arg_index': invalid_arg_index, |
3000 'value_index': value_index, | 3008 'value_index': value_index, |
3001 'gl_func_name': gl_func_name, | 3009 'gl_func_name': gl_func_name, |
3002 'args': ", ".join(arg_strings), | 3010 'args': ", ".join(arg_strings), |
3003 'all_but_last_args': ", ".join(arg_strings[:-1]), | 3011 'all_but_last_args': ", ".join(arg_strings[:-1]), |
3004 'gl_args': ", ".join(gl_arg_strings), | 3012 'gl_args': ", ".join(gl_arg_strings), |
3005 'parse_result': parse_result, | 3013 'parse_result': parse_result, |
3006 'gl_error_test': gl_error_test, | 3014 'gl_error_test': gl_error_test, |
3007 } | 3015 } |
3008 vars.update(extra) | 3016 for extra in extras: |
3017 vars.update(extra) | |
3009 file.Write(test % vars) | 3018 file.Write(test % vars) |
3010 | 3019 |
3011 def WriteServiceUnitTest(self, func, file): | 3020 def WriteServiceUnitTest(self, func, file, *extras): |
3012 """Writes the service unit test for a command.""" | 3021 """Writes the service unit test for a command.""" |
3013 | 3022 |
3014 if func.name == 'Enable': | 3023 if func.name == 'Enable': |
3015 valid_test = """ | 3024 valid_test = """ |
3016 TEST_P(%(test_name)s, %(name)sValidArgs) { | 3025 TEST_P(%(test_name)s, %(name)sValidArgs) { |
3017 SetupExpectationsForEnableDisable(%(gl_args)s, true); | 3026 SetupExpectationsForEnableDisable(%(gl_args)s, true); |
3018 SpecializedSetup<cmds::%(name)s, 0>(true); | 3027 SpecializedSetup<cmds::%(name)s, 0>(true); |
3019 cmds::%(name)s cmd; | 3028 cmds::%(name)s cmd; |
3020 cmd.Init(%(args)s); | 3029 cmd.Init(%(args)s); |
3021 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 3030 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
(...skipping 15 matching lines...) Expand all Loading... | |
3037 valid_test = """ | 3046 valid_test = """ |
3038 TEST_P(%(test_name)s, %(name)sValidArgs) { | 3047 TEST_P(%(test_name)s, %(name)sValidArgs) { |
3039 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); | 3048 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); |
3040 SpecializedSetup<cmds::%(name)s, 0>(true); | 3049 SpecializedSetup<cmds::%(name)s, 0>(true); |
3041 cmds::%(name)s cmd; | 3050 cmds::%(name)s cmd; |
3042 cmd.Init(%(args)s); | 3051 cmd.Init(%(args)s); |
3043 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 3052 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
3044 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 3053 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
3045 } | 3054 } |
3046 """ | 3055 """ |
3047 self.WriteValidUnitTest(func, file, valid_test) | 3056 self.WriteValidUnitTest(func, file, valid_test, *extras) |
3048 | 3057 |
3049 invalid_test = """ | 3058 invalid_test = """ |
3050 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { | 3059 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { |
3051 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); | 3060 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); |
3052 SpecializedSetup<cmds::%(name)s, 0>(false); | 3061 SpecializedSetup<cmds::%(name)s, 0>(false); |
3053 cmds::%(name)s cmd; | 3062 cmds::%(name)s cmd; |
3054 cmd.Init(%(args)s); | 3063 cmd.Init(%(args)s); |
3055 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd));%(gl_error_test)s | 3064 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd));%(gl_error_test)s |
3056 } | 3065 } |
3057 """ | 3066 """ |
3058 self.WriteInvalidUnitTest(func, file, invalid_test) | 3067 self.WriteInvalidUnitTest(func, file, invalid_test, *extras) |
3059 | 3068 |
3060 def WriteImmediateServiceUnitTest(self, func, file): | 3069 def WriteImmediateServiceUnitTest(self, func, file, *extras): |
3061 """Writes the service unit test for an immediate command.""" | 3070 """Writes the service unit test for an immediate command.""" |
3062 file.Write("// TODO(gman): %s\n" % func.name) | 3071 file.Write("// TODO(gman): %s\n" % func.name) |
3063 | 3072 |
3064 def WriteImmediateValidationCode(self, func, file): | 3073 def WriteImmediateValidationCode(self, func, file): |
3065 """Writes the validation code for an immediate version of a command.""" | 3074 """Writes the validation code for an immediate version of a command.""" |
3066 pass | 3075 pass |
3067 | 3076 |
3068 def WriteBucketServiceUnitTest(self, func, file): | 3077 def WriteBucketServiceUnitTest(self, func, file, *extras): |
3069 """Writes the service unit test for a bucket command.""" | 3078 """Writes the service unit test for a bucket command.""" |
3070 file.Write("// TODO(gman): %s\n" % func.name) | 3079 file.Write("// TODO(gman): %s\n" % func.name) |
3071 | 3080 |
3072 def WriteBucketValidationCode(self, func, file): | 3081 def WriteBucketValidationCode(self, func, file): |
3073 """Writes the validation code for a bucket version of a command.""" | 3082 """Writes the validation code for a bucket version of a command.""" |
3074 file.Write("// TODO(gman): %s\n" % func.name) | 3083 file.Write("// TODO(gman): %s\n" % func.name) |
3075 | 3084 |
3076 def WriteGLES2ImplementationDeclaration(self, func, file): | 3085 def WriteGLES2ImplementationDeclaration(self, func, file): |
3077 """Writes the GLES2 Implemention declaration.""" | 3086 """Writes the GLES2 Implemention declaration.""" |
3078 impl_decl = func.GetInfo('impl_decl') | 3087 impl_decl = func.GetInfo('impl_decl') |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3356 file.Write(" %s = true;\n" % state['state_flag']) | 3365 file.Write(" %s = true;\n" % state['state_flag']) |
3357 if not func.GetInfo("no_gl"): | 3366 if not func.GetInfo("no_gl"): |
3358 for ndx,item in enumerate(states): | 3367 for ndx,item in enumerate(states): |
3359 if item.get('cached', False): | 3368 if item.get('cached', False): |
3360 file.Write(" state_.%s = %s;\n" % | 3369 file.Write(" state_.%s = %s;\n" % |
3361 (CachedStateName(item), args[ndx].name)) | 3370 (CachedStateName(item), args[ndx].name)) |
3362 file.Write(" %s(%s);\n" % | 3371 file.Write(" %s(%s);\n" % |
3363 (func.GetGLFunctionName(), func.MakeOriginalArgString(""))) | 3372 (func.GetGLFunctionName(), func.MakeOriginalArgString(""))) |
3364 file.Write(" }\n") | 3373 file.Write(" }\n") |
3365 | 3374 |
3366 def WriteServiceUnitTest(self, func, file): | 3375 def WriteServiceUnitTest(self, func, file, *extras): |
3367 """Overrriden from TypeHandler.""" | 3376 """Overrriden from TypeHandler.""" |
3368 TypeHandler.WriteServiceUnitTest(self, func, file) | 3377 TypeHandler.WriteServiceUnitTest(self, func, file, *extras) |
3369 state_name = func.GetInfo('state') | 3378 state_name = func.GetInfo('state') |
3370 state = _STATES[state_name] | 3379 state = _STATES[state_name] |
3371 states = state['states'] | 3380 states = state['states'] |
3372 for ndx,item in enumerate(states): | 3381 for ndx,item in enumerate(states): |
3373 if 'range_checks' in item: | 3382 if 'range_checks' in item: |
3374 for check_ndx, range_check in enumerate(item['range_checks']): | 3383 for check_ndx, range_check in enumerate(item['range_checks']): |
3375 valid_test = """ | 3384 valid_test = """ |
3376 TEST_P(%(test_name)s, %(name)sInvalidValue%(ndx)d_%(check_ndx)d) { | 3385 TEST_P(%(test_name)s, %(name)sInvalidValue%(ndx)d_%(check_ndx)d) { |
3377 SpecializedSetup<cmds::%(name)s, 0>(false); | 3386 SpecializedSetup<cmds::%(name)s, 0>(false); |
3378 cmds::%(name)s cmd; | 3387 cmds::%(name)s cmd; |
3379 cmd.Init(%(args)s); | 3388 cmd.Init(%(args)s); |
3380 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 3389 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
3381 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 3390 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
3382 } | 3391 } |
3383 """ | 3392 """ |
3384 name = func.name | 3393 name = func.name |
3385 arg_strings = [ | 3394 arg_strings = [ |
3386 arg.GetValidArg(func) \ | 3395 arg.GetValidArg(func) \ |
3387 for arg in func.GetOriginalArgs() if not arg.IsConstant() | 3396 for arg in func.GetOriginalArgs() if not arg.IsConstant() |
3388 ] | 3397 ] |
3389 | 3398 |
3390 arg_strings[ndx] = range_check['test_value'] | 3399 arg_strings[ndx] = range_check['test_value'] |
3391 vars = { | 3400 vars = { |
3392 'test_name': 'GLES2DecoderTest%d' % file.file_num, | |
3393 'name': name, | 3401 'name': name, |
3394 'ndx': ndx, | 3402 'ndx': ndx, |
3395 'check_ndx': check_ndx, | 3403 'check_ndx': check_ndx, |
3396 'args': ", ".join(arg_strings), | 3404 'args': ", ".join(arg_strings), |
3397 } | 3405 } |
3406 for extra in extras: | |
3407 vars.update(extra) | |
3398 file.Write(valid_test % vars) | 3408 file.Write(valid_test % vars) |
3399 if 'nan_check' in item: | 3409 if 'nan_check' in item: |
3400 valid_test = """ | 3410 valid_test = """ |
3401 TEST_P(%(test_name)s, %(name)sNaNValue%(ndx)d) { | 3411 TEST_P(%(test_name)s, %(name)sNaNValue%(ndx)d) { |
3402 SpecializedSetup<cmds::%(name)s, 0>(false); | 3412 SpecializedSetup<cmds::%(name)s, 0>(false); |
3403 cmds::%(name)s cmd; | 3413 cmds::%(name)s cmd; |
3404 cmd.Init(%(args)s); | 3414 cmd.Init(%(args)s); |
3405 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 3415 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
3406 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 3416 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
3407 } | 3417 } |
3408 """ | 3418 """ |
3409 name = func.name | 3419 name = func.name |
3410 arg_strings = [ | 3420 arg_strings = [ |
3411 arg.GetValidArg(func) \ | 3421 arg.GetValidArg(func) \ |
3412 for arg in func.GetOriginalArgs() if not arg.IsConstant() | 3422 for arg in func.GetOriginalArgs() if not arg.IsConstant() |
3413 ] | 3423 ] |
3414 | 3424 |
3415 arg_strings[ndx] = 'nanf("")' | 3425 arg_strings[ndx] = 'nanf("")' |
3416 vars = { | 3426 vars = { |
3417 'test_name': 'GLES2DecoderTest%d' % file.file_num, | |
3418 'name': name, | 3427 'name': name, |
3419 'ndx': ndx, | 3428 'ndx': ndx, |
3420 'args': ", ".join(arg_strings), | 3429 'args': ", ".join(arg_strings), |
3421 } | 3430 } |
3431 for extra in extras: | |
3432 vars.update(extra) | |
3422 file.Write(valid_test % vars) | 3433 file.Write(valid_test % vars) |
3423 | 3434 |
3424 | 3435 |
3425 class StateSetRGBAlphaHandler(TypeHandler): | 3436 class StateSetRGBAlphaHandler(TypeHandler): |
3426 """Handler for commands that simply set state that have rgb/alpha.""" | 3437 """Handler for commands that simply set state that have rgb/alpha.""" |
3427 | 3438 |
3428 def __init__(self): | 3439 def __init__(self): |
3429 TypeHandler.__init__(self) | 3440 TypeHandler.__init__(self) |
3430 | 3441 |
3431 def WriteHandlerImplementation(self, func, file): | 3442 def WriteHandlerImplementation(self, func, file): |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3559 pass | 3570 pass |
3560 | 3571 |
3561 def WriteImmediateServiceImplementation(self, func, file): | 3572 def WriteImmediateServiceImplementation(self, func, file): |
3562 """Overrriden from TypeHandler.""" | 3573 """Overrriden from TypeHandler.""" |
3563 pass | 3574 pass |
3564 | 3575 |
3565 def WriteBucketServiceImplementation(self, func, file): | 3576 def WriteBucketServiceImplementation(self, func, file): |
3566 """Overrriden from TypeHandler.""" | 3577 """Overrriden from TypeHandler.""" |
3567 pass | 3578 pass |
3568 | 3579 |
3569 def WriteServiceUnitTest(self, func, file): | 3580 def WriteServiceUnitTest(self, func, file, *extras): |
3570 """Overrriden from TypeHandler.""" | 3581 """Overrriden from TypeHandler.""" |
3571 file.Write("// TODO(gman): %s\n\n" % func.name) | 3582 file.Write("// TODO(gman): %s\n\n" % func.name) |
3572 | 3583 |
3573 def WriteImmediateServiceUnitTest(self, func, file): | 3584 def WriteImmediateServiceUnitTest(self, func, file, *extras): |
3574 """Overrriden from TypeHandler.""" | 3585 """Overrriden from TypeHandler.""" |
3575 file.Write("// TODO(gman): %s\n\n" % func.name) | 3586 file.Write("// TODO(gman): %s\n\n" % func.name) |
3576 | 3587 |
3577 def WriteImmediateCmdGetTotalSize(self, func, file): | 3588 def WriteImmediateCmdGetTotalSize(self, func, file): |
3578 """Overrriden from TypeHandler.""" | 3589 """Overrriden from TypeHandler.""" |
3579 file.Write( | 3590 file.Write( |
3580 " uint32_t total_size = 0; // TODO(gman): get correct size.\n") | 3591 " uint32_t total_size = 0; // TODO(gman): get correct size.\n") |
3581 | 3592 |
3582 def WriteImmediateCmdInit(self, func, file): | 3593 def WriteImmediateCmdInit(self, func, file): |
3583 """Overrriden from TypeHandler.""" | 3594 """Overrriden from TypeHandler.""" |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3666 return False | 3677 return False |
3667 | 3678 |
3668 def WriteStruct(self, func, file): | 3679 def WriteStruct(self, func, file): |
3669 """Overrriden from TypeHandler.""" | 3680 """Overrriden from TypeHandler.""" |
3670 pass | 3681 pass |
3671 | 3682 |
3672 def WriteDocs(self, func, file): | 3683 def WriteDocs(self, func, file): |
3673 """Overrriden from TypeHandler.""" | 3684 """Overrriden from TypeHandler.""" |
3674 pass | 3685 pass |
3675 | 3686 |
3676 def WriteServiceUnitTest(self, func, file): | 3687 def WriteServiceUnitTest(self, func, file, *extras): |
3677 """Overrriden from TypeHandler.""" | 3688 """Overrriden from TypeHandler.""" |
3678 file.Write("// TODO(gman): %s\n\n" % func.name) | 3689 file.Write("// TODO(gman): %s\n\n" % func.name) |
3679 | 3690 |
3680 def WriteImmediateServiceUnitTest(self, func, file): | 3691 def WriteImmediateServiceUnitTest(self, func, file, *extras): |
3681 """Overrriden from TypeHandler.""" | 3692 """Overrriden from TypeHandler.""" |
3682 file.Write("// TODO(gman): %s\n\n" % func.name) | 3693 file.Write("// TODO(gman): %s\n\n" % func.name) |
3683 | 3694 |
3684 def WriteBucketServiceUnitTest(self, func, file): | 3695 def WriteBucketServiceUnitTest(self, func, file, *extras): |
3685 """Overrriden from TypeHandler.""" | 3696 """Overrriden from TypeHandler.""" |
3686 file.Write("// TODO(gman): %s\n\n" % func.name) | 3697 file.Write("// TODO(gman): %s\n\n" % func.name) |
3687 | 3698 |
3688 def WriteServiceImplementation(self, func, file): | 3699 def WriteServiceImplementation(self, func, file): |
3689 """Overrriden from TypeHandler.""" | 3700 """Overrriden from TypeHandler.""" |
3690 pass | 3701 pass |
3691 | 3702 |
3692 def WriteImmediateServiceImplementation(self, func, file): | 3703 def WriteImmediateServiceImplementation(self, func, file): |
3693 """Overrriden from TypeHandler.""" | 3704 """Overrriden from TypeHandler.""" |
3694 pass | 3705 pass |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3738 CustomHandler.InitFunction(self, func) | 3749 CustomHandler.InitFunction(self, func) |
3739 | 3750 |
3740 def WriteServiceImplementation(self, func, file): | 3751 def WriteServiceImplementation(self, func, file): |
3741 """Overrriden from TypeHandler.""" | 3752 """Overrriden from TypeHandler.""" |
3742 pass | 3753 pass |
3743 | 3754 |
3744 def WriteBucketServiceImplementation(self, func, file): | 3755 def WriteBucketServiceImplementation(self, func, file): |
3745 """Overrriden from TypeHandler.""" | 3756 """Overrriden from TypeHandler.""" |
3746 pass | 3757 pass |
3747 | 3758 |
3748 def WriteServiceUnitTest(self, func, file): | 3759 def WriteServiceUnitTest(self, func, file, *extras): |
3749 """Overrriden from TypeHandler.""" | 3760 """Overrriden from TypeHandler.""" |
3750 file.Write("// TODO(gman): %s\n\n" % func.name) | 3761 file.Write("// TODO(gman): %s\n\n" % func.name) |
3751 | 3762 |
3752 def WriteImmediateServiceUnitTest(self, func, file): | 3763 def WriteImmediateServiceUnitTest(self, func, file, *extras): |
3753 """Overrriden from TypeHandler.""" | 3764 """Overrriden from TypeHandler.""" |
3754 file.Write("// TODO(gman): %s\n\n" % func.name) | 3765 file.Write("// TODO(gman): %s\n\n" % func.name) |
3755 | 3766 |
3756 def WriteImmediateServiceImplementation(self, func, file): | 3767 def WriteImmediateServiceImplementation(self, func, file): |
3757 """Overrriden from TypeHandler.""" | 3768 """Overrriden from TypeHandler.""" |
3758 pass | 3769 pass |
3759 | 3770 |
3760 def WriteImmediateFormatTest(self, func, file): | 3771 def WriteImmediateFormatTest(self, func, file): |
3761 """Overrriden from TypeHandler.""" | 3772 """Overrriden from TypeHandler.""" |
3762 file.Write("// TODO(gman): Implement test for %s\n" % func.name) | 3773 file.Write("// TODO(gman): Implement test for %s\n" % func.name) |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3848 "cmd, total_size);\n") | 3859 "cmd, total_size);\n") |
3849 file.Write(" }\n") | 3860 file.Write(" }\n") |
3850 file.Write("\n") | 3861 file.Write("\n") |
3851 | 3862 |
3852 def WriteImmediateFormatTest(self, func, file): | 3863 def WriteImmediateFormatTest(self, func, file): |
3853 """Overrriden from TypeHandler.""" | 3864 """Overrriden from TypeHandler.""" |
3854 # TODO(gman): Remove this exception. | 3865 # TODO(gman): Remove this exception. |
3855 file.Write("// TODO(gman): Implement test for %s\n" % func.name) | 3866 file.Write("// TODO(gman): Implement test for %s\n" % func.name) |
3856 return | 3867 return |
3857 | 3868 |
3858 def WriteServiceUnitTest(self, func, file): | 3869 def WriteServiceUnitTest(self, func, file, *extras): |
3859 """Overrriden from TypeHandler.""" | 3870 """Overrriden from TypeHandler.""" |
3860 file.Write("// TODO(gman): %s\n\n" % func.name) | 3871 file.Write("// TODO(gman): %s\n\n" % func.name) |
3861 | 3872 |
3862 def WriteImmediateServiceUnitTest(self, func, file): | 3873 def WriteImmediateServiceUnitTest(self, func, file, *extras): |
3863 """Overrriden from TypeHandler.""" | 3874 """Overrriden from TypeHandler.""" |
3864 file.Write("// TODO(gman): %s\n\n" % func.name) | 3875 file.Write("// TODO(gman): %s\n\n" % func.name) |
3865 | 3876 |
3866 def WriteBucketServiceImplementation(self, func, file): | 3877 def WriteBucketServiceImplementation(self, func, file): |
3867 """Overrriden from TypeHandler.""" | 3878 """Overrriden from TypeHandler.""" |
3868 if not func.name == 'CompressedTexSubImage2DBucket': | 3879 if not func.name == 'CompressedTexSubImage2DBucket': |
3869 TypeHandler.WriteBucketServiceImplemenation(self, func, file) | 3880 TypeHandler.WriteBucketServiceImplemenation(self, func, file) |
3870 | 3881 |
3871 | 3882 |
3872 class BindHandler(TypeHandler): | 3883 class BindHandler(TypeHandler): |
3873 """Handler for glBind___ type functions.""" | 3884 """Handler for glBind___ type functions.""" |
3874 | 3885 |
3875 def __init__(self): | 3886 def __init__(self): |
3876 TypeHandler.__init__(self) | 3887 TypeHandler.__init__(self) |
3877 | 3888 |
3878 def WriteServiceUnitTest(self, func, file): | 3889 def WriteServiceUnitTest(self, func, file, *extras): |
3879 """Overrriden from TypeHandler.""" | 3890 """Overrriden from TypeHandler.""" |
3880 | 3891 |
3881 if len(func.GetOriginalArgs()) == 1: | 3892 if len(func.GetOriginalArgs()) == 1: |
3882 valid_test = """ | 3893 valid_test = """ |
3883 TEST_P(%(test_name)s, %(name)sValidArgs) { | 3894 TEST_P(%(test_name)s, %(name)sValidArgs) { |
3884 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); | 3895 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); |
3885 SpecializedSetup<cmds::%(name)s, 0>(true); | 3896 SpecializedSetup<cmds::%(name)s, 0>(true); |
3886 cmds::%(name)s cmd; | 3897 cmds::%(name)s cmd; |
3887 cmd.Init(%(args)s); | 3898 cmd.Init(%(args)s); |
3888 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 3899 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
(...skipping 10 matching lines...) Expand all Loading... | |
3899 cmds::%(name)s cmd; | 3910 cmds::%(name)s cmd; |
3900 cmd.Init(kNewClientId); | 3911 cmd.Init(kNewClientId); |
3901 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 3912 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
3902 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 3913 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
3903 EXPECT_TRUE(Get%(resource_type)s(kNewClientId) != NULL); | 3914 EXPECT_TRUE(Get%(resource_type)s(kNewClientId) != NULL); |
3904 } | 3915 } |
3905 """ | 3916 """ |
3906 self.WriteValidUnitTest(func, file, valid_test, { | 3917 self.WriteValidUnitTest(func, file, valid_test, { |
3907 'resource_type': func.GetOriginalArgs()[0].resource_type, | 3918 'resource_type': func.GetOriginalArgs()[0].resource_type, |
3908 'gl_gen_func_name': func.GetInfo("gen_func"), | 3919 'gl_gen_func_name': func.GetInfo("gen_func"), |
3909 }) | 3920 }, *extras) |
3910 else: | 3921 else: |
3911 valid_test = """ | 3922 valid_test = """ |
3912 TEST_P(%(test_name)s, %(name)sValidArgs) { | 3923 TEST_P(%(test_name)s, %(name)sValidArgs) { |
3913 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); | 3924 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); |
3914 SpecializedSetup<cmds::%(name)s, 0>(true); | 3925 SpecializedSetup<cmds::%(name)s, 0>(true); |
3915 cmds::%(name)s cmd; | 3926 cmds::%(name)s cmd; |
3916 cmd.Init(%(args)s); | 3927 cmd.Init(%(args)s); |
3917 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 3928 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
3918 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 3929 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
3919 } | 3930 } |
(...skipping 10 matching lines...) Expand all Loading... | |
3930 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 3941 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
3931 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 3942 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
3932 EXPECT_TRUE(Get%(resource_type)s(kNewClientId) != NULL); | 3943 EXPECT_TRUE(Get%(resource_type)s(kNewClientId) != NULL); |
3933 } | 3944 } |
3934 """ | 3945 """ |
3935 self.WriteValidUnitTest(func, file, valid_test, { | 3946 self.WriteValidUnitTest(func, file, valid_test, { |
3936 'first_arg': func.GetOriginalArgs()[0].GetValidArg(func), | 3947 'first_arg': func.GetOriginalArgs()[0].GetValidArg(func), |
3937 'first_gl_arg': func.GetOriginalArgs()[0].GetValidGLArg(func), | 3948 'first_gl_arg': func.GetOriginalArgs()[0].GetValidGLArg(func), |
3938 'resource_type': func.GetOriginalArgs()[1].resource_type, | 3949 'resource_type': func.GetOriginalArgs()[1].resource_type, |
3939 'gl_gen_func_name': func.GetInfo("gen_func"), | 3950 'gl_gen_func_name': func.GetInfo("gen_func"), |
3940 }) | 3951 }, *extras) |
3941 | 3952 |
3942 invalid_test = """ | 3953 invalid_test = """ |
3943 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { | 3954 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { |
3944 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); | 3955 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); |
3945 SpecializedSetup<cmds::%(name)s, 0>(false); | 3956 SpecializedSetup<cmds::%(name)s, 0>(false); |
3946 cmds::%(name)s cmd; | 3957 cmds::%(name)s cmd; |
3947 cmd.Init(%(args)s); | 3958 cmd.Init(%(args)s); |
3948 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd));%(gl_error_test)s | 3959 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd));%(gl_error_test)s |
3949 } | 3960 } |
3950 """ | 3961 """ |
3951 self.WriteInvalidUnitTest(func, file, invalid_test) | 3962 self.WriteInvalidUnitTest(func, file, invalid_test, *extras) |
3952 | 3963 |
3953 def WriteGLES2Implementation(self, func, file): | 3964 def WriteGLES2Implementation(self, func, file): |
3954 """Writes the GLES2 Implemention.""" | 3965 """Writes the GLES2 Implemention.""" |
3955 | 3966 |
3956 impl_func = func.GetInfo('impl_func') | 3967 impl_func = func.GetInfo('impl_func') |
3957 impl_decl = func.GetInfo('impl_decl') | 3968 impl_decl = func.GetInfo('impl_decl') |
3958 | 3969 |
3959 if (func.can_auto_generate and | 3970 if (func.can_auto_generate and |
3960 (impl_func == None or impl_func == True) and | 3971 (impl_func == None or impl_func == True) and |
3961 (impl_decl == None or impl_decl == True)): | 3972 (impl_decl == None or impl_decl == True)): |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4128 EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected))); | 4139 EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected))); |
4129 EXPECT_EQ(k%(types)sStartId, ids[0]); | 4140 EXPECT_EQ(k%(types)sStartId, ids[0]); |
4130 EXPECT_EQ(k%(types)sStartId + 1, ids[1]); | 4141 EXPECT_EQ(k%(types)sStartId + 1, ids[1]); |
4131 } | 4142 } |
4132 """ | 4143 """ |
4133 file.Write(code % { | 4144 file.Write(code % { |
4134 'name': func.name, | 4145 'name': func.name, |
4135 'types': func.GetInfo('resource_types'), | 4146 'types': func.GetInfo('resource_types'), |
4136 }) | 4147 }) |
4137 | 4148 |
4138 def WriteServiceUnitTest(self, func, file): | 4149 def WriteServiceUnitTest(self, func, file, *extras): |
4139 """Overrriden from TypeHandler.""" | 4150 """Overrriden from TypeHandler.""" |
4140 valid_test = """ | 4151 valid_test = """ |
4141 TEST_P(%(test_name)s, %(name)sValidArgs) { | 4152 TEST_P(%(test_name)s, %(name)sValidArgs) { |
4142 EXPECT_CALL(*gl_, %(gl_func_name)s(1, _)) | 4153 EXPECT_CALL(*gl_, %(gl_func_name)s(1, _)) |
4143 .WillOnce(SetArgumentPointee<1>(kNewServiceId)); | 4154 .WillOnce(SetArgumentPointee<1>(kNewServiceId)); |
4144 GetSharedMemoryAs<GLuint*>()[0] = kNewClientId; | 4155 GetSharedMemoryAs<GLuint*>()[0] = kNewClientId; |
4145 SpecializedSetup<cmds::%(name)s, 0>(true); | 4156 SpecializedSetup<cmds::%(name)s, 0>(true); |
4146 cmds::%(name)s cmd; | 4157 cmds::%(name)s cmd; |
4147 cmd.Init(%(args)s); | 4158 cmd.Init(%(args)s); |
4148 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 4159 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
4149 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 4160 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
4150 EXPECT_TRUE(Get%(resource_name)s(kNewClientId) != NULL); | 4161 EXPECT_TRUE(Get%(resource_name)s(kNewClientId) != NULL); |
4151 } | 4162 } |
4152 """ | 4163 """ |
4153 self.WriteValidUnitTest(func, file, valid_test, { | 4164 self.WriteValidUnitTest(func, file, valid_test, { |
4154 'resource_name': func.GetInfo('resource_type'), | 4165 'resource_name': func.GetInfo('resource_type'), |
4155 }) | 4166 }, *extras) |
4156 invalid_test = """ | 4167 invalid_test = """ |
4157 TEST_P(%(test_name)s, %(name)sInvalidArgs) { | 4168 TEST_P(%(test_name)s, %(name)sInvalidArgs) { |
4158 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _)).Times(0); | 4169 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _)).Times(0); |
4159 GetSharedMemoryAs<GLuint*>()[0] = client_%(resource_name)s_id_; | 4170 GetSharedMemoryAs<GLuint*>()[0] = client_%(resource_name)s_id_; |
4160 SpecializedSetup<cmds::%(name)s, 0>(false); | 4171 SpecializedSetup<cmds::%(name)s, 0>(false); |
4161 cmds::%(name)s cmd; | 4172 cmds::%(name)s cmd; |
4162 cmd.Init(%(args)s); | 4173 cmd.Init(%(args)s); |
4163 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); | 4174 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); |
4164 } | 4175 } |
4165 """ | 4176 """ |
4166 self.WriteValidUnitTest(func, file, invalid_test, { | 4177 self.WriteValidUnitTest(func, file, invalid_test, { |
4167 'resource_name': func.GetInfo('resource_type').lower(), | 4178 'resource_name': func.GetInfo('resource_type').lower(), |
4168 }) | 4179 }, *extras) |
4169 | 4180 |
4170 def WriteImmediateServiceUnitTest(self, func, file): | 4181 def WriteImmediateServiceUnitTest(self, func, file, *extras): |
4171 """Overrriden from TypeHandler.""" | 4182 """Overrriden from TypeHandler.""" |
4172 valid_test = """ | 4183 valid_test = """ |
4173 TEST_P(%(test_name)s, %(name)sValidArgs) { | 4184 TEST_P(%(test_name)s, %(name)sValidArgs) { |
4174 EXPECT_CALL(*gl_, %(gl_func_name)s(1, _)) | 4185 EXPECT_CALL(*gl_, %(gl_func_name)s(1, _)) |
4175 .WillOnce(SetArgumentPointee<1>(kNewServiceId)); | 4186 .WillOnce(SetArgumentPointee<1>(kNewServiceId)); |
4176 cmds::%(name)s* cmd = GetImmediateAs<cmds::%(name)s>(); | 4187 cmds::%(name)s* cmd = GetImmediateAs<cmds::%(name)s>(); |
4177 GLuint temp = kNewClientId; | 4188 GLuint temp = kNewClientId; |
4178 SpecializedSetup<cmds::%(name)s, 0>(true); | 4189 SpecializedSetup<cmds::%(name)s, 0>(true); |
4179 cmd->Init(1, &temp); | 4190 cmd->Init(1, &temp); |
4180 EXPECT_EQ(error::kNoError, | 4191 EXPECT_EQ(error::kNoError, |
4181 ExecuteImmediateCmd(*cmd, sizeof(temp))); | 4192 ExecuteImmediateCmd(*cmd, sizeof(temp))); |
4182 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 4193 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
4183 EXPECT_TRUE(Get%(resource_name)s(kNewClientId) != NULL); | 4194 EXPECT_TRUE(Get%(resource_name)s(kNewClientId) != NULL); |
4184 } | 4195 } |
4185 """ | 4196 """ |
4186 self.WriteValidUnitTest(func, file, valid_test, { | 4197 self.WriteValidUnitTest(func, file, valid_test, { |
4187 'resource_name': func.GetInfo('resource_type'), | 4198 'resource_name': func.GetInfo('resource_type'), |
4188 }) | 4199 }, *extras) |
4189 invalid_test = """ | 4200 invalid_test = """ |
4190 TEST_P(%(test_name)s, %(name)sInvalidArgs) { | 4201 TEST_P(%(test_name)s, %(name)sInvalidArgs) { |
4191 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _)).Times(0); | 4202 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _)).Times(0); |
4192 cmds::%(name)s* cmd = GetImmediateAs<cmds::%(name)s>(); | 4203 cmds::%(name)s* cmd = GetImmediateAs<cmds::%(name)s>(); |
4193 SpecializedSetup<cmds::%(name)s, 0>(false); | 4204 SpecializedSetup<cmds::%(name)s, 0>(false); |
4194 cmd->Init(1, &client_%(resource_name)s_id_); | 4205 cmd->Init(1, &client_%(resource_name)s_id_); |
4195 EXPECT_EQ(error::kInvalidArguments, | 4206 EXPECT_EQ(error::kInvalidArguments, |
4196 ExecuteImmediateCmd(*cmd, sizeof(&client_%(resource_name)s_id_))); | 4207 ExecuteImmediateCmd(*cmd, sizeof(&client_%(resource_name)s_id_))); |
4197 } | 4208 } |
4198 """ | 4209 """ |
4199 self.WriteValidUnitTest(func, file, invalid_test, { | 4210 self.WriteValidUnitTest(func, file, invalid_test, { |
4200 'resource_name': func.GetInfo('resource_type').lower(), | 4211 'resource_name': func.GetInfo('resource_type').lower(), |
4201 }) | 4212 }, *extras) |
4202 | 4213 |
4203 def WriteImmediateCmdComputeSize(self, func, file): | 4214 def WriteImmediateCmdComputeSize(self, func, file): |
4204 """Overrriden from TypeHandler.""" | 4215 """Overrriden from TypeHandler.""" |
4205 file.Write(" static uint32_t ComputeDataSize(GLsizei n) {\n") | 4216 file.Write(" static uint32_t ComputeDataSize(GLsizei n) {\n") |
4206 file.Write( | 4217 file.Write( |
4207 " return static_cast<uint32_t>(sizeof(GLuint) * n); // NOLINT\n") | 4218 " return static_cast<uint32_t>(sizeof(GLuint) * n); // NOLINT\n") |
4208 file.Write(" }\n") | 4219 file.Write(" }\n") |
4209 file.Write("\n") | 4220 file.Write("\n") |
4210 file.Write(" static uint32_t ComputeSize(GLsizei n) {\n") | 4221 file.Write(" static uint32_t ComputeSize(GLsizei n) {\n") |
4211 file.Write(" return static_cast<uint32_t>(\n") | 4222 file.Write(" return static_cast<uint32_t>(\n") |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4294 class CreateHandler(TypeHandler): | 4305 class CreateHandler(TypeHandler): |
4295 """Handler for glCreate___ type functions.""" | 4306 """Handler for glCreate___ type functions.""" |
4296 | 4307 |
4297 def __init__(self): | 4308 def __init__(self): |
4298 TypeHandler.__init__(self) | 4309 TypeHandler.__init__(self) |
4299 | 4310 |
4300 def InitFunction(self, func): | 4311 def InitFunction(self, func): |
4301 """Overrriden from TypeHandler.""" | 4312 """Overrriden from TypeHandler.""" |
4302 func.AddCmdArg(Argument("client_id", 'uint32_t')) | 4313 func.AddCmdArg(Argument("client_id", 'uint32_t')) |
4303 | 4314 |
4304 def WriteServiceUnitTest(self, func, file): | 4315 def WriteServiceUnitTest(self, func, file, *extras): |
4305 """Overrriden from TypeHandler.""" | 4316 """Overrriden from TypeHandler.""" |
4306 valid_test = """ | 4317 valid_test = """ |
4307 TEST_P(%(test_name)s, %(name)sValidArgs) { | 4318 TEST_P(%(test_name)s, %(name)sValidArgs) { |
4308 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)) | 4319 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)) |
4309 .WillOnce(Return(kNewServiceId)); | 4320 .WillOnce(Return(kNewServiceId)); |
4310 SpecializedSetup<cmds::%(name)s, 0>(true); | 4321 SpecializedSetup<cmds::%(name)s, 0>(true); |
4311 cmds::%(name)s cmd; | 4322 cmds::%(name)s cmd; |
4312 cmd.Init(%(args)s%(comma)skNewClientId); | 4323 cmd.Init(%(args)s%(comma)skNewClientId); |
4313 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 4324 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
4314 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 4325 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
4315 EXPECT_TRUE(Get%(resource_type)s(kNewClientId) != NULL); | 4326 EXPECT_TRUE(Get%(resource_type)s(kNewClientId) != NULL); |
4316 } | 4327 } |
4317 """ | 4328 """ |
4318 comma = "" | 4329 comma = "" |
4319 if len(func.GetOriginalArgs()): | 4330 if len(func.GetOriginalArgs()): |
4320 comma =", " | 4331 comma =", " |
4321 self.WriteValidUnitTest(func, file, valid_test, { | 4332 self.WriteValidUnitTest(func, file, valid_test, { |
4322 'comma': comma, | 4333 'comma': comma, |
4323 'resource_type': func.name[6:], | 4334 'resource_type': func.name[6:], |
4324 }) | 4335 }, *extras) |
4325 invalid_test = """ | 4336 invalid_test = """ |
4326 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { | 4337 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { |
4327 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); | 4338 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); |
4328 SpecializedSetup<cmds::%(name)s, 0>(false); | 4339 SpecializedSetup<cmds::%(name)s, 0>(false); |
4329 cmds::%(name)s cmd; | 4340 cmds::%(name)s cmd; |
4330 cmd.Init(%(args)s%(comma)skNewClientId); | 4341 cmd.Init(%(args)s%(comma)skNewClientId); |
4331 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));%(gl_error_test)s | 4342 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));%(gl_error_test)s |
4332 } | 4343 } |
4333 """ | 4344 """ |
4334 self.WriteInvalidUnitTest(func, file, invalid_test, { | 4345 self.WriteInvalidUnitTest(func, file, invalid_test, { |
4335 'comma': comma, | 4346 'comma': comma, |
4336 }) | 4347 }, *extras) |
4337 | 4348 |
4338 def WriteHandlerImplementation (self, func, file): | 4349 def WriteHandlerImplementation (self, func, file): |
4339 """Overrriden from TypeHandler.""" | 4350 """Overrriden from TypeHandler.""" |
4340 file.Write(" uint32_t client_id = c.client_id;\n") | 4351 file.Write(" uint32_t client_id = c.client_id;\n") |
4341 file.Write(" if (!%sHelper(%s)) {\n" % | 4352 file.Write(" if (!%sHelper(%s)) {\n" % |
4342 (func.name, func.MakeCmdArgString(""))) | 4353 (func.name, func.MakeCmdArgString(""))) |
4343 file.Write(" return error::kInvalidArguments;\n") | 4354 file.Write(" return error::kInvalidArguments;\n") |
4344 file.Write(" }\n") | 4355 file.Write(" }\n") |
4345 | 4356 |
4346 def WriteGLES2Implementation(self, func, file): | 4357 def WriteGLES2Implementation(self, func, file): |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4425 expected.data[1] = k%(types)sStartId + 1; | 4436 expected.data[1] = k%(types)sStartId + 1; |
4426 gl_->%(name)s(arraysize(ids), &ids[0]); | 4437 gl_->%(name)s(arraysize(ids), &ids[0]); |
4427 EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected))); | 4438 EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected))); |
4428 } | 4439 } |
4429 """ | 4440 """ |
4430 file.Write(code % { | 4441 file.Write(code % { |
4431 'name': func.name, | 4442 'name': func.name, |
4432 'types': func.GetInfo('resource_types'), | 4443 'types': func.GetInfo('resource_types'), |
4433 }) | 4444 }) |
4434 | 4445 |
4435 def WriteServiceUnitTest(self, func, file): | 4446 def WriteServiceUnitTest(self, func, file, *extras): |
4436 """Overrriden from TypeHandler.""" | 4447 """Overrriden from TypeHandler.""" |
4437 valid_test = """ | 4448 valid_test = """ |
4438 TEST_P(%(test_name)s, %(name)sValidArgs) { | 4449 TEST_P(%(test_name)s, %(name)sValidArgs) { |
4439 EXPECT_CALL( | 4450 EXPECT_CALL( |
4440 *gl_, | 4451 *gl_, |
4441 %(gl_func_name)s(1, Pointee(kService%(upper_resource_name)sId))) | 4452 %(gl_func_name)s(1, Pointee(kService%(upper_resource_name)sId))) |
4442 .Times(1); | 4453 .Times(1); |
4443 GetSharedMemoryAs<GLuint*>()[0] = client_%(resource_name)s_id_; | 4454 GetSharedMemoryAs<GLuint*>()[0] = client_%(resource_name)s_id_; |
4444 SpecializedSetup<cmds::%(name)s, 0>(true); | 4455 SpecializedSetup<cmds::%(name)s, 0>(true); |
4445 cmds::%(name)s cmd; | 4456 cmds::%(name)s cmd; |
4446 cmd.Init(%(args)s); | 4457 cmd.Init(%(args)s); |
4447 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 4458 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
4448 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 4459 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
4449 EXPECT_TRUE( | 4460 EXPECT_TRUE( |
4450 Get%(upper_resource_name)s(client_%(resource_name)s_id_) == NULL); | 4461 Get%(upper_resource_name)s(client_%(resource_name)s_id_) == NULL); |
4451 } | 4462 } |
4452 """ | 4463 """ |
4453 self.WriteValidUnitTest(func, file, valid_test, { | 4464 self.WriteValidUnitTest(func, file, valid_test, { |
4454 'resource_name': func.GetInfo('resource_type').lower(), | 4465 'resource_name': func.GetInfo('resource_type').lower(), |
4455 'upper_resource_name': func.GetInfo('resource_type'), | 4466 'upper_resource_name': func.GetInfo('resource_type'), |
4456 }) | 4467 }, *extras) |
4457 invalid_test = """ | 4468 invalid_test = """ |
4458 TEST_P(%(test_name)s, %(name)sInvalidArgs) { | 4469 TEST_P(%(test_name)s, %(name)sInvalidArgs) { |
4459 GetSharedMemoryAs<GLuint*>()[0] = kInvalidClientId; | 4470 GetSharedMemoryAs<GLuint*>()[0] = kInvalidClientId; |
4460 SpecializedSetup<cmds::%(name)s, 0>(false); | 4471 SpecializedSetup<cmds::%(name)s, 0>(false); |
4461 cmds::%(name)s cmd; | 4472 cmds::%(name)s cmd; |
4462 cmd.Init(%(args)s); | 4473 cmd.Init(%(args)s); |
4463 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 4474 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
4464 } | 4475 } |
4465 """ | 4476 """ |
4466 self.WriteValidUnitTest(func, file, invalid_test) | 4477 self.WriteValidUnitTest(func, file, invalid_test, *extras) |
4467 | 4478 |
4468 def WriteImmediateServiceUnitTest(self, func, file): | 4479 def WriteImmediateServiceUnitTest(self, func, file, *extras): |
4469 """Overrriden from TypeHandler.""" | 4480 """Overrriden from TypeHandler.""" |
4470 valid_test = """ | 4481 valid_test = """ |
4471 TEST_P(%(test_name)s, %(name)sValidArgs) { | 4482 TEST_P(%(test_name)s, %(name)sValidArgs) { |
4472 EXPECT_CALL( | 4483 EXPECT_CALL( |
4473 *gl_, | 4484 *gl_, |
4474 %(gl_func_name)s(1, Pointee(kService%(upper_resource_name)sId))) | 4485 %(gl_func_name)s(1, Pointee(kService%(upper_resource_name)sId))) |
4475 .Times(1); | 4486 .Times(1); |
4476 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); | 4487 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); |
4477 SpecializedSetup<cmds::%(name)s, 0>(true); | 4488 SpecializedSetup<cmds::%(name)s, 0>(true); |
4478 cmd.Init(1, &client_%(resource_name)s_id_); | 4489 cmd.Init(1, &client_%(resource_name)s_id_); |
4479 EXPECT_EQ(error::kNoError, | 4490 EXPECT_EQ(error::kNoError, |
4480 ExecuteImmediateCmd(cmd, sizeof(client_%(resource_name)s_id_))); | 4491 ExecuteImmediateCmd(cmd, sizeof(client_%(resource_name)s_id_))); |
4481 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 4492 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
4482 EXPECT_TRUE( | 4493 EXPECT_TRUE( |
4483 Get%(upper_resource_name)s(client_%(resource_name)s_id_) == NULL); | 4494 Get%(upper_resource_name)s(client_%(resource_name)s_id_) == NULL); |
4484 } | 4495 } |
4485 """ | 4496 """ |
4486 self.WriteValidUnitTest(func, file, valid_test, { | 4497 self.WriteValidUnitTest(func, file, valid_test, { |
4487 'resource_name': func.GetInfo('resource_type').lower(), | 4498 'resource_name': func.GetInfo('resource_type').lower(), |
4488 'upper_resource_name': func.GetInfo('resource_type'), | 4499 'upper_resource_name': func.GetInfo('resource_type'), |
4489 }) | 4500 }, *extras) |
4490 invalid_test = """ | 4501 invalid_test = """ |
4491 TEST_P(%(test_name)s, %(name)sInvalidArgs) { | 4502 TEST_P(%(test_name)s, %(name)sInvalidArgs) { |
4492 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); | 4503 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); |
4493 SpecializedSetup<cmds::%(name)s, 0>(false); | 4504 SpecializedSetup<cmds::%(name)s, 0>(false); |
4494 GLuint temp = kInvalidClientId; | 4505 GLuint temp = kInvalidClientId; |
4495 cmd.Init(1, &temp); | 4506 cmd.Init(1, &temp); |
4496 EXPECT_EQ(error::kNoError, | 4507 EXPECT_EQ(error::kNoError, |
4497 ExecuteImmediateCmd(cmd, sizeof(temp))); | 4508 ExecuteImmediateCmd(cmd, sizeof(temp))); |
4498 } | 4509 } |
4499 """ | 4510 """ |
4500 self.WriteValidUnitTest(func, file, invalid_test) | 4511 self.WriteValidUnitTest(func, file, invalid_test, *extras) |
4501 | 4512 |
4502 def WriteHandlerImplementation (self, func, file): | 4513 def WriteHandlerImplementation (self, func, file): |
4503 """Overrriden from TypeHandler.""" | 4514 """Overrriden from TypeHandler.""" |
4504 file.Write(" %sHelper(n, %s);\n" % | 4515 file.Write(" %sHelper(n, %s);\n" % |
4505 (func.name, func.GetLastOriginalArg().name)) | 4516 (func.name, func.GetLastOriginalArg().name)) |
4506 | 4517 |
4507 def WriteImmediateHandlerImplementation (self, func, file): | 4518 def WriteImmediateHandlerImplementation (self, func, file): |
4508 """Overrriden from TypeHandler.""" | 4519 """Overrriden from TypeHandler.""" |
4509 file.Write(" %sHelper(n, %s);\n" % | 4520 file.Write(" %sHelper(n, %s);\n" % |
4510 (func.original_name, func.GetLastOriginalArg().name)) | 4521 (func.original_name, func.GetLastOriginalArg().name)) |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4780 gl_arg_strings = [first_gl_arg] | 4791 gl_arg_strings = [first_gl_arg] |
4781 for arg in func.GetOriginalArgs()[1:-1]: | 4792 for arg in func.GetOriginalArgs()[1:-1]: |
4782 gl_arg_strings.append(arg.GetValidClientSideArg(func)) | 4793 gl_arg_strings.append(arg.GetValidClientSideArg(func)) |
4783 | 4794 |
4784 file.Write(code % { | 4795 file.Write(code % { |
4785 'name': func.name, | 4796 'name': func.name, |
4786 'args': ", ".join(gl_arg_strings), | 4797 'args': ", ".join(gl_arg_strings), |
4787 'cmd_args': ", ".join(cmd_arg_strings), | 4798 'cmd_args': ", ".join(cmd_arg_strings), |
4788 }) | 4799 }) |
4789 | 4800 |
4790 def WriteServiceUnitTest(self, func, file): | 4801 def WriteServiceUnitTest(self, func, file, *extras): |
4791 """Overrriden from TypeHandler.""" | 4802 """Overrriden from TypeHandler.""" |
4792 valid_test = """ | 4803 valid_test = """ |
4793 TEST_P(%(test_name)s, %(name)sValidArgs) { | 4804 TEST_P(%(test_name)s, %(name)sValidArgs) { |
4794 EXPECT_CALL(*gl_, GetError()) | 4805 EXPECT_CALL(*gl_, GetError()) |
4795 .WillOnce(Return(GL_NO_ERROR)) | 4806 .WillOnce(Return(GL_NO_ERROR)) |
4796 .WillOnce(Return(GL_NO_ERROR)) | 4807 .WillOnce(Return(GL_NO_ERROR)) |
4797 .RetiresOnSaturation(); | 4808 .RetiresOnSaturation(); |
4798 SpecializedSetup<cmds::%(name)s, 0>(true); | 4809 SpecializedSetup<cmds::%(name)s, 0>(true); |
4799 typedef cmds::%(name)s::Result Result; | 4810 typedef cmds::%(name)s::Result Result; |
4800 Result* result = static_cast<Result*>(shared_memory_address_); | 4811 Result* result = static_cast<Result*>(shared_memory_address_); |
(...skipping 16 matching lines...) Expand all Loading... | |
4817 if arg.name == 'pname': | 4828 if arg.name == 'pname': |
4818 valid_pname = arg_value | 4829 valid_pname = arg_value |
4819 if func.GetInfo('gl_test_func') == 'glGetIntegerv': | 4830 if func.GetInfo('gl_test_func') == 'glGetIntegerv': |
4820 gl_arg_strings.append("_") | 4831 gl_arg_strings.append("_") |
4821 else: | 4832 else: |
4822 gl_arg_strings.append("result->GetData()") | 4833 gl_arg_strings.append("result->GetData()") |
4823 | 4834 |
4824 self.WriteValidUnitTest(func, file, valid_test, { | 4835 self.WriteValidUnitTest(func, file, valid_test, { |
4825 'local_gl_args': ", ".join(gl_arg_strings), | 4836 'local_gl_args': ", ".join(gl_arg_strings), |
4826 'valid_pname': valid_pname, | 4837 'valid_pname': valid_pname, |
4827 }) | 4838 }, *extras) |
4828 | 4839 |
4829 invalid_test = """ | 4840 invalid_test = """ |
4830 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { | 4841 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { |
4831 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); | 4842 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); |
4832 SpecializedSetup<cmds::%(name)s, 0>(false); | 4843 SpecializedSetup<cmds::%(name)s, 0>(false); |
4833 cmds::%(name)s::Result* result = | 4844 cmds::%(name)s::Result* result = |
4834 static_cast<cmds::%(name)s::Result*>(shared_memory_address_); | 4845 static_cast<cmds::%(name)s::Result*>(shared_memory_address_); |
4835 result->size = 0; | 4846 result->size = 0; |
4836 cmds::%(name)s cmd; | 4847 cmds::%(name)s cmd; |
4837 cmd.Init(%(args)s); | 4848 cmd.Init(%(args)s); |
4838 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd)); | 4849 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd)); |
4839 EXPECT_EQ(0u, result->size);%(gl_error_test)s | 4850 EXPECT_EQ(0u, result->size);%(gl_error_test)s |
4840 } | 4851 } |
4841 """ | 4852 """ |
4842 self.WriteInvalidUnitTest(func, file, invalid_test) | 4853 self.WriteInvalidUnitTest(func, file, invalid_test, *extras) |
4843 | 4854 |
4844 class ArrayArgTypeHandler(TypeHandler): | 4855 class ArrayArgTypeHandler(TypeHandler): |
4845 """Base class for type handlers that handle args that are arrays""" | 4856 """Base class for type handlers that handle args that are arrays""" |
4846 | 4857 |
4847 def __init__(self): | 4858 def __init__(self): |
4848 TypeHandler.__init__(self) | 4859 TypeHandler.__init__(self) |
4849 | 4860 |
4850 def GetArrayType(self, func): | 4861 def GetArrayType(self, func): |
4851 """Returns the type of the element in the element array being PUT to.""" | 4862 """Returns the type of the element in the element array being PUT to.""" |
4852 for arg in func.GetOriginalArgs(): | 4863 for arg in func.GetOriginalArgs(): |
(...skipping 11 matching lines...) Expand all Loading... | |
4864 def GetArrayCount(self, func): | 4875 def GetArrayCount(self, func): |
4865 """Returns the count of the elements in the array being PUT to.""" | 4876 """Returns the count of the elements in the array being PUT to.""" |
4866 return func.GetInfo('count') | 4877 return func.GetInfo('count') |
4867 | 4878 |
4868 class PUTHandler(ArrayArgTypeHandler): | 4879 class PUTHandler(ArrayArgTypeHandler): |
4869 """Handler for glTexParameter_v, glVertexAttrib_v functions.""" | 4880 """Handler for glTexParameter_v, glVertexAttrib_v functions.""" |
4870 | 4881 |
4871 def __init__(self): | 4882 def __init__(self): |
4872 ArrayArgTypeHandler.__init__(self) | 4883 ArrayArgTypeHandler.__init__(self) |
4873 | 4884 |
4874 def WriteServiceUnitTest(self, func, file): | 4885 def WriteServiceUnitTest(self, func, file, *extras): |
4875 """Writes the service unit test for a command.""" | 4886 """Writes the service unit test for a command.""" |
4876 expected_call = "EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s));" | 4887 expected_call = "EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s));" |
4877 if func.GetInfo("first_element_only"): | 4888 if func.GetInfo("first_element_only"): |
4878 gl_arg_strings = [ | 4889 gl_arg_strings = [ |
4879 arg.GetValidGLArg(func) for arg in func.GetOriginalArgs() | 4890 arg.GetValidGLArg(func) for arg in func.GetOriginalArgs() |
4880 ] | 4891 ] |
4881 gl_arg_strings[-1] = "*" + gl_arg_strings[-1] | 4892 gl_arg_strings[-1] = "*" + gl_arg_strings[-1] |
4882 expected_call = ("EXPECT_CALL(*gl_, %%(gl_func_name)s(%s));" % | 4893 expected_call = ("EXPECT_CALL(*gl_, %%(gl_func_name)s(%s));" % |
4883 ", ".join(gl_arg_strings)) | 4894 ", ".join(gl_arg_strings)) |
4884 valid_test = """ | 4895 valid_test = """ |
4885 TEST_P(%(test_name)s, %(name)sValidArgs) { | 4896 TEST_P(%(test_name)s, %(name)sValidArgs) { |
4886 SpecializedSetup<cmds::%(name)s, 0>(true); | 4897 SpecializedSetup<cmds::%(name)s, 0>(true); |
4887 cmds::%(name)s cmd; | 4898 cmds::%(name)s cmd; |
4888 cmd.Init(%(args)s); | 4899 cmd.Init(%(args)s); |
4889 GetSharedMemoryAs<%(data_type)s*>()[0] = %(data_value)s; | 4900 GetSharedMemoryAs<%(data_type)s*>()[0] = %(data_value)s; |
4890 %(expected_call)s | 4901 %(expected_call)s |
4891 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 4902 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
4892 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 4903 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
4893 } | 4904 } |
4894 """ | 4905 """ |
4895 extra = { | 4906 extra = { |
4896 'data_type': self.GetArrayType(func), | 4907 'data_type': self.GetArrayType(func), |
4897 'data_value': func.GetInfo('data_value') or '0', | 4908 'data_value': func.GetInfo('data_value') or '0', |
4898 'expected_call': expected_call, | 4909 'expected_call': expected_call, |
4899 } | 4910 } |
4900 self.WriteValidUnitTest(func, file, valid_test, extra) | 4911 self.WriteValidUnitTest(func, file, valid_test, extra, *extras) |
4901 | 4912 |
4902 invalid_test = """ | 4913 invalid_test = """ |
4903 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { | 4914 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { |
4904 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); | 4915 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); |
4905 SpecializedSetup<cmds::%(name)s, 0>(false); | 4916 SpecializedSetup<cmds::%(name)s, 0>(false); |
4906 cmds::%(name)s cmd; | 4917 cmds::%(name)s cmd; |
4907 cmd.Init(%(args)s); | 4918 cmd.Init(%(args)s); |
4908 GetSharedMemoryAs<%(data_type)s*>()[0] = %(data_value)s; | 4919 GetSharedMemoryAs<%(data_type)s*>()[0] = %(data_value)s; |
4909 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd));%(gl_error_test)s | 4920 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd));%(gl_error_test)s |
4910 } | 4921 } |
4911 """ | 4922 """ |
4912 self.WriteInvalidUnitTest(func, file, invalid_test, extra) | 4923 self.WriteInvalidUnitTest(func, file, invalid_test, extra, *extras) |
4913 | 4924 |
4914 def WriteImmediateServiceUnitTest(self, func, file): | 4925 def WriteImmediateServiceUnitTest(self, func, file, *extras): |
4915 """Writes the service unit test for a command.""" | 4926 """Writes the service unit test for a command.""" |
4916 valid_test = """ | 4927 valid_test = """ |
4917 TEST_P(%(test_name)s, %(name)sValidArgs) { | 4928 TEST_P(%(test_name)s, %(name)sValidArgs) { |
4918 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); | 4929 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); |
4919 SpecializedSetup<cmds::%(name)s, 0>(true); | 4930 SpecializedSetup<cmds::%(name)s, 0>(true); |
4920 %(data_type)s temp[%(data_count)s] = { %(data_value)s, }; | 4931 %(data_type)s temp[%(data_count)s] = { %(data_value)s, }; |
4921 cmd.Init(%(gl_args)s, &temp[0]); | 4932 cmd.Init(%(gl_args)s, &temp[0]); |
4922 EXPECT_CALL( | 4933 EXPECT_CALL( |
4923 *gl_, | 4934 *gl_, |
4924 %(gl_func_name)s(%(gl_args)s, %(data_ref)sreinterpret_cast< | 4935 %(gl_func_name)s(%(gl_args)s, %(data_ref)sreinterpret_cast< |
4925 %(data_type)s*>(ImmediateDataAddress(&cmd)))); | 4936 %(data_type)s*>(ImmediateDataAddress(&cmd)))); |
4926 EXPECT_EQ(error::kNoError, | 4937 EXPECT_EQ(error::kNoError, |
4927 ExecuteImmediateCmd(cmd, sizeof(temp))); | 4938 ExecuteImmediateCmd(cmd, sizeof(temp))); |
4928 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 4939 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
4929 } | 4940 } |
4930 """ | 4941 """ |
4931 gl_arg_strings = [ | 4942 gl_arg_strings = [ |
4932 arg.GetValidGLArg(func) for arg in func.GetOriginalArgs()[0:-1] | 4943 arg.GetValidGLArg(func) for arg in func.GetOriginalArgs()[0:-1] |
4933 ] | 4944 ] |
4934 gl_any_strings = ["_"] * len(gl_arg_strings) | 4945 gl_any_strings = ["_"] * len(gl_arg_strings) |
4935 | 4946 |
4936 extra = { | 4947 extra = { |
4937 'data_ref': ("*" if func.GetInfo('first_element_only') else ""), | 4948 'data_ref': ("*" if func.GetInfo('first_element_only') else ""), |
4938 'data_type': self.GetArrayType(func), | 4949 'data_type': self.GetArrayType(func), |
4939 'data_count': self.GetArrayCount(func), | 4950 'data_count': self.GetArrayCount(func), |
4940 'data_value': func.GetInfo('data_value') or '0', | 4951 'data_value': func.GetInfo('data_value') or '0', |
4941 'gl_args': ", ".join(gl_arg_strings), | 4952 'gl_args': ", ".join(gl_arg_strings), |
4942 'gl_any_args': ", ".join(gl_any_strings), | 4953 'gl_any_args': ", ".join(gl_any_strings), |
4943 } | 4954 } |
4944 self.WriteValidUnitTest(func, file, valid_test, extra) | 4955 self.WriteValidUnitTest(func, file, valid_test, extra, *extras) |
4945 | 4956 |
4946 invalid_test = """ | 4957 invalid_test = """ |
4947 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { | 4958 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { |
4948 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); | 4959 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); |
4949 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_any_args)s, _)).Times(0); | 4960 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_any_args)s, _)).Times(0); |
4950 SpecializedSetup<cmds::%(name)s, 0>(false); | 4961 SpecializedSetup<cmds::%(name)s, 0>(false); |
4951 %(data_type)s temp[%(data_count)s] = { %(data_value)s, }; | 4962 %(data_type)s temp[%(data_count)s] = { %(data_value)s, }; |
4952 cmd.Init(%(all_but_last_args)s, &temp[0]); | 4963 cmd.Init(%(all_but_last_args)s, &temp[0]); |
4953 EXPECT_EQ(error::%(parse_result)s, | 4964 EXPECT_EQ(error::%(parse_result)s, |
4954 ExecuteImmediateCmd(cmd, sizeof(temp)));%(gl_error_test)s | 4965 ExecuteImmediateCmd(cmd, sizeof(temp)));%(gl_error_test)s |
4955 } | 4966 } |
4956 """ | 4967 """ |
4957 self.WriteInvalidUnitTest(func, file, invalid_test, extra) | 4968 self.WriteInvalidUnitTest(func, file, invalid_test, extra, *extras) |
4958 | 4969 |
4959 def WriteGetDataSizeCode(self, func, file): | 4970 def WriteGetDataSizeCode(self, func, file): |
4960 """Overrriden from TypeHandler.""" | 4971 """Overrriden from TypeHandler.""" |
4961 code = """ uint32_t data_size; | 4972 code = """ uint32_t data_size; |
4962 if (!ComputeDataSize(1, sizeof(%s), %d, &data_size)) { | 4973 if (!ComputeDataSize(1, sizeof(%s), %d, &data_size)) { |
4963 return error::kOutOfBounds; | 4974 return error::kOutOfBounds; |
4964 } | 4975 } |
4965 """ | 4976 """ |
4966 file.Write(code % (self.GetArrayType(func), self.GetArrayCount(func))) | 4977 file.Write(code % (self.GetArrayType(func), self.GetArrayCount(func))) |
4967 if func.IsImmediate(): | 4978 if func.IsImmediate(): |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5135 file.Write("}\n") | 5146 file.Write("}\n") |
5136 file.Write("\n") | 5147 file.Write("\n") |
5137 | 5148 |
5138 | 5149 |
5139 class PUTnHandler(ArrayArgTypeHandler): | 5150 class PUTnHandler(ArrayArgTypeHandler): |
5140 """Handler for PUTn 'glUniform__v' type functions.""" | 5151 """Handler for PUTn 'glUniform__v' type functions.""" |
5141 | 5152 |
5142 def __init__(self): | 5153 def __init__(self): |
5143 ArrayArgTypeHandler.__init__(self) | 5154 ArrayArgTypeHandler.__init__(self) |
5144 | 5155 |
5145 def WriteServiceUnitTest(self, func, file): | 5156 def WriteServiceUnitTest(self, func, file, *extras): |
5146 """Overridden from TypeHandler.""" | 5157 """Overridden from TypeHandler.""" |
5147 ArrayArgTypeHandler.WriteServiceUnitTest(self, func, file) | 5158 ArrayArgTypeHandler.WriteServiceUnitTest(self, func, file, *extras) |
5148 | 5159 |
5149 valid_test = """ | 5160 valid_test = """ |
5150 TEST_P(%(test_name)s, %(name)sValidArgsCountTooLarge) { | 5161 TEST_P(%(test_name)s, %(name)sValidArgsCountTooLarge) { |
5151 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); | 5162 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); |
5152 SpecializedSetup<cmds::%(name)s, 0>(true); | 5163 SpecializedSetup<cmds::%(name)s, 0>(true); |
5153 cmds::%(name)s cmd; | 5164 cmds::%(name)s cmd; |
5154 cmd.Init(%(args)s); | 5165 cmd.Init(%(args)s); |
5155 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 5166 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
5156 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 5167 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
5157 } | 5168 } |
(...skipping 13 matching lines...) Expand all Loading... | |
5171 # the number of elements requested in the command. | 5182 # the number of elements requested in the command. |
5172 arg_strings.append("5") | 5183 arg_strings.append("5") |
5173 else: | 5184 else: |
5174 gl_arg_strings.append(arg.GetValidGLArg(func)) | 5185 gl_arg_strings.append(arg.GetValidGLArg(func)) |
5175 if not arg.IsConstant(): | 5186 if not arg.IsConstant(): |
5176 arg_strings.append(arg.GetValidArg(func)) | 5187 arg_strings.append(arg.GetValidArg(func)) |
5177 extra = { | 5188 extra = { |
5178 'gl_args': ", ".join(gl_arg_strings), | 5189 'gl_args': ", ".join(gl_arg_strings), |
5179 'args': ", ".join(arg_strings), | 5190 'args': ", ".join(arg_strings), |
5180 } | 5191 } |
5181 self.WriteValidUnitTest(func, file, valid_test, extra) | 5192 self.WriteValidUnitTest(func, file, valid_test, extra, *extras) |
5182 | 5193 |
5183 def WriteImmediateServiceUnitTest(self, func, file): | 5194 def WriteImmediateServiceUnitTest(self, func, file, *extras): |
5184 """Overridden from TypeHandler.""" | 5195 """Overridden from TypeHandler.""" |
5185 valid_test = """ | 5196 valid_test = """ |
5186 TEST_P(%(test_name)s, %(name)sValidArgs) { | 5197 TEST_P(%(test_name)s, %(name)sValidArgs) { |
5187 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); | 5198 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); |
5188 EXPECT_CALL( | 5199 EXPECT_CALL( |
5189 *gl_, | 5200 *gl_, |
5190 %(gl_func_name)s(%(gl_args)s, | 5201 %(gl_func_name)s(%(gl_args)s, |
5191 reinterpret_cast<%(data_type)s*>(ImmediateDataAddress(&cmd)))); | 5202 reinterpret_cast<%(data_type)s*>(ImmediateDataAddress(&cmd)))); |
5192 SpecializedSetup<cmds::%(name)s, 0>(true); | 5203 SpecializedSetup<cmds::%(name)s, 0>(true); |
5193 %(data_type)s temp[%(data_count)s * 2] = { 0, }; | 5204 %(data_type)s temp[%(data_count)s * 2] = { 0, }; |
(...skipping 11 matching lines...) Expand all Loading... | |
5205 gl_any_strings.append("_") | 5216 gl_any_strings.append("_") |
5206 if not arg.IsConstant(): | 5217 if not arg.IsConstant(): |
5207 arg_strings.append(arg.GetValidArg(func)) | 5218 arg_strings.append(arg.GetValidArg(func)) |
5208 extra = { | 5219 extra = { |
5209 'data_type': self.GetArrayType(func), | 5220 'data_type': self.GetArrayType(func), |
5210 'data_count': self.GetArrayCount(func), | 5221 'data_count': self.GetArrayCount(func), |
5211 'args': ", ".join(arg_strings), | 5222 'args': ", ".join(arg_strings), |
5212 'gl_args': ", ".join(gl_arg_strings), | 5223 'gl_args': ", ".join(gl_arg_strings), |
5213 'gl_any_args': ", ".join(gl_any_strings), | 5224 'gl_any_args': ", ".join(gl_any_strings), |
5214 } | 5225 } |
5215 self.WriteValidUnitTest(func, file, valid_test, extra) | 5226 self.WriteValidUnitTest(func, file, valid_test, extra, *extras) |
5216 | 5227 |
5217 invalid_test = """ | 5228 invalid_test = """ |
5218 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { | 5229 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { |
5219 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); | 5230 cmds::%(name)s& cmd = *GetImmediateAs<cmds::%(name)s>(); |
5220 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_any_args)s, _)).Times(0); | 5231 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_any_args)s, _)).Times(0); |
5221 SpecializedSetup<cmds::%(name)s, 0>(false); | 5232 SpecializedSetup<cmds::%(name)s, 0>(false); |
5222 %(data_type)s temp[%(data_count)s * 2] = { 0, }; | 5233 %(data_type)s temp[%(data_count)s * 2] = { 0, }; |
5223 cmd.Init(%(all_but_last_args)s, &temp[0]); | 5234 cmd.Init(%(all_but_last_args)s, &temp[0]); |
5224 EXPECT_EQ(error::%(parse_result)s, | 5235 EXPECT_EQ(error::%(parse_result)s, |
5225 ExecuteImmediateCmd(cmd, sizeof(temp)));%(gl_error_test)s | 5236 ExecuteImmediateCmd(cmd, sizeof(temp)));%(gl_error_test)s |
5226 } | 5237 } |
5227 """ | 5238 """ |
5228 self.WriteInvalidUnitTest(func, file, invalid_test, extra) | 5239 self.WriteInvalidUnitTest(func, file, invalid_test, extra, *extras) |
5229 | 5240 |
5230 def WriteGetDataSizeCode(self, func, file): | 5241 def WriteGetDataSizeCode(self, func, file): |
5231 """Overrriden from TypeHandler.""" | 5242 """Overrriden from TypeHandler.""" |
5232 code = """ uint32_t data_size; | 5243 code = """ uint32_t data_size; |
5233 if (!ComputeDataSize(count, sizeof(%s), %d, &data_size)) { | 5244 if (!ComputeDataSize(count, sizeof(%s), %d, &data_size)) { |
5234 return error::kOutOfBounds; | 5245 return error::kOutOfBounds; |
5235 } | 5246 } |
5236 """ | 5247 """ |
5237 file.Write(code % (self.GetArrayType(func), self.GetArrayCount(func))) | 5248 file.Write(code % (self.GetArrayType(func), self.GetArrayCount(func))) |
5238 if func.IsImmediate(): | 5249 if func.IsImmediate(): |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5480 | 5491 |
5481 file.Write(code % { | 5492 file.Write(code % { |
5482 'name': func.name, | 5493 'name': func.name, |
5483 'count': self.GetArrayCount(func), | 5494 'count': self.GetArrayCount(func), |
5484 'type': self.GetArrayType(func), | 5495 'type': self.GetArrayType(func), |
5485 'location': args[0].name, | 5496 'location': args[0].name, |
5486 'args': func.MakeOriginalArgString(""), | 5497 'args': func.MakeOriginalArgString(""), |
5487 'values': values, | 5498 'values': values, |
5488 }) | 5499 }) |
5489 | 5500 |
5490 def WriteServiceUnitTest(self, func, file): | 5501 def WriteServiceUnitTest(self, func, file, *extras): |
5491 """Overrriden from TypeHandler.""" | 5502 """Overrriden from TypeHandler.""" |
5492 valid_test = """ | 5503 valid_test = """ |
5493 TEST_P(%(test_name)s, %(name)sValidArgs) { | 5504 TEST_P(%(test_name)s, %(name)sValidArgs) { |
5494 EXPECT_CALL(*gl_, %(name)sv(%(local_args)s)); | 5505 EXPECT_CALL(*gl_, %(name)sv(%(local_args)s)); |
5495 SpecializedSetup<cmds::%(name)s, 0>(true); | 5506 SpecializedSetup<cmds::%(name)s, 0>(true); |
5496 cmds::%(name)s cmd; | 5507 cmds::%(name)s cmd; |
5497 cmd.Init(%(args)s); | 5508 cmd.Init(%(args)s); |
5498 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 5509 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
5499 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 5510 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
5500 } | 5511 } |
5501 """ | 5512 """ |
5502 args = func.GetOriginalArgs() | 5513 args = func.GetOriginalArgs() |
5503 local_args = "%s, 1, _" % args[0].GetValidGLArg(func) | 5514 local_args = "%s, 1, _" % args[0].GetValidGLArg(func) |
5504 self.WriteValidUnitTest(func, file, valid_test, { | 5515 self.WriteValidUnitTest(func, file, valid_test, { |
5505 'name': func.name, | 5516 'name': func.name, |
5506 'count': self.GetArrayCount(func), | 5517 'count': self.GetArrayCount(func), |
5507 'local_args': local_args, | 5518 'local_args': local_args, |
5508 }) | 5519 }, *extras) |
5509 | 5520 |
5510 invalid_test = """ | 5521 invalid_test = """ |
5511 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { | 5522 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { |
5512 EXPECT_CALL(*gl_, %(name)sv(_, _, _).Times(0); | 5523 EXPECT_CALL(*gl_, %(name)sv(_, _, _).Times(0); |
5513 SpecializedSetup<cmds::%(name)s, 0>(false); | 5524 SpecializedSetup<cmds::%(name)s, 0>(false); |
5514 cmds::%(name)s cmd; | 5525 cmds::%(name)s cmd; |
5515 cmd.Init(%(args)s); | 5526 cmd.Init(%(args)s); |
5516 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd));%(gl_error_test)s | 5527 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd));%(gl_error_test)s |
5517 } | 5528 } |
5518 """ | 5529 """ |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5689 def __init__(self): | 5700 def __init__(self): |
5690 TypeHandler.__init__(self) | 5701 TypeHandler.__init__(self) |
5691 | 5702 |
5692 def InitFunction(self, func): | 5703 def InitFunction(self, func): |
5693 """Overrriden from TypeHandler.""" | 5704 """Overrriden from TypeHandler.""" |
5694 func.AddCmdArg(Argument("result_shm_id", 'uint32_t')) | 5705 func.AddCmdArg(Argument("result_shm_id", 'uint32_t')) |
5695 func.AddCmdArg(Argument("result_shm_offset", 'uint32_t')) | 5706 func.AddCmdArg(Argument("result_shm_offset", 'uint32_t')) |
5696 if func.GetInfo('result') == None: | 5707 if func.GetInfo('result') == None: |
5697 func.AddInfo('result', ['uint32_t']) | 5708 func.AddInfo('result', ['uint32_t']) |
5698 | 5709 |
5699 def WriteServiceUnitTest(self, func, file): | 5710 def WriteServiceUnitTest(self, func, file, *extras): |
5700 """Overrriden from TypeHandler.""" | 5711 """Overrriden from TypeHandler.""" |
5701 valid_test = """ | 5712 valid_test = """ |
5702 TEST_P(%(test_name)s, %(name)sValidArgs) { | 5713 TEST_P(%(test_name)s, %(name)sValidArgs) { |
5703 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); | 5714 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)); |
5704 SpecializedSetup<cmds::%(name)s, 0>(true); | 5715 SpecializedSetup<cmds::%(name)s, 0>(true); |
5705 cmds::%(name)s cmd; | 5716 cmds::%(name)s cmd; |
5706 cmd.Init(%(args)s%(comma)sshared_memory_id_, shared_memory_offset_); | 5717 cmd.Init(%(args)s%(comma)sshared_memory_id_, shared_memory_offset_); |
5707 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 5718 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
5708 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 5719 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
5709 } | 5720 } |
5710 """ | 5721 """ |
5711 comma = "" | 5722 comma = "" |
5712 if len(func.GetOriginalArgs()): | 5723 if len(func.GetOriginalArgs()): |
5713 comma =", " | 5724 comma =", " |
5714 self.WriteValidUnitTest(func, file, valid_test, { | 5725 self.WriteValidUnitTest(func, file, valid_test, { |
5715 'comma': comma, | 5726 'comma': comma, |
5716 }) | 5727 }, *extras) |
5717 | 5728 |
5718 invalid_test = """ | 5729 invalid_test = """ |
5719 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { | 5730 TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) { |
5720 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); | 5731 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); |
5721 SpecializedSetup<cmds::%(name)s, 0>(false); | 5732 SpecializedSetup<cmds::%(name)s, 0>(false); |
5722 cmds::%(name)s cmd; | 5733 cmds::%(name)s cmd; |
5723 cmd.Init(%(args)s%(comma)sshared_memory_id_, shared_memory_offset_); | 5734 cmd.Init(%(args)s%(comma)sshared_memory_id_, shared_memory_offset_); |
5724 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd));%(gl_error_test)s | 5735 EXPECT_EQ(error::%(parse_result)s, ExecuteCmd(cmd));%(gl_error_test)s |
5725 } | 5736 } |
5726 """ | 5737 """ |
5727 self.WriteInvalidUnitTest(func, file, invalid_test, { | 5738 self.WriteInvalidUnitTest(func, file, invalid_test, { |
5728 'comma': comma, | 5739 'comma': comma, |
5729 }) | 5740 }, *extras) |
5730 | 5741 |
5731 invalid_test = """ | 5742 invalid_test = """ |
5732 TEST_P(%(test_name)s, %(name)sInvalidArgsBadSharedMemoryId) { | 5743 TEST_P(%(test_name)s, %(name)sInvalidArgsBadSharedMemoryId) { |
5733 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); | 5744 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)).Times(0); |
5734 SpecializedSetup<cmds::%(name)s, 0>(false); | 5745 SpecializedSetup<cmds::%(name)s, 0>(false); |
5735 cmds::%(name)s cmd; | 5746 cmds::%(name)s cmd; |
5736 cmd.Init(%(args)s%(comma)skInvalidSharedMemoryId, shared_memory_offset_); | 5747 cmd.Init(%(args)s%(comma)skInvalidSharedMemoryId, shared_memory_offset_); |
5737 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 5748 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
5738 cmd.Init(%(args)s%(comma)sshared_memory_id_, kInvalidSharedMemoryOffset); | 5749 cmd.Init(%(args)s%(comma)sshared_memory_id_, kInvalidSharedMemoryOffset); |
5739 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 5750 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
5740 } | 5751 } |
5741 """ | 5752 """ |
5742 self.WriteValidUnitTest(func, file, invalid_test, { | 5753 self.WriteValidUnitTest(func, file, invalid_test, { |
5743 'comma': comma, | 5754 'comma': comma, |
5744 }) | 5755 }, *extras) |
5745 | 5756 |
5746 def WriteServiceImplementation(self, func, file): | 5757 def WriteServiceImplementation(self, func, file): |
5747 """Overrriden from TypeHandler.""" | 5758 """Overrriden from TypeHandler.""" |
5748 file.Write( | 5759 file.Write( |
5749 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) | 5760 "error::Error GLES2DecoderImpl::Handle%s(\n" % func.name) |
5750 file.Write( | 5761 file.Write( |
5751 " uint32_t immediate_data_size, const gles2::cmds::%s& c) {\n" % | 5762 " uint32_t immediate_data_size, const gles2::cmds::%s& c) {\n" % |
5752 func.name) | 5763 func.name) |
5753 args = func.GetOriginalArgs() | 5764 args = func.GetOriginalArgs() |
5754 for arg in args: | 5765 for arg in args: |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5888 'dest_name': args[3].name, | 5899 'dest_name': args[3].name, |
5889 'arg0': args[0].name, | 5900 'arg0': args[0].name, |
5890 'arg1': args[1].name, | 5901 'arg1': args[1].name, |
5891 'arg2': args[2].name, | 5902 'arg2': args[2].name, |
5892 'arg3': args[3].name, | 5903 'arg3': args[3].name, |
5893 } | 5904 } |
5894 file.Write(code_1 % str_args) | 5905 file.Write(code_1 % str_args) |
5895 func.WriteDestinationInitalizationValidation(file) | 5906 func.WriteDestinationInitalizationValidation(file) |
5896 file.Write(code_2 % str_args) | 5907 file.Write(code_2 % str_args) |
5897 | 5908 |
5898 def WriteServiceUnitTest(self, func, file): | 5909 def WriteServiceUnitTest(self, func, file, *extras): |
5899 """Overrriden from TypeHandler.""" | 5910 """Overrriden from TypeHandler.""" |
5900 valid_test = """ | 5911 valid_test = """ |
5901 TEST_P(%(test_name)s, %(name)sValidArgs) { | 5912 TEST_P(%(test_name)s, %(name)sValidArgs) { |
5902 const char* kInfo = "hello"; | 5913 const char* kInfo = "hello"; |
5903 const uint32_t kBucketId = 123; | 5914 const uint32_t kBucketId = 123; |
5904 SpecializedSetup<cmds::%(name)s, 0>(true); | 5915 SpecializedSetup<cmds::%(name)s, 0>(true); |
5905 %(expect_len_code)s | 5916 %(expect_len_code)s |
5906 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)) | 5917 EXPECT_CALL(*gl_, %(gl_func_name)s(%(gl_args)s)) |
5907 .WillOnce(DoAll(SetArgumentPointee<2>(strlen(kInfo)), | 5918 .WillOnce(DoAll(SetArgumentPointee<2>(strlen(kInfo)), |
5908 SetArrayArgument<3>(kInfo, kInfo + strlen(kInfo) + 1))); | 5919 SetArrayArgument<3>(kInfo, kInfo + strlen(kInfo) + 1))); |
(...skipping 19 matching lines...) Expand all Loading... | |
5928 'gl_args': '%s, strlen(kInfo) + 1, _, _' % | 5939 'gl_args': '%s, strlen(kInfo) + 1, _, _' % |
5929 args[0].GetValidGLArg(func), | 5940 args[0].GetValidGLArg(func), |
5930 'args': '%s, kBucketId' % args[0].GetValidArg(func), | 5941 'args': '%s, kBucketId' % args[0].GetValidArg(func), |
5931 'expect_len_code': '', | 5942 'expect_len_code': '', |
5932 } | 5943 } |
5933 if get_len_func and get_len_func[0:2] == 'gl': | 5944 if get_len_func and get_len_func[0:2] == 'gl': |
5934 sub['expect_len_code'] = ( | 5945 sub['expect_len_code'] = ( |
5935 " EXPECT_CALL(*gl_, %s(%s, %s, _))\n" | 5946 " EXPECT_CALL(*gl_, %s(%s, %s, _))\n" |
5936 " .WillOnce(SetArgumentPointee<2>(strlen(kInfo) + 1));") % ( | 5947 " .WillOnce(SetArgumentPointee<2>(strlen(kInfo) + 1));") % ( |
5937 get_len_func[2:], id_name, get_len_enum) | 5948 get_len_func[2:], id_name, get_len_enum) |
5938 self.WriteValidUnitTest(func, file, valid_test, sub) | 5949 self.WriteValidUnitTest(func, file, valid_test, sub, *extras) |
5939 | 5950 |
5940 invalid_test = """ | 5951 invalid_test = """ |
5941 TEST_P(%(test_name)s, %(name)sInvalidArgs) { | 5952 TEST_P(%(test_name)s, %(name)sInvalidArgs) { |
5942 const uint32_t kBucketId = 123; | 5953 const uint32_t kBucketId = 123; |
5943 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _, _, _)) | 5954 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _, _, _)) |
5944 .Times(0); | 5955 .Times(0); |
5945 cmds::%(name)s cmd; | 5956 cmds::%(name)s cmd; |
5946 cmd.Init(kInvalidClientId, kBucketId); | 5957 cmd.Init(kInvalidClientId, kBucketId); |
5947 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 5958 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
5948 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 5959 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
5949 } | 5960 } |
5950 """ | 5961 """ |
5951 self.WriteValidUnitTest(func, file, invalid_test) | 5962 self.WriteValidUnitTest(func, file, invalid_test, *extras) |
5952 | 5963 |
5953 def WriteServiceImplementation(self, func, file): | 5964 def WriteServiceImplementation(self, func, file): |
5954 """Overrriden from TypeHandler.""" | 5965 """Overrriden from TypeHandler.""" |
5955 pass | 5966 pass |
5956 | 5967 |
5957 class NamedType(object): | 5968 class NamedType(object): |
5958 """A class that represents a type of an argument in a client function. | 5969 """A class that represents a type of an argument in a client function. |
5959 | 5970 |
5960 A type of an argument that is to be passed through in the command buffer | 5971 A type of an argument that is to be passed through in the command buffer |
5961 command. Currently used only for the arguments that are specificly named in | 5972 command. Currently used only for the arguments that are specificly named in |
(...skipping 1031 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6993 self.type_handler.WriteDocs(self, file) | 7004 self.type_handler.WriteDocs(self, file) |
6994 | 7005 |
6995 def WriteCmdHelper(self, file): | 7006 def WriteCmdHelper(self, file): |
6996 """Writes the cmd's helper.""" | 7007 """Writes the cmd's helper.""" |
6997 self.type_handler.WriteCmdHelper(self, file) | 7008 self.type_handler.WriteCmdHelper(self, file) |
6998 | 7009 |
6999 def WriteServiceImplementation(self, file): | 7010 def WriteServiceImplementation(self, file): |
7000 """Writes the service implementation for a command.""" | 7011 """Writes the service implementation for a command.""" |
7001 self.type_handler.WriteServiceImplementation(self, file) | 7012 self.type_handler.WriteServiceImplementation(self, file) |
7002 | 7013 |
7003 def WriteServiceUnitTest(self, file): | 7014 def WriteServiceUnitTest(self, file, *extras): |
7004 """Writes the service implementation for a command.""" | 7015 """Writes the service implementation for a command.""" |
7005 self.type_handler.WriteServiceUnitTest(self, file) | 7016 self.type_handler.WriteServiceUnitTest(self, file, *extras) |
7006 | 7017 |
7007 def WriteGLES2CLibImplementation(self, file): | 7018 def WriteGLES2CLibImplementation(self, file): |
7008 """Writes the GLES2 C Lib Implemention.""" | 7019 """Writes the GLES2 C Lib Implemention.""" |
7009 self.type_handler.WriteGLES2CLibImplementation(self, file) | 7020 self.type_handler.WriteGLES2CLibImplementation(self, file) |
7010 | 7021 |
7011 def WriteGLES2InterfaceHeader(self, file): | 7022 def WriteGLES2InterfaceHeader(self, file): |
7012 """Writes the GLES2 Interface declaration.""" | 7023 """Writes the GLES2 Interface declaration.""" |
7013 self.type_handler.WriteGLES2InterfaceHeader(self, file) | 7024 self.type_handler.WriteGLES2InterfaceHeader(self, file) |
7014 | 7025 |
7015 def WriteGLES2InterfaceStub(self, file): | 7026 def WriteGLES2InterfaceStub(self, file): |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
7124 self.original_name) | 7135 self.original_name) |
7125 | 7136 |
7126 def WriteServiceImplementation(self, file): | 7137 def WriteServiceImplementation(self, file): |
7127 """Overridden from Function""" | 7138 """Overridden from Function""" |
7128 self.type_handler.WriteImmediateServiceImplementation(self, file) | 7139 self.type_handler.WriteImmediateServiceImplementation(self, file) |
7129 | 7140 |
7130 def WriteHandlerImplementation(self, file): | 7141 def WriteHandlerImplementation(self, file): |
7131 """Overridden from Function""" | 7142 """Overridden from Function""" |
7132 self.type_handler.WriteImmediateHandlerImplementation(self, file) | 7143 self.type_handler.WriteImmediateHandlerImplementation(self, file) |
7133 | 7144 |
7134 def WriteServiceUnitTest(self, file): | 7145 def WriteServiceUnitTest(self, file, *extras): |
7135 """Writes the service implementation for a command.""" | 7146 """Writes the service implementation for a command.""" |
7136 self.type_handler.WriteImmediateServiceUnitTest(self, file) | 7147 self.type_handler.WriteImmediateServiceUnitTest(self, file, *extras) |
7137 | 7148 |
7138 def WriteValidationCode(self, file): | 7149 def WriteValidationCode(self, file): |
7139 """Overridden from Function""" | 7150 """Overridden from Function""" |
7140 self.type_handler.WriteImmediateValidationCode(self, file) | 7151 self.type_handler.WriteImmediateValidationCode(self, file) |
7141 | 7152 |
7142 def WriteCmdArgFlag(self, file): | 7153 def WriteCmdArgFlag(self, file): |
7143 """Overridden from Function""" | 7154 """Overridden from Function""" |
7144 file.Write(" static const cmd::ArgFlags kArgFlags = cmd::kAtLeastN;\n") | 7155 file.Write(" static const cmd::ArgFlags kArgFlags = cmd::kAtLeastN;\n") |
7145 | 7156 |
7146 def WriteCmdComputeSize(self, file): | 7157 def WriteCmdComputeSize(self, file): |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
7204 self.original_name) | 7215 self.original_name) |
7205 | 7216 |
7206 def WriteServiceImplementation(self, file): | 7217 def WriteServiceImplementation(self, file): |
7207 """Overridden from Function""" | 7218 """Overridden from Function""" |
7208 self.type_handler.WriteBucketServiceImplementation(self, file) | 7219 self.type_handler.WriteBucketServiceImplementation(self, file) |
7209 | 7220 |
7210 def WriteHandlerImplementation(self, file): | 7221 def WriteHandlerImplementation(self, file): |
7211 """Overridden from Function""" | 7222 """Overridden from Function""" |
7212 self.type_handler.WriteBucketHandlerImplementation(self, file) | 7223 self.type_handler.WriteBucketHandlerImplementation(self, file) |
7213 | 7224 |
7214 def WriteServiceUnitTest(self, file): | 7225 def WriteServiceUnitTest(self, file, *extras): |
7215 """Writes the service implementation for a command.""" | 7226 """Writes the service implementation for a command.""" |
7216 self.type_handler.WriteBucketServiceUnitTest(self, file) | 7227 self.type_handler.WriteBucketServiceUnitTest(self, file, *extras) |
7217 | 7228 |
7218 | 7229 |
7219 def CreateArg(arg_string): | 7230 def CreateArg(arg_string): |
7220 """Creates an Argument.""" | 7231 """Creates an Argument.""" |
7221 arg_parts = arg_string.split() | 7232 arg_parts = arg_string.split() |
7222 if len(arg_parts) == 1 and arg_parts[0] == 'void': | 7233 if len(arg_parts) == 1 and arg_parts[0] == 'void': |
7223 return None | 7234 return None |
7224 # Is this a pointer argument? | 7235 # Is this a pointer argument? |
7225 elif arg_string.find('*') >= 0: | 7236 elif arg_string.find('*') >= 0: |
7226 return PointerArgument( | 7237 return PointerArgument( |
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
7626 | 7637 |
7627 if 'extension_flag' in item: | 7638 if 'extension_flag' in item: |
7628 file.Write(" if (feature_info_->feature_flags().%s)\n " % | 7639 file.Write(" if (feature_info_->feature_flags().%s)\n " % |
7629 item['extension_flag']) | 7640 item['extension_flag']) |
7630 if test_prev: | 7641 if test_prev: |
7631 file.Write(" if (prev_state->%s != %s)\n" % | 7642 file.Write(" if (prev_state->%s != %s)\n" % |
7632 (item_name, item_name)) | 7643 (item_name, item_name)) |
7633 file.Write(" gl%s(%s, %s);\n" % | 7644 file.Write(" gl%s(%s, %s);\n" % |
7634 (state['func'], item['enum'], item_name)) | 7645 (state['func'], item['enum'], item_name)) |
7635 else: | 7646 else: |
7647 if 'extension_flag' in state: | |
7648 file.Write(" if (feature_info_->feature_flags().%s)\n " % | |
7649 state['extension_flag']) | |
7636 if test_prev: | 7650 if test_prev: |
7637 file.Write(" if (") | 7651 file.Write(" if (") |
7638 args = [] | 7652 args = [] |
7639 for place, item in enumerate(state['states']): | 7653 for place, item in enumerate(state['states']): |
7640 item_name = CachedStateName(item) | 7654 item_name = CachedStateName(item) |
7641 args.append('%s' % item_name) | 7655 args.append('%s' % item_name) |
7642 if test_prev: | 7656 if test_prev: |
7643 if place > 0: | 7657 if place > 0: |
7644 file.Write(' ||\n') | 7658 file.Write(' ||\n') |
7645 file.Write("(%s != prev_state->%s)" % | 7659 file.Write("(%s != prev_state->%s)" % |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
7771 """Writes the service decorder unit tests.""" | 7785 """Writes the service decorder unit tests.""" |
7772 num_tests = len(self.functions) | 7786 num_tests = len(self.functions) |
7773 FUNCTIONS_PER_FILE = 98 # hard code this so it doesn't change. | 7787 FUNCTIONS_PER_FILE = 98 # hard code this so it doesn't change. |
7774 count = 0 | 7788 count = 0 |
7775 for test_num in range(0, num_tests, FUNCTIONS_PER_FILE): | 7789 for test_num in range(0, num_tests, FUNCTIONS_PER_FILE): |
7776 count += 1 | 7790 count += 1 |
7777 name = filename % count | 7791 name = filename % count |
7778 file = CHeaderWriter( | 7792 file = CHeaderWriter( |
7779 name, | 7793 name, |
7780 "// It is included by gles2_cmd_decoder_unittest_%d.cc\n" % count) | 7794 "// It is included by gles2_cmd_decoder_unittest_%d.cc\n" % count) |
7781 file.SetFileNum(count) | 7795 test_name = 'GLES2DecoderTest%d' % count |
7782 end = test_num + FUNCTIONS_PER_FILE | 7796 end = test_num + FUNCTIONS_PER_FILE |
7783 if end > num_tests: | 7797 if end > num_tests: |
7784 end = num_tests | 7798 end = num_tests |
7785 for idx in range(test_num, end): | 7799 for idx in range(test_num, end): |
7786 func = self.functions[idx] | 7800 func = self.functions[idx] |
7801 | |
7802 # Do any filtering of the functions here, so that the functions | |
7803 # will not move between the numbered files if filtering properties | |
7804 # are changed. | |
7805 if func.GetInfo('extension_flag'): | |
7806 continue | |
7807 | |
7787 if True: | 7808 if True: |
7788 #gen_cmd = func.GetInfo('gen_cmd') | 7809 #gen_cmd = func.GetInfo('gen_cmd') |
7789 #if gen_cmd == True or gen_cmd == None: | 7810 #if gen_cmd == True or gen_cmd == None: |
7790 if func.GetInfo('unit_test') == False: | 7811 if func.GetInfo('unit_test') == False: |
7791 file.Write("// TODO(gman): %s\n" % func.name) | 7812 file.Write("// TODO(gman): %s\n" % func.name) |
7792 else: | 7813 else: |
7793 func.WriteServiceUnitTest(file) | 7814 func.WriteServiceUnitTest(file, { |
7815 'test_name': test_name | |
7816 }) | |
7794 | 7817 |
7795 file.Close() | 7818 file.Close() |
7796 file = CHeaderWriter( | 7819 file = CHeaderWriter( |
7797 filename % 0, | 7820 filename % 0, |
7798 "// It is included by gles2_cmd_decoder_unittest_base.cc\n") | 7821 "// It is included by gles2_cmd_decoder_unittest_base.cc\n") |
7799 file.Write( | 7822 file.Write( |
7800 """void GLES2DecoderTestBase::SetupInitCapabilitiesExpectations() { | 7823 """void GLES2DecoderTestBase::SetupInitCapabilitiesExpectations() { |
7801 """) | 7824 """) |
7802 for capability in _CAPABILITY_FLAGS: | 7825 for capability in _CAPABILITY_FLAGS: |
7803 file.Write(" ExpectEnableDisable(GL_%s, %s);\n" % | 7826 file.Write(" ExpectEnableDisable(GL_%s, %s);\n" % |
(...skipping 17 matching lines...) Expand all Loading... | |
7821 else: | 7844 else: |
7822 args.append(item['default']) | 7845 args.append(item['default']) |
7823 file.Write( | 7846 file.Write( |
7824 " EXPECT_CALL(*gl_, %s(%s, %s))\n" % | 7847 " EXPECT_CALL(*gl_, %s(%s, %s))\n" % |
7825 (state['func'], ('GL_FRONT', 'GL_BACK')[ndx], ", ".join(args))) | 7848 (state['func'], ('GL_FRONT', 'GL_BACK')[ndx], ", ".join(args))) |
7826 file.Write(" .Times(1)\n") | 7849 file.Write(" .Times(1)\n") |
7827 file.Write(" .RetiresOnSaturation();\n") | 7850 file.Write(" .RetiresOnSaturation();\n") |
7828 elif state['type'] == 'NamedParameter': | 7851 elif state['type'] == 'NamedParameter': |
7829 for item in state['states']: | 7852 for item in state['states']: |
7830 if 'extension_flag' in item: | 7853 if 'extension_flag' in item: |
7831 continue | 7854 file.Write(" if (group_->feature_info()->feature_flags().%s)\n" % |
7855 item['extension_flag']) | |
7856 file.Write(" ") | |
7857 | |
7832 file.Write( | 7858 file.Write( |
7833 " EXPECT_CALL(*gl_, %s(%s, %s))\n" % | 7859 " EXPECT_CALL(*gl_, %s(%s, %s))\n" % |
7834 (state['func'], item['enum'], item['default'])) | 7860 (state['func'], item['enum'], item['default'])) |
7835 file.Write(" .Times(1)\n") | 7861 file.Write(" .Times(1)\n") |
7836 file.Write(" .RetiresOnSaturation();\n") | 7862 file.Write(" .RetiresOnSaturation();\n") |
7837 else: | 7863 else: |
7864 if 'extension_flag' in state: | |
7865 file.Write(" if (group_->feature_info()->feature_flags().%s)\n" % | |
7866 state['extension_flag']) | |
7867 file.Write(" ") | |
7838 args = [] | 7868 args = [] |
7839 for item in state['states']: | 7869 for item in state['states']: |
7840 if 'expected' in item: | 7870 if 'expected' in item: |
7841 args.append(item['expected']) | 7871 args.append(item['expected']) |
7842 else: | 7872 else: |
7843 args.append(item['default']) | 7873 args.append(item['default']) |
7844 file.Write(" EXPECT_CALL(*gl_, %s(%s))\n" % | 7874 file.Write(" EXPECT_CALL(*gl_, %s(%s))\n" % |
7845 (state['func'], ", ".join(args))) | 7875 (state['func'], ", ".join(args))) |
7846 file.Write(" .Times(1)\n") | 7876 file.Write(" .Times(1)\n") |
7847 file.Write(" .RetiresOnSaturation();\n") | 7877 file.Write(" .RetiresOnSaturation();\n") |
7848 file.Write("""} | 7878 file.Write("""} |
7849 """) | 7879 """) |
7850 file.Close() | 7880 file.Close() |
7851 | 7881 |
7882 def WriteServiceUnitTestsForExtensions(self, filename): | |
7883 """Writes the service decorder unit tests for functions with extension_flag. | |
7884 | |
7885 The functions are special in that they need a specific unit test | |
7886 baseclass to turn on the extension. | |
7887 """ | |
7888 functions = [f for f in self.functions if f.GetInfo('extension_flag')] | |
7889 file = CHeaderWriter( | |
7890 filename, | |
7891 "// It is included by gles2_cmd_decoder_unittest_extensions.cc\n") | |
7892 for func in functions: | |
7893 if True: | |
7894 if func.GetInfo('unit_test') == False: | |
7895 file.Write("// TODO(gman): %s\n" % func.name) | |
7896 else: | |
7897 extension = ToCamelCase( | |
7898 ToGLExtensionString(func.GetInfo('extension_flag'))) | |
7899 func.WriteServiceUnitTest(file, { | |
7900 'test_name': 'GLES2DecoderTestWith%s' % extension | |
7901 }) | |
7902 | |
7903 file.Close() | |
7904 | |
7852 def WriteGLES2Header(self, filename): | 7905 def WriteGLES2Header(self, filename): |
7853 """Writes the GLES2 header.""" | 7906 """Writes the GLES2 header.""" |
7854 file = CHeaderWriter( | 7907 file = CHeaderWriter( |
7855 filename, | 7908 filename, |
7856 "// This file contains Chromium-specific GLES2 declarations.\n\n") | 7909 "// This file contains Chromium-specific GLES2 declarations.\n\n") |
7857 | 7910 |
7858 for func in self.original_functions: | 7911 for func in self.original_functions: |
7859 func.WriteGLES2Header(file) | 7912 func.WriteGLES2Header(file) |
7860 | 7913 |
7861 file.Write("\n") | 7914 file.Write("\n") |
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8342 "client/gles2_trace_implementation_impl_autogen.h") | 8395 "client/gles2_trace_implementation_impl_autogen.h") |
8343 gen.WriteGLES2CLibImplementation("client/gles2_c_lib_autogen.h") | 8396 gen.WriteGLES2CLibImplementation("client/gles2_c_lib_autogen.h") |
8344 gen.WriteCmdHelperHeader("client/gles2_cmd_helper_autogen.h") | 8397 gen.WriteCmdHelperHeader("client/gles2_cmd_helper_autogen.h") |
8345 gen.WriteServiceImplementation("service/gles2_cmd_decoder_autogen.h") | 8398 gen.WriteServiceImplementation("service/gles2_cmd_decoder_autogen.h") |
8346 gen.WriteServiceContextStateHeader("service/context_state_autogen.h") | 8399 gen.WriteServiceContextStateHeader("service/context_state_autogen.h") |
8347 gen.WriteServiceContextStateImpl("service/context_state_impl_autogen.h") | 8400 gen.WriteServiceContextStateImpl("service/context_state_impl_autogen.h") |
8348 gen.WriteClientContextStateHeader("client/client_context_state_autogen.h") | 8401 gen.WriteClientContextStateHeader("client/client_context_state_autogen.h") |
8349 gen.WriteClientContextStateImpl( | 8402 gen.WriteClientContextStateImpl( |
8350 "client/client_context_state_impl_autogen.h") | 8403 "client/client_context_state_impl_autogen.h") |
8351 gen.WriteServiceUnitTests("service/gles2_cmd_decoder_unittest_%d_autogen.h") | 8404 gen.WriteServiceUnitTests("service/gles2_cmd_decoder_unittest_%d_autogen.h") |
8405 gen.WriteServiceUnitTestsForExtensions( | |
8406 "service/gles2_cmd_decoder_unittest_extensions_autogen.h") | |
8352 gen.WriteServiceUtilsHeader("service/gles2_cmd_validation_autogen.h") | 8407 gen.WriteServiceUtilsHeader("service/gles2_cmd_validation_autogen.h") |
8353 gen.WriteServiceUtilsImplementation( | 8408 gen.WriteServiceUtilsImplementation( |
8354 "service/gles2_cmd_validation_implementation_autogen.h") | 8409 "service/gles2_cmd_validation_implementation_autogen.h") |
8355 gen.WriteCommonUtilsHeader("common/gles2_cmd_utils_autogen.h") | 8410 gen.WriteCommonUtilsHeader("common/gles2_cmd_utils_autogen.h") |
8356 gen.WriteCommonUtilsImpl("common/gles2_cmd_utils_implementation_autogen.h") | 8411 gen.WriteCommonUtilsImpl("common/gles2_cmd_utils_implementation_autogen.h") |
8357 gen.WriteGLES2Header("../GLES2/gl2chromium_autogen.h") | 8412 gen.WriteGLES2Header("../GLES2/gl2chromium_autogen.h") |
8358 mojo_gles2_prefix = "../../mojo/public/c/gles2/gles2_call_visitor" | 8413 mojo_gles2_prefix = "../../mojo/public/c/gles2/gles2_call_visitor" |
8359 gen.WriteMojoGLCallVisitor(mojo_gles2_prefix + "_autogen.h") | 8414 gen.WriteMojoGLCallVisitor(mojo_gles2_prefix + "_autogen.h") |
8360 gen.WriteMojoGLCallVisitorForExtension( | 8415 gen.WriteMojoGLCallVisitorForExtension( |
8361 mojo_gles2_prefix + "_chromium_texture_mailbox_autogen.h", | 8416 mojo_gles2_prefix + "_chromium_texture_mailbox_autogen.h", |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8404 "ppapi/shared_impl/ppb_opengles2_shared.cc"]) | 8459 "ppapi/shared_impl/ppb_opengles2_shared.cc"]) |
8405 | 8460 |
8406 if gen.errors > 0: | 8461 if gen.errors > 0: |
8407 print "%d errors" % gen.errors | 8462 print "%d errors" % gen.errors |
8408 return 1 | 8463 return 1 |
8409 return 0 | 8464 return 0 |
8410 | 8465 |
8411 | 8466 |
8412 if __name__ == '__main__': | 8467 if __name__ == '__main__': |
8413 sys.exit(main(sys.argv[1:])) | 8468 sys.exit(main(sys.argv[1:])) |
OLD | NEW |