| Index: gpu/command_buffer/build_gles2_cmd_buffer.py
|
| diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py
|
| index 04f21a9b15a87b899620c2dfb9eaaec055ecf1da..b2128fcd7b928a6ed3c98521b5de9aeef070eb05 100755
|
| --- a/gpu/command_buffer/build_gles2_cmd_buffer.py
|
| +++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
|
| @@ -3581,8 +3581,8 @@ TEST_F(%(test_name)s, %(name)sValidArgsCountTooLarge) {
|
| # hardcoded to match unit tests.
|
| if count == 0:
|
| # the location of the second element of the first uniform.
|
| - gl_arg_strings.append("3")
|
| - arg_strings.append("3")
|
| + gl_arg_strings.append(arg.GetValidGLArg(func, 2, 2))
|
| + arg_strings.append(arg.GetValidArg(func, 2, 2))
|
| elif count == 1:
|
| # the number of elements that gl will be called with.
|
| gl_arg_strings.append("2")
|
| @@ -3609,7 +3609,7 @@ TEST_F(%(test_name)s, %(name)sValidArgs) {
|
| reinterpret_cast<%(data_type)s*>(ImmediateDataAddress(&cmd))));
|
| SpecializedSetup<%(name)s, 0>(true);
|
| %(data_type)s temp[%(data_count)s * 2] = { 0, };
|
| - cmd.Init(%(gl_args)s, &temp[0]);
|
| + cmd.Init(%(args)s, &temp[0]);
|
| EXPECT_EQ(error::kNoError,
|
| ExecuteImmediateCmd(cmd, sizeof(temp)));
|
| EXPECT_EQ(GL_NO_ERROR, GetGLError());
|
| @@ -3617,14 +3617,17 @@ TEST_F(%(test_name)s, %(name)sValidArgs) {
|
| """
|
| gl_arg_strings = []
|
| gl_any_strings = []
|
| + arg_strings = []
|
| count = 0
|
| for arg in func.GetOriginalArgs()[0:-1]:
|
| gl_arg_strings.append(arg.GetValidGLArg(func, count, 0))
|
| gl_any_strings.append("_")
|
| + arg_strings.append(arg.GetValidArg(func, count, 0))
|
| count += 1
|
| extra = {
|
| 'data_type': func.GetInfo('data_type'),
|
| 'data_count': func.GetInfo('count'),
|
| + 'args': ", ".join(arg_strings),
|
| 'gl_args': ", ".join(gl_arg_strings),
|
| 'gl_any_args': ", ".join(gl_any_strings),
|
| }
|
| @@ -3866,7 +3869,7 @@ TEST_F(%(test_name)s, %(name)sValidArgs) {
|
| }
|
| """
|
| args = func.GetOriginalArgs()
|
| - local_args = "%s, 1, _" % args[0].GetValidArg(func, 0, 0)
|
| + local_args = "%s, 1, _" % args[0].GetValidGLArg(func, 0, 0)
|
| self.WriteValidUnitTest(func, file, valid_test, {
|
| 'count': func.GetInfo('count'),
|
| 'local_args': local_args,
|
| @@ -4423,6 +4426,24 @@ class BoolArgument(Argument):
|
| return 'true'
|
|
|
|
|
| +class UniformLocationArgument(Argument):
|
| + """class for uniform locations."""
|
| +
|
| + def __init__(self, name):
|
| + Argument.__init__(self, name, "GLint")
|
| +
|
| + def WriteGetCode(self, file):
|
| + """Writes the code to get an argument from a command structure."""
|
| + code = """ %s %s = program_manager()->UnswizzleLocation(
|
| + static_cast<%s>(c.%s));
|
| +"""
|
| + file.Write(code % (self.type, self.name, self.type, self.name))
|
| +
|
| + def GetValidArg(self, func, offset, index):
|
| + """Gets a valid value for this argument."""
|
| + return "program_manager()->SwizzleLocation(%d)" % (offset + 1)
|
| +
|
| +
|
| class DataSizeArgument(Argument):
|
| """class for data_size which Bucket commands do not need."""
|
|
|
| @@ -5257,6 +5278,8 @@ def CreateArg(arg_string):
|
| return ValidatedBoolArgument(arg_parts[-1], " ".join(arg_parts[0:-1]))
|
| elif arg_parts[0].startswith('GLboolean'):
|
| return BoolArgument(arg_parts[-1], " ".join(arg_parts[0:-1]))
|
| + elif arg_parts[0].startswith('GLintUniformLocation'):
|
| + return UniformLocationArgument(arg_parts[-1])
|
| elif (arg_parts[0].startswith('GLint') and len(arg_parts[0]) > 5 and
|
| not arg_parts[0].startswith('GLintptr')):
|
| return IntArgument(arg_parts[-1], " ".join(arg_parts[0:-1]))
|
|
|