Lines Matching refs:Write

2511   def Write(self, string):
2616 self.Write(_LICENSE)
2617 self.Write(_DO_NOT_EDIT_WARNING)
2619 self.Write(file_comment)
2620 self.Write("#ifndef %s\n" % self.guard)
2621 self.Write("#define %s\n\n" % self.guard)
2624 self.Write("#endif // %s\n\n" % self.guard)
2659 file.Write(comment)
2660 file.Write("struct %s {\n" % func.name)
2661 file.Write(" typedef %s ValueType;\n" % func.name)
2662 file.Write(" static const CommandId kCmdId = k%s;\n" % func.name)
2664 file.Write("\n")
2668 file.Write(" typedef %s Result;\n\n" % result[0])
2670 file.Write(" struct Result {\n")
2672 file.Write(" %s;\n" % line)
2673 file.Write(" };\n\n")
2680 file.Write(" gpu::CommandHeader header;\n")
2683 file.Write(" %s %s;\n" % (arg.cmd_type, arg.name))
2684 file.Write("};\n")
2685 file.Write("\n")
2688 file.Write("COMPILE_ASSERT(sizeof(%s) == %d,\n" % (func.name, size))
2689 file.Write(" Sizeof_%s_is_not_%d);\n" % (func.name, size))
2690 file.Write("COMPILE_ASSERT(offsetof(%s, header) == 0,\n" % func.name)
2691 file.Write(" OffsetOf_%s_header_not_0);\n" % func.name)
2694 file.Write("COMPILE_ASSERT(offsetof(%s, %s) == %d,\n" %
2696 file.Write(" OffsetOf_%s_%s_not_%d);\n" %
2708 file.Write((check.strip() + "\n") % {
2714 file.Write("\n")
2718 file.Write(" %s(%s);\n" %
2723 file.Write(" EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u);\n")
2727 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name)
2728 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" %
2730 file.Write(" void* next_cmd = cmd.Set(\n")
2731 file.Write(" &cmd")
2734 file.Write(",\n static_cast<%s>(%d)" % (arg.type, value + 11))
2735 file.Write(");\n")
2736 file.Write(" EXPECT_EQ(static_cast<uint32>(cmds::%s::kCmdId),\n" %
2738 file.Write(" cmd.header.command);\n")
2741 file.Write(" EXPECT_EQ(static_cast<%s>(%d), cmd.%s);\n" %
2743 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n")
2744 file.Write(" next_cmd, sizeof(cmd));\n")
2745 file.Write("}\n")
2746 file.Write("\n")
2762 file.Write(" // TODO(gman): Compute correct size.\n")
2763 file.Write(" EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u);\n")
2767 file.Write(" %s(%s);\n" %
2772 file.Write(" %s(%s);\n" %
2777 file.Write(
2779 file.Write(
2792 file.Write(" return error::kNoError;\n")
2793 file.Write("}\n")
2794 file.Write("\n")
2798 file.Write(
2800 file.Write(
2812 file.Write(" return error::kNoError;\n")
2813 file.Write("}\n")
2814 file.Write("\n")
2818 file.Write(
2820 file.Write(
2832 file.Write(" return error::kNoError;\n")
2833 file.Write("}\n")
2834 file.Write("\n")
2847 file.Write(" if (%s)\n" % ' || '.join(conditions))
2848 file.Write(" return error::kDeferCommandUntilLater;\n")
2874 file.Write(test % vars)
2912 file.Write(test % vars)
2941 file.Write("// TODO(gman): %s\n" % func.name)
2949 file.Write("// TODO(gman): %s\n" % func.name)
2953 file.Write("// TODO(gman): %s\n" % func.name)
2959 file.Write("virtual %s %s(%s) OVERRIDE;\n" %
2962 file.Write("\n")
2965 file.Write("%s GLES2%s(%s) {\n" %
2971 file.Write(" %sgles2::GetGLContext()->%s(%s);\n" %
2974 file.Write("}\n")
2978 file.Write("#define gl%s GLES2_GET_FUN(%s)\n" %(func.name, func.name))
2985 file.Write(
2992 file.Write(' GPU_CLIENT_LOG("return:" << result)\n')
3000 file.Write("virtual %s %s(%s) OVERRIDE;\n" %
3006 file.Write("%s GLES2TraceImplementation::%s(%s) {\n" %
3012 file.Write(' TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::%s");\n' %
3014 file.Write(" %sgl_->%s(%s);\n" %
3016 file.Write("}\n")
3017 file.Write("\n")
3028 file.Write("%s GLES2Implementation::%s(%s) {\n" %
3031 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
3036 file.Write(" helper_->%s(%s);\n" %
3038 file.Write(" CheckGLError();\n")
3040 file.Write("}\n")
3041 file.Write("\n")
3045 file.Write("virtual %s %s(%s) = 0;\n" %
3051 file.Write("virtual %s %s(%s) OVERRIDE;\n" %
3060 file.Write("%s GLES2InterfaceStub::%s(%s) {\n" %
3063 file.Write(" return 0;\n")
3064 file.Write("}\n")
3090 file.Write(code % {
3097 file.Write("// TODO: Implement unit test for %s\n" % func.name)
3105 file.Write(' TRACE_EVENT0("gpu", "GLES2Implementation::%s");\n' %
3110 file.Write(" static uint32 ComputeSize(uint32 size_in_bytes) {\n")
3111 file.Write(" return static_cast<uint32>(\n")
3112 file.Write(" sizeof(ValueType) + // NOLINT\n")
3113 file.Write(" RoundSizeToMultipleOfEntries(size_in_bytes));\n")
3114 file.Write(" }\n")
3115 file.Write("\n")
3119 file.Write(" void SetHeader(uint32 size_in_bytes) {\n")
3120 file.Write(" header.SetCmdByTotalSize<ValueType>(size_in_bytes);\n")
3121 file.Write(" }\n")
3122 file.Write("\n")
3142 file.Write(code % {
3160 file.Write(code % {
3185 file.Write(" if (%s) {\n" % " ||\n ".join(code))
3186 file.Write(
3190 file.Write(" return error::kNoError;\n")
3191 file.Write(" }\n")
3195 file.Write(" if (%s) {\n" % " ||\n ".join(code))
3197 file.Write(" state_.%s = %s;\n" % (item['name'], args[ndx].name))
3199 file.Write(" %s = true;\n" % state['state_flag'])
3201 file.Write(" %s(%s);\n" %
3203 file.Write(" }\n")
3235 file.Write(valid_test % vars)
3254 file.Write(" if (%s) {\n" % " ||\n ".join(code))
3256 file.Write(" state_.%s = %s;\n" %
3259 file.Write(" %s = true;\n" % state['state_flag'])
3261 file.Write(" %s(%s);\n" %
3263 file.Write(" }\n")
3280 file.Write(" bool changed = false;\n")
3282 file.Write(" if (%s == %s || %s == GL_FRONT_AND_BACK) {\n" %
3287 file.Write(" changed |= %s;\n" % " ||\n ".join(code))
3288 file.Write(" }\n")
3289 file.Write(" if (changed) {\n")
3291 file.Write(" if (%s == %s || %s == GL_FRONT_AND_BACK) {\n" %
3294 file.Write(" state_.%s = %s;\n" %
3296 file.Write(" }\n")
3298 file.Write(" %s = true;\n" % state['state_flag'])
3300 file.Write(" %s(%s);\n" %
3302 file.Write(" }\n")
3322 file.Write(" if (%s) {\n" % " ||\n ".join(code))
3325 file.Write(" state_.%s = %s;\n" % (item['name'], args[ndx].name))
3327 file.Write(" %s = true;\n" % state['state_flag'])
3329 file.Write(" %s(%s);\n" %
3331 file.Write(" }\n")
3348 file.Write(" switch (%s) {\n" % args[0].name)
3350 file.Write(" case %s:\n" % state['enum'])
3351 file.Write(" if (state_.%s != %s) {\n" %
3353 file.Write(" state_.%s = %s;\n" % (state['name'], args[1].name))
3355 file.Write(" %s(%s);\n" %
3357 file.Write(" }\n")
3358 file.Write(" break;\n")
3359 file.Write(" default:\n")
3360 file.Write(" NOTREACHED();\n")
3361 file.Write(" }\n")
3384 file.Write("// TODO(gman): %s\n\n" % func.name)
3388 file.Write("// TODO(gman): %s\n\n" % func.name)
3392 file.Write(" uint32 total_size = 0; // TODO(gman): get correct size.\n")
3396 file.Write(" void Init(%s) {\n" % func.MakeTypedCmdArgString("_"))
3398 file.Write(" SetHeader(total_size);\n")
3401 file.Write(" %s = _%s;\n" % (arg.name, arg.name))
3402 file.Write(" }\n")
3403 file.Write("\n")
3408 file.Write(" void* Set(void* cmd%s) {\n" %
3411 file.Write(" static_cast<ValueType*>(cmd)->Init(%s);\n" % copy_args)
3412 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>("
3414 file.Write(" }\n")
3415 file.Write("\n")
3435 file.Write("%s GLES2Implementation::%s(%s) {\n" %
3438 file.Write(" // TODO: for now this is a no-op\n")
3439 file.Write(
3444 file.Write(" return 0;\n")
3445 file.Write("}\n")
3446 file.Write("\n")
3450 file.Write(
3452 file.Write(
3455 file.Write(" // TODO: for now this is a no-op\n")
3456 file.Write(
3460 file.Write(" return error::kNoError;\n")
3461 file.Write("}\n")
3462 file.Write("\n")
3483 file.Write("// TODO(gman): %s\n\n" % func.name)
3487 file.Write("// TODO(gman): %s\n\n" % func.name)
3491 file.Write("// TODO(gman): %s\n\n" % func.name)
3519 file.Write("// TODO(gman): Write test for %s\n" % func.name)
3523 file.Write("// TODO(gman): Write test for %s\n" % func.name)
3527 file.Write("// TODO(gman): Write test for %s\n" % func.name)
3555 file.Write("// TODO(gman): %s\n\n" % func.name)
3559 file.Write("// TODO(gman): %s\n\n" % func.name)
3567 file.Write("// TODO(gman): Implement test for %s\n" % func.name)
3576 file.Write("virtual %s %s(%s) OVERRIDE;\n" %
3579 file.Write("\n")
3585 file.Write(" uint32 total_size = ComputeSize(_data_size);\n")
3609 file.Write(" uint32 data_size = size;\n")
3612 file.Write(" uint32 data_size = imageSize;\n")
3614 file.Write(" Bucket* bucket = GetBucket(c.bucket_id);\n")
3615 file.Write(" uint32 data_size = bucket->size();\n")
3616 file.Write(" GLsizei imageSize = data_size;\n")
3624 file.Write(code)
3626 file.Write("// uint32 data_size = 0; // TODO(gman): get correct size!\n")
3632 file.Write(" uint32 total_size = ComputeSize(_size);\n")
3634 file.Write(" uint32 total_size = ComputeSize(_size);\n")
3636 file.Write(" uint32 total_size = ComputeSize(_imageSize);\n")
3638 file.Write(" uint32 total_size = ComputeSize(_imageSize);\n")
3640 file.Write(
3643 file.Write(
3650 file.Write(" uint32 total_size = cmd.ComputeSize(cmd.size);\n")
3652 file.Write(" uint32 total_size = cmd.ComputeSize(cmd.size);\n")
3654 file.Write(" uint32 total_size = cmd.ComputeSize(cmd.imageSize);\n")
3656 file.Write(" uint32 total_size = cmd.ComputeSize(cmd.imageSize);\n")
3658 file.Write(
3661 file.Write(
3663 file.Write(" EXPECT_EQ(sizeof(cmd), total_size);\n")
3667 file.Write(" void Init(%s) {\n" % func.MakeTypedCmdArgString("_"))
3669 file.Write(" SetHeader(total_size);\n")
3672 file.Write(" %s = _%s;\n" % (arg.name, arg.name))
3673 file.Write(" }\n")
3674 file.Write("\n")
3679 file.Write(" void* Set(void* cmd%s) {\n" %
3682 file.Write(" static_cast<ValueType*>(cmd)->Init(%s);\n" % copy_args)
3683 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>("
3685 file.Write(" }\n")
3686 file.Write("\n")
3691 file.Write("// TODO(gman): Implement test for %s\n" % func.name)
3696 file.Write("// TODO(gman): %s\n\n" % func.name)
3700 file.Write("// TODO(gman): %s\n\n" % func.name)
3799 file.Write("%s GLES2Implementation::%s(%s) {\n" %
3802 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
3827 file.Write(code % {
3862 file.Write(code % {
3886 file.Write(code)
3890 file.Write(" if (!%sHelper(n, %s)) {\n"
3897 file.Write(" if (!%sHelper(n, %s)) {\n"
3918 file.Write(
3936 file.Write(code % args)
3957 file.Write(code % {
4029 file.Write(" static uint32 ComputeDataSize(GLsizei n) {\n")
4030 file.Write(
4032 file.Write(" }\n")
4033 file.Write("\n")
4034 file.Write(" static uint32 ComputeSize(GLsizei n) {\n")
4035 file.Write(" return static_cast<uint32>(\n")
4036 file.Write(" sizeof(ValueType) + ComputeDataSize(n)); // NOLINT\n")
4037 file.Write(" }\n")
4038 file.Write("\n")
4042 file.Write(" void SetHeader(GLsizei n) {\n")
4043 file.Write(" header.SetCmdByTotalSize<ValueType>(ComputeSize(n));\n")
4044 file.Write(" }\n")
4045 file.Write("\n")
4050 file.Write(" void Init(%s, %s _%s) {\n" %
4053 file.Write(" SetHeader(_n);\n")
4056 file.Write(" %s = _%s;\n" % (arg.name, arg.name))
4057 file.Write(" memcpy(ImmediateDataAddress(this),\n")
4058 file.Write(" _%s, ComputeDataSize(_n));\n" % last_arg.name)
4059 file.Write(" }\n")
4060 file.Write("\n")
4066 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" %
4069 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" %
4071 file.Write(" const uint32 size = ComputeSize(_n);\n")
4072 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>("
4074 file.Write(" }\n")
4075 file.Write("\n")
4089 file.Write(code % {
4097 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name)
4098 file.Write(" static GLuint ids[] = { 12, 23, 34, };\n")
4099 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" %
4101 file.Write(" void* next_cmd = cmd.Set(\n")
4102 file.Write(" &cmd, static_cast<GLsizei>(arraysize(ids)), ids);\n")
4103 file.Write(" EXPECT_EQ(static_cast<uint32>(cmds::%s::kCmdId),\n" %
4105 file.Write(" cmd.header.command);\n")
4106 file.Write(" EXPECT_EQ(sizeof(cmd) +\n")
4107 file.Write(" RoundSizeToMultipleOfEntries(cmd.n * 4u),\n")
4108 file.Write(" cmd.header.size * 4u);\n")
4109 file.Write(" EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n);\n");
4110 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n")
4111 file.Write(" next_cmd, sizeof(cmd) +\n")
4112 file.Write(" RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));\n")
4113 file.Write(" // TODO(gman): Check that ids were inserted;\n")
4114 file.Write("}\n")
4115 file.Write("\n")
4164 file.Write(" uint32 client_id = c.client_id;\n")
4165 file.Write(" if (!%sHelper(%s)) {\n" %
4167 file.Write(" return error::kInvalidArguments;\n")
4168 file.Write(" }\n")
4172 file.Write("%s GLES2Implementation::%s(%s) {\n" %
4175 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
4180 file.Write(" GLuint client_id;\n")
4181 file.Write(
4183 file.Write(" MakeIds(this, 0, 1, &client_id);\n")
4184 file.Write(" helper_->%s(%s);\n" %
4186 file.Write(' GPU_CLIENT_LOG("returned " << client_id);\n')
4187 file.Write(" CheckGLError();\n")
4188 file.Write(" return client_id;\n")
4189 file.Write("}\n")
4190 file.Write("\n")
4205 file.Write("%s GLES2Implementation::%s(%s) {\n" %
4208 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
4213 file.Write(
4215 file.Write(" %sHelper(%s);\n" %
4217 file.Write(" CheckGLError();\n")
4218 file.Write("}\n")
4219 file.Write("\n")
4235 file.Write(code)
4254 file.Write(code % {
4328 file.Write(" %sHelper(n, %s);\n" %
4333 file.Write(" %sHelper(n, %s);\n" %
4348 file.Write(
4351 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
4354 file.Write(""" GPU_CLIENT_LOG_CODE_BLOCK({
4360 file.Write(""" GPU_CLIENT_DCHECK_CODE_BLOCK({
4373 file.Write(code % args)
4377 file.Write(" static uint32 ComputeDataSize(GLsizei n) {\n")
4378 file.Write(
4380 file.Write(" }\n")
4381 file.Write("\n")
4382 file.Write(" static uint32 ComputeSize(GLsizei n) {\n")
4383 file.Write(" return static_cast<uint32>(\n")
4384 file.Write(" sizeof(ValueType) + ComputeDataSize(n)); // NOLINT\n")
4385 file.Write(" }\n")
4386 file.Write("\n")
4390 file.Write(" void SetHeader(GLsizei n) {\n")
4391 file.Write(" header.SetCmdByTotalSize<ValueType>(ComputeSize(n));\n")
4392 file.Write(" }\n")
4393 file.Write("\n")
4398 file.Write(" void Init(%s, %s _%s) {\n" %
4401 file.Write(" SetHeader(_n);\n")
4404 file.Write(" %s = _%s;\n" % (arg.name, arg.name))
4405 file.Write(" memcpy(ImmediateDataAddress(this),\n")
4406 file.Write(" _%s, ComputeDataSize(_n));\n" % last_arg.name)
4407 file.Write(" }\n")
4408 file.Write("\n")
4414 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" %
4417 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" %
4419 file.Write(" const uint32 size = ComputeSize(_n);\n")
4420 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>("
4422 file.Write(" }\n")
4423 file.Write("\n")
4437 file.Write(code % {
4445 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name)
4446 file.Write(" static GLuint ids[] = { 12, 23, 34, };\n")
4447 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" %
4449 file.Write(" void* next_cmd = cmd.Set(\n")
4450 file.Write(" &cmd, static_cast<GLsizei>(arraysize(ids)), ids);\n")
4451 file.Write(" EXPECT_EQ(static_cast<uint32>(cmds::%s::kCmdId),\n" %
4453 file.Write(" cmd.header.command);\n")
4454 file.Write(" EXPECT_EQ(sizeof(cmd) +\n")
4455 file.Write(" RoundSizeToMultipleOfEntries(cmd.n * 4u),\n")
4456 file.Write(" cmd.header.size * 4u);\n")
4457 file.Write(" EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n);\n");
4458 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n")
4459 file.Write(" next_cmd, sizeof(cmd) +\n")
4460 file.Write(" RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));\n")
4461 file.Write(" // TODO(gman): Check that ids were inserted;\n")
4462 file.Write("}\n")
4463 file.Write("\n")
4478 file.Write(
4480 file.Write(
4496 file.Write(code % {
4508 file.Write(' LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("%s");\n' % func.name)
4509 file.Write(code)
4527 file.Write(code % {'func_name': func.name})
4533 file.Write("%s GLES2Implementation::%s(%s) {\n" %
4536 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
4568 file.Write(code % {
4602 file.Write(code % {
4761 file.Write(code % (func.info.data_type, func.info.count))
4763 file.Write(" if (data_size > immediate_data_size) {\n")
4764 file.Write(" return error::kOutOfBounds;\n")
4765 file.Write(" }\n")
4769 file.Write("%s GLES2Implementation::%s(%s) {\n" %
4772 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
4778 file.Write(' GPU_CLIENT_LOG("values: " << %s);\n' % values_str)
4781 file.Write(" helper_->%sImmediate(%s);\n" %
4783 file.Write(" CheckGLError();\n")
4784 file.Write("}\n")
4785 file.Write("\n")
4812 file.Write(code % {
4822 file.Write(" static uint32 ComputeDataSize() {\n")
4823 file.Write(" return static_cast<uint32>(\n")
4824 file.Write(" sizeof(%s) * %d); // NOLINT\n" %
4826 file.Write(" }\n")
4827 file.Write("\n")
4828 file.Write(" static uint32 ComputeSize() {\n")
4829 file.Write(" return static_cast<uint32>(\n")
4830 file.Write(
4832 file.Write(" }\n")
4833 file.Write("\n")
4837 file.Write(" void SetHeader() {\n")
4838 file.Write(
4840 file.Write(" }\n")
4841 file.Write("\n")
4846 file.Write(" void Init(%s, %s _%s) {\n" %
4849 file.Write(" SetHeader();\n")
4852 file.Write(" %s = _%s;\n" % (arg.name, arg.name))
4853 file.Write(" memcpy(ImmediateDataAddress(this),\n")
4854 file.Write(" _%s, ComputeDataSize());\n" % last_arg.name)
4855 file.Write(" }\n")
4856 file.Write("\n")
4862 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" %
4865 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" %
4867 file.Write(" const uint32 size = ComputeSize();\n")
4868 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>("
4870 file.Write(" }\n")
4871 file.Write("\n")
4885 file.Write(code % {
4893 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name)
4894 file.Write(" const int kSomeBaseValueToTestWith = 51;\n")
4895 file.Write(" static %s data[] = {\n" % func.info.data_type)
4897 file.Write(" static_cast<%s>(kSomeBaseValueToTestWith + %d),\n" %
4899 file.Write(" };\n")
4900 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" %
4902 file.Write(" void* next_cmd = cmd.Set(\n")
4903 file.Write(" &cmd")
4906 file.Write(",\n static_cast<%s>(%d)" % (arg.type, value + 11))
4907 file.Write(",\n data);\n")
4909 file.Write(" EXPECT_EQ(static_cast<uint32>(cmds::%s::kCmdId),\n"
4911 file.Write(" cmd.header.command);\n")
4912 file.Write(" EXPECT_EQ(sizeof(cmd) +\n")
4913 file.Write(" RoundSizeToMultipleOfEntries(sizeof(data)),\n")
4914 file.Write(" cmd.header.size * 4u);\n")
4916 file.Write(" EXPECT_EQ(static_cast<%s>(%d), cmd.%s);\n" %
4918 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n")
4919 file.Write(" next_cmd, sizeof(cmd) +\n")
4920 file.Write(" RoundSizeToMultipleOfEntries(sizeof(data)));\n")
4921 file.Write(" // TODO(gman): Check that data was inserted;\n")
4922 file.Write("}\n")
4923 file.Write("\n")
5022 file.Write(code % (func.info.data_type, func.info.count))
5024 file.Write(" if (data_size > immediate_data_size) {\n")
5025 file.Write(" return error::kOutOfBounds;\n")
5026 file.Write(" }\n")
5030 file.Write("%s GLES2Implementation::%s(%s) {\n" %
5033 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
5037 file.Write(""" GPU_CLIENT_LOG_CODE_BLOCK({
5044 file.Write(' GPU_CLIENT_LOG(" " << i << ": " << %s);\n' % values_str)
5045 file.Write(" }\n });\n")
5048 file.Write(" helper_->%sImmediate(%s);\n" %
5050 file.Write(" CheckGLError();\n")
5051 file.Write("}\n")
5052 file.Write("\n")
5084 file.Write(code % {
5095 file.Write(" static uint32 ComputeDataSize(GLsizei count) {\n")
5096 file.Write(" return static_cast<uint32>(\n")
5097 file.Write(" sizeof(%s) * %d * count); // NOLINT\n" %
5099 file.Write(" }\n")
5100 file.Write("\n")
5101 file.Write(" static uint32 ComputeSize(GLsizei count) {\n")
5102 file.Write(" return static_cast<uint32>(\n")
5103 file.Write(
5105 file.Write(" }\n")
5106 file.Write("\n")
5110 file.Write(" void SetHeader(GLsizei count) {\n")
5111 file.Write(
5113 file.Write(" }\n")
5114 file.Write("\n")
5119 file.Write(" void Init(%s, %s _%s) {\n" %
5122 file.Write(" SetHeader(_count);\n")
5125 file.Write(" %s = _%s;\n" % (arg.name, arg.name))
5126 file.Write(" memcpy(ImmediateDataAddress(this),\n")
5127 file.Write(" _%s, ComputeDataSize(_count));\n" % last_arg.name)
5128 file.Write(" }\n")
5129 file.Write("\n")
5135 file.Write(" void* Set(void* cmd%s, %s _%s) {\n" %
5138 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _%s);\n" %
5140 file.Write(" const uint32 size = ComputeSize(_count);\n")
5141 file.Write(" return NextImmediateCmdAddressTotalSize<ValueType>("
5143 file.Write(" }\n")
5144 file.Write("\n")
5158 file.Write(code % {
5171 file.Write("TEST_F(GLES2FormatTest, %s) {\n" % func.name)
5172 file.Write(" const int kSomeBaseValueToTestWith = 51;\n")
5173 file.Write(" static %s data[] = {\n" % func.info.data_type)
5175 file.Write(" static_cast<%s>(kSomeBaseValueToTestWith + %d),\n" %
5177 file.Write(" };\n")
5178 file.Write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" %
5180 file.Write(" const GLsizei kNumElements = %d;\n" % count_param)
5181 file.Write(" const size_t kExpectedCmdSize =\n")
5182 file.Write(" sizeof(cmd) + kNumElements * sizeof(%s) * %d;\n" %
5184 file.Write(" void* next_cmd = cmd.Set(\n")
5185 file.Write(" &cmd")
5187 file.Write(",\n static_cast<%s>(%d)" % (arg.type, value + 1))
5188 file.Write(",\n data);\n")
5189 file.Write(" EXPECT_EQ(static_cast<uint32>(cmds::%s::kCmdId),\n" %
5191 file.Write(" cmd.header.command);\n")
5192 file.Write(" EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u);\n")
5194 file.Write(" EXPECT_EQ(static_cast<%s>(%d), cmd.%s);\n" %
5196 file.Write(" CheckBytesWrittenMatchesExpectedSize(\n")
5197 file.Write(" next_cmd, sizeof(cmd) +\n")
5198 file.Write(" RoundSizeToMultipleOfEntries(sizeof(data)));\n")
5199 file.Write(" // TODO(gman): Check that data was inserted;\n")
5200 file.Write("}\n")
5201 file.Write("\n")
5221 file.Write(code % {
5273 file.Write(" static uint32 ComputeSize(uint32 data_size) {\n")
5274 file.Write(" return static_cast<uint32>(\n")
5275 file.Write(" sizeof(ValueType) + data_size); // NOLINT\n")
5276 file.Write(" }\n")
5285 file.Write(code)
5302 file.Write(code % {
5311 file.Write(" void* Set(void* cmd%s, uint32 _data_size) {\n" %
5313 file.Write(" static_cast<ValueType*>(cmd)->Init(%s, _data_size);\n" %
5315 file.Write(" return NextImmediateCmdAddress<ValueType>("
5317 file.Write(" }\n")
5318 file.Write("\n")
5332 file.Write(code % {
5376 file.Write(code % {
5404 file.Write("""error::Error GLES2DecoderImpl::Handle%(name)s(
5488 file.Write(
5490 file.Write(
5504 file.Write(code % {'func_name': func.name})
5506 file.Write(" *result_dst = %s(%s);\n" %
5508 file.Write(" return error::kNoError;\n")
5509 file.Write("}\n")
5510 file.Write("\n")
5517 file.Write("%s GLES2Implementation::%s(%s) {\n" %
5520 file.Write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
5524 file.Write(" typedef cmds::%s::Result Result;\n" % func.name)
5525 file.Write(" Result* result = GetResultAs<Result*>();\n")
5526 file.Write(" if (!result) {\n")
5527 file.Write(" return %s;\n" % error_value)
5528 file.Write(" }\n")
5529 file.Write(" *result = 0;\n")
5534 file.Write(
5537 file.Write(" WaitForCmd();\n")
5538 file.Write(" %s result_value = *result;\n" % func.return_type)
5539 file.Write(' GPU_CLIENT_LOG("returned " << result_value);\n')
5540 file.Write(" CheckGLError();\n")
5541 file.Write(" return result_value;\n")
5542 file.Write("}\n")
5543 file.Write("\n")
5570 file.Write(code % {
5635 file.Write(code_1 % str_args)
5637 file.Write(code_2 % str_args)
5788 file.Write(" %s %s = static_cast<%s>(c.%s);\n" %
5809 file.Write(
5860 file.Write(code % (self.type, self.name, self.type, self.name))
5895 file.Write(" if (%s < 0) {\n" % self.name)
5896 file.Write(
5899 file.Write(" return error::kNoError;\n")
5900 file.Write(" }\n")
5904 file.Write(" if (%s < 0) {\n" % self.name)
5905 file.Write(
5908 file.Write(" return;\n")
5909 file.Write(" }\n")
5940 file.Write(" if (!validators_->%s.IsValid(%s)) {\n" %
5943 file.Write(
5947 file.Write(
5950 file.Write(" return error::kNoError;\n")
5951 file.Write(" }\n")
6048 file.Write(
6051 file.Write(" c, data_size, immediate_data_size);\n")
6055 file.Write(" if (%s == NULL) {\n" % self.name)
6056 file.Write(" return error::kOutOfBounds;\n")
6057 file.Write(" }\n")
6084 file.Write(
6146 file.Write(
6149 file.Write(
6155 file.Write(
6158 file.Write(
6164 file.Write(" if (%s == NULL) {\n" % self.name)
6165 file.Write(" return error::kOutOfBounds;\n")
6166 file.Write(" }\n")
6202 file.Write(code % {
6239 file.Write(" %s %s = c.%s;\n" % (self.type, self.name, self.name))
6261 file.Write(code % {'type': self.type, 'name': self.name})
6281 file.Write(" %s %s = c.%s;\n" % (self.type, self.name, self.name))
6451 file.Write("//! Command that corresponds to gl%s.\n" % self.original_name)
6469 file.Write(" static const cmd::ArgFlags kArgFlags = cmd::kFixed;\n")
6473 file.Write(" static uint32 ComputeSize() {\n")
6474 file.Write(
6476 file.Write(" }\n")
6477 file.Write("\n")
6481 file.Write(" void SetHeader() {\n")
6482 file.Write(" header.SetCmd<ValueType>();\n")
6483 file.Write(" }\n")
6484 file.Write("\n")
6488 file.Write(" void Init(%s) {\n" % self.MakeTypedCmdArgString("_"))
6489 file.Write(" SetHeader();\n")
6492 file.Write(" %s = _%s;\n" % (arg.name, arg.name))
6493 file.Write(" }\n")
6494 file.Write("\n")
6499 file.Write(" void* Set(void* cmd%s) {\n" %
6501 file.Write(" static_cast<ValueType*>(cmd)->Init(%s);\n" % copy_args)
6502 file.Write(" return NextCmdAddress<ValueType>(cmd);\n")
6503 file.Write(" }\n")
6504 file.Write("\n")
6642 file.Write("//! Immediate version of command that corresponds to gl%s.\n" %
6663 file.Write(" static const cmd::ArgFlags kArgFlags = cmd::kAtLeastN;\n")
6730 file.Write("//! Bucket version of command that corresponds to gl%s.\n" %
6875 file.Write(_LICENSE)
6879 file.Write("namespace gpu {\n")
6880 file.Write("namespace gles2 {\n")
6881 file.Write("\n")
6885 file.Write("} // namespace gles2\n")
6886 file.Write("} // namespace gpu\n")
6887 file.Write("\n")
6959 file.Write("#define GLES2_COMMAND_LIST(OP) \\\n")
6962 file.Write(" %-60s /* %d */ \\\n" %
6965 file.Write("\n")
6967 file.Write("enum CommandId {\n")
6968 file.Write(" kStartPoint = cmd::kLastCommonId, "
6970 file.Write("#define GLES2_CMD_OP(name) k ## name,\n")
6971 file.Write(" GLES2_COMMAND_LIST(GLES2_CMD_OP)\n")
6972 file.Write("#undef GLES2_CMD_OP\n")
6973 file.Write(" kNumCommands\n")
6974 file.Write("};\n")
6975 file.Write("\n")
6986 file.Write("\n")
6997 file.Write("\n")
7033 file.Write("struct EnableFlags {\n")
7034 file.Write(" EnableFlags();\n")
7036 file.Write(" bool %s;\n" % capability['name'])
7037 file.Write("};\n\n")
7042 file.Write("%s %s;\n" % (item['type'], item['name']))
7043 file.Write("\n")
7052 file.Write("struct EnableFlags {\n")
7053 file.Write(" EnableFlags();\n")
7055 file.Write(" bool %s;\n" % capability['name'])
7056 file.Write("};\n\n")
7063 file.Write("""
7071 file.Write(" case %s:\n" % state['enum'])
7072 file.Write(" *num_written = %d;\n" % len(state['states']))
7073 file.Write(" if (params) {\n")
7075 file.Write(" params[%d] = static_cast<%s>(%s);\n" %
7077 file.Write(" }\n")
7078 file.Write(" return true;\n")
7081 file.Write(" case %s:\n" % item['enum'])
7082 file.Write(" *num_written = 1;\n")
7083 file.Write(" if (params) {\n")
7084 file.Write(" params[0] = static_cast<%s>(%s);\n" %
7086 file.Write(" }\n")
7087 file.Write(" return true;\n")
7089 file.Write(" case GL_%s:\n" % capability['name'].upper())
7090 file.Write(" *num_written = 1;\n")
7091 file.Write(" if (params) {\n")
7092 file.Write(
7095 file.Write(" }\n")
7096 file.Write(" return true;\n")
7097 file.Write(""" default:
7113 file.Write("ContextState::EnableFlags::EnableFlags()\n : %s {\n}\n" %
7115 file.Write("\n")
7117 file.Write("void ContextState::Initialize() {\n")
7121 file.Write(" %s = %s;\n" % (item['name'], item['default']))
7122 file.Write("}\n")
7124 file.Write("""
7128 file.Write(" EnableDisable(GL_%s, enable_flags.%s);\n" %
7130 file.Write("""}
7144 file.Write(
7150 file.Write(" if (feature_info_->feature_flags().%s)\n " %
7152 file.Write(" gl%s(%s, %s);\n" %
7158 file.Write(" gl%s(%s);\n" % (state['func'], ", ".join(args)))
7159 file.Write("}\n")
7161 file.Write("""bool ContextState::GetEnabled(GLenum cap) const {
7165 file.Write(" case GL_%s:\n" % capability['name'].upper())
7166 file.Write(" return enable_flags.%s;\n" % capability['name'])
7167 file.Write(""" default:
7187 file.Write(
7190 file.Write("\n")
7192 file.Write("""
7199 file.Write(" case GL_%s:\n" % capability['name'].upper())
7200 file.Write(""" if (enable_flags.%(name)s != enabled) {
7206 file.Write(""" default:
7211 file.Write("""bool ClientContextState::GetEnabled(
7216 file.Write(" case GL_%s:\n" % capability['name'].upper())
7217 file.Write(" *enabled = enable_flags.%s;\n" % capability['name'])
7218 file.Write(" return true;\n")
7219 file.Write(""" default:
7238 file.Write("""
7243 file.Write(" case GL_%s:\n" % capability['name'].upper())
7245 file.Write(""" if (state_.enable_flags.%(name)s != enabled) {
7252 file.Write(""" state_.enable_flags.%(name)s = enabled;
7255 file.Write(""" default:
7284 file.Write("// TODO(gman): %s\n" % func.name)
7292 file.Write(
7296 file.Write(" ExpectEnableDisable(GL_%s, %s);\n" %
7299 file.Write("""}
7316 file.Write(
7319 file.Write(" .Times(1)\n")
7320 file.Write(" .RetiresOnSaturation();\n")
7325 file.Write(
7328 file.Write(" .Times(1)\n")
7329 file.Write(" .RetiresOnSaturation();\n")
7337 file.Write(" EXPECT_CALL(*gl_, %s(%s))\n" %
7339 file.Write(" .Times(1)\n")
7340 file.Write(" .RetiresOnSaturation();\n")
7341 file.Write("""}
7354 file.Write("\n")
7366 file.Write("""
7372 file.Write(
7375 file.Write(""" { NULL, NULL, },
7462 file.Write("ValueValidator<%s> %s;\n" %
7464 file.Write("\n")
7473 file.Write("static const %s valid_%s_table[] = {\n" %
7476 file.Write(" %s,\n" % value)
7477 file.Write("};\n")
7478 file.Write("\n")
7479 file.Write("Validators::Validators()\n")
7492 file.Write(code % {
7498 file.Write("}\n\n");
7507 file.Write("static std::string GetString%s(uint32 value);\n" % enum)
7508 file.Write("\n")
7529 file.Write("static const GLES2Util::EnumToString "
7532 file.Write(' { %s, "%s", },\n' % (value, dict[value]))
7533 file.Write("""};
7545 file.Write("std::string GLES2Util::GetString%s(uint32 value) {\n" %
7548 file.Write(" static const EnumToString string_table[] = {\n")
7550 file.Write(' { %s, "%s" },\n' % (value, value))
7551 file.Write(""" };
7558 file.Write(""" return GLES2Util::GetQualifiedEnumString(
7572 file.Write("#include \"ppapi/c/pp_resource.h\"\n")
7574 file.Write("#include \"ppapi/c/ppb_opengles2.h\"\n\n")
7576 file.Write("\n#ifndef __gl2_h_\n")
7578 file.Write("typedef %s %s;\n" % (v, k))
7579 file.Write("#endif // __gl2_h_\n\n")
7584 file.Write("#define %s_1_0 \"%s;1.0\"\n" %
7586 file.Write("#define %s %s_1_0\n" %
7589 file.Write("\nstruct %s {\n" % interface.GetStructName())
7600 file.Write(" %s (*%s)(%s);\n" % (func.return_type, func.name, arg))
7601 file.Write("};\n\n")
7610 file.Write(_LICENSE)
7611 file.Write(_DO_NOT_EDIT_WARNING)
7613 file.Write("#include \"ppapi/shared_impl/ppb_opengles2_shared.h\"\n\n")
7614 file.Write("#include \"base/logging.h\"\n")
7615 file.Write("#include \"gpu/command_buffer/client/gles2_implementation.h\"\n")
7616 file.Write("#include \"ppapi/shared_impl/ppb_graphics_3d_shared.h\"\n")
7617 file.Write("#include \"ppapi/thunk/enter.h\"\n\n")
7619 file.Write("namespace ppapi {\n\n")
7620 file.Write("namespace {\n\n")
7622 file.Write("gpu::gles2::GLES2Implementation*"
7624 file.Write(" thunk::EnterResource<thunk::PPB_Graphics3D_API>"
7626 file.Write(" DCHECK(enter_g3d.succeeded());\n")
7627 file.Write(" return static_cast<PPB_Graphics3D_Shared*>"
7629 file.Write("}\n\n")
7641 file.Write("%s %s(%s) {\n" % (func.return_type, func.name, arg))
7644 file.Write(" %sGetGLES(context_id)->%s(%s);\n" %
7647 file.Write("}\n\n")
7649 file.Write("} // namespace\n")
7652 file.Write("const %s* PPB_OpenGLES2_Shared::Get%sInterface() {\n" %
7654 file.Write(" static const struct %s "
7656 file.Write(" &")
7657 file.Write(",\n &".join(
7660 file.Write("\n")
7662 file.Write(" };\n")
7663 file.Write(" return &ppb_opengles2;\n")
7664 file.Write("}\n")
7666 file.Write("} // namespace ppapi\n")
7673 file.Write(_LICENSE)
7674 file.Write(_DO_NOT_EDIT_WARNING)
7676 file.Write("#ifndef GL_GLEXT_PROTOTYPES\n")
7677 file.Write("#define GL_GLEXT_PROTOTYPES\n")
7678 file.Write("#endif\n")
7679 file.Write("#include <GLES2/gl2.h>\n")
7680 file.Write("#include <GLES2/gl2ext.h>\n")
7681 file.Write("#include \"ppapi/lib/gl/gles2/gl2ext_ppapi.h\"\n\n")
7689 file.Write("%s GL_APIENTRY gl%s(%s) {\n" %
7701 file.Write(" const struct %s* ext = %s;\n" %
7703 file.Write(" if (ext)\n")
7704 file.Write(" %sext->%s(%s);\n" %
7707 file.Write(" %s0;\n" % return_str)
7709 file.Write(" %s%s->%s(%s);\n" %
7711 file.Write("}\n\n")