Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc |
index 8b7f0cae572709dd23a3a62e3280ad775e8d57c1..71d6a30c5bc6ee535c073f1f8d7c445ed16356b4 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc |
@@ -1160,93 +1160,9 @@ void GLES2DecoderTestBase::SetupShader( |
AttachShader(program_service_id, fragment_shader_service_id)) |
.Times(1) |
.RetiresOnSaturation(); |
- EXPECT_CALL(*gl_, LinkProgram(program_service_id)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- EXPECT_CALL(*gl_, GetProgramiv(program_service_id, GL_LINK_STATUS, _)) |
- .WillOnce(SetArgumentPointee<2>(GL_TRUE)) |
- .RetiresOnSaturation(); |
- EXPECT_CALL(*gl_, |
- GetProgramiv(program_service_id, GL_INFO_LOG_LENGTH, _)) |
- .WillOnce(SetArgumentPointee<2>(0)) |
- .RetiresOnSaturation(); |
- EXPECT_CALL(*gl_, |
- GetProgramiv(program_service_id, GL_ACTIVE_ATTRIBUTES, _)) |
- .WillOnce(SetArgumentPointee<2>(num_attribs)) |
- .RetiresOnSaturation(); |
- size_t max_attrib_len = 0; |
- for (size_t ii = 0; ii < num_attribs; ++ii) { |
- size_t len = strlen(attribs[ii].name) + 1; |
- max_attrib_len = std::max(max_attrib_len, len); |
- } |
- EXPECT_CALL(*gl_, |
- GetProgramiv(program_service_id, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, _)) |
- .WillOnce(SetArgumentPointee<2>(max_attrib_len)) |
- .RetiresOnSaturation(); |
- for (size_t ii = 0; ii < num_attribs; ++ii) { |
- const AttribInfo& info = attribs[ii]; |
- EXPECT_CALL(*gl_, |
- GetActiveAttrib(program_service_id, ii, max_attrib_len, _, _, _, _)) |
- .WillOnce(DoAll( |
- SetArgumentPointee<3>(strlen(info.name)), |
- SetArgumentPointee<4>(info.size), |
- SetArgumentPointee<5>(info.type), |
- SetArrayArgument<6>(info.name, |
- info.name + strlen(info.name) + 1))) |
- .RetiresOnSaturation(); |
- if (!ProgramManager::IsInvalidPrefix(info.name, strlen(info.name))) { |
- EXPECT_CALL(*gl_, GetAttribLocation(program_service_id, |
- StrEq(info.name))) |
- .WillOnce(Return(info.location)) |
- .RetiresOnSaturation(); |
- } |
- } |
- EXPECT_CALL(*gl_, |
- GetProgramiv(program_service_id, GL_ACTIVE_UNIFORMS, _)) |
- .WillOnce(SetArgumentPointee<2>(num_uniforms)) |
- .RetiresOnSaturation(); |
- size_t max_uniform_len = 0; |
- for (size_t ii = 0; ii < num_uniforms; ++ii) { |
- size_t len = strlen(uniforms[ii].name) + 1; |
- max_uniform_len = std::max(max_uniform_len, len); |
- } |
- EXPECT_CALL(*gl_, |
- GetProgramiv(program_service_id, GL_ACTIVE_UNIFORM_MAX_LENGTH, _)) |
- .WillOnce(SetArgumentPointee<2>(max_uniform_len)) |
- .RetiresOnSaturation(); |
- for (size_t ii = 0; ii < num_uniforms; ++ii) { |
- const UniformInfo& info = uniforms[ii]; |
- EXPECT_CALL(*gl_, |
- GetActiveUniform(program_service_id, ii, max_uniform_len, _, _, _, _)) |
- .WillOnce(DoAll( |
- SetArgumentPointee<3>(strlen(info.name)), |
- SetArgumentPointee<4>(info.size), |
- SetArgumentPointee<5>(info.type), |
- SetArrayArgument<6>(info.name, |
- info.name + strlen(info.name) + 1))) |
- .RetiresOnSaturation(); |
- if (!ProgramManager::IsInvalidPrefix(info.name, strlen(info.name))) { |
- EXPECT_CALL(*gl_, GetUniformLocation(program_service_id, |
- StrEq(info.name))) |
- .WillOnce(Return(info.real_location)) |
- .RetiresOnSaturation(); |
- if (info.size > 1) { |
- std::string base_name = info.name; |
- size_t array_pos = base_name.rfind("[0]"); |
- if (base_name.size() > 3 && array_pos == base_name.size() - 3) { |
- base_name = base_name.substr(0, base_name.size() - 3); |
- } |
- for (GLsizei jj = 1; jj < info.size; ++jj) { |
- std::string element_name( |
- std::string(base_name) + "[" + base::IntToString(jj) + "]"); |
- EXPECT_CALL(*gl_, GetUniformLocation(program_service_id, |
- StrEq(element_name))) |
- .WillOnce(Return(info.real_location + jj * 2)) |
- .RetiresOnSaturation(); |
- } |
- } |
- } |
- } |
+ TestHelper::SetupShader( |
+ gl_.get(), attribs, num_attribs, uniforms, num_uniforms, |
+ program_service_id); |
} |
DoCreateShader( |
@@ -1274,85 +1190,6 @@ void GLES2DecoderTestBase::SetupShader( |
SetupExpectationsForClearingUniforms(uniforms, num_uniforms); |
} |
-void GLES2DecoderTestBase::SetupExpectationsForClearingUniforms( |
- UniformInfo* uniforms, size_t num_uniforms) { |
- for (size_t ii = 0; ii < num_uniforms; ++ii) { |
- const UniformInfo& info = uniforms[ii]; |
- switch (info.type) { |
- case GL_FLOAT: |
- EXPECT_CALL(*gl_, Uniform1fv(info.real_location, info.size, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- case GL_FLOAT_VEC2: |
- EXPECT_CALL(*gl_, Uniform2fv(info.real_location, info.size, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- case GL_FLOAT_VEC3: |
- EXPECT_CALL(*gl_, Uniform3fv(info.real_location, info.size, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- case GL_FLOAT_VEC4: |
- EXPECT_CALL(*gl_, Uniform4fv(info.real_location, info.size, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- case GL_INT: |
- case GL_BOOL: |
- case GL_SAMPLER_2D: |
- case GL_SAMPLER_CUBE: |
- case GL_SAMPLER_EXTERNAL_OES: |
- case GL_SAMPLER_3D_OES: |
- case GL_SAMPLER_2D_RECT_ARB: |
- EXPECT_CALL(*gl_, Uniform1iv(info.real_location, info.size, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- case GL_INT_VEC2: |
- case GL_BOOL_VEC2: |
- EXPECT_CALL(*gl_, Uniform2iv(info.real_location, info.size, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- case GL_INT_VEC3: |
- case GL_BOOL_VEC3: |
- EXPECT_CALL(*gl_, Uniform3iv(info.real_location, info.size, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- case GL_INT_VEC4: |
- case GL_BOOL_VEC4: |
- EXPECT_CALL(*gl_, Uniform4iv(info.real_location, info.size, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- case GL_FLOAT_MAT2: |
- EXPECT_CALL(*gl_, UniformMatrix2fv( |
- info.real_location, info.size, false, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- case GL_FLOAT_MAT3: |
- EXPECT_CALL(*gl_, UniformMatrix3fv( |
- info.real_location, info.size, false, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- case GL_FLOAT_MAT4: |
- EXPECT_CALL(*gl_, UniformMatrix4fv( |
- info.real_location, info.size, false, _)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- break; |
- default: |
- NOTREACHED(); |
- break; |
- } |
- } |
-} |
- |
void GLES2DecoderTestBase::DoEnableVertexAttribArray(GLint index) { |
EXPECT_CALL(*gl_, EnableVertexAttribArray(index)) |
.Times(1) |