Chromium Code Reviews| Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest_2.cc |
| diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2.cc |
| index df51b995609883ab62b01a554c06cec375c31df8..f05c9b13cbd03bc7c4d2032ed2a8ee0b7e943af9 100644 |
| --- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2.cc |
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2.cc |
| @@ -66,6 +66,9 @@ class GLES2DecoderTest2 : public GLES2DecoderTestBase { |
| EXPECT_CALL(*gl_, Uniform2uiv(1, _, _)).Times(AnyNumber()); |
| EXPECT_CALL(*gl_, Uniform3uiv(1, _, _)).Times(AnyNumber()); |
| EXPECT_CALL(*gl_, Uniform4uiv(1, _, _)).Times(AnyNumber()); |
| + EXPECT_CALL(*gl_, UniformMatrix2fv(1, _, _, _)).Times(AnyNumber()); |
| + EXPECT_CALL(*gl_, UniformMatrix3fv(1, _, _, _)).Times(AnyNumber()); |
| + EXPECT_CALL(*gl_, UniformMatrix4fv(1, _, _, _)).Times(AnyNumber()); |
| EXPECT_CALL(*gl_, UniformMatrix2x3fv(1, _, _, _)).Times(AnyNumber()); |
| EXPECT_CALL(*gl_, UniformMatrix2x4fv(1, _, _, _)).Times(AnyNumber()); |
| EXPECT_CALL(*gl_, UniformMatrix3x2fv(1, _, _, _)).Times(AnyNumber()); |
| @@ -242,7 +245,7 @@ class GLES2DecoderTest2 : public GLES2DecoderTestBase { |
| *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); |
| GLfloat data[2][2 * 2] = {{0.0f}}; |
| - cmd.Init(1, 2, &data[0][0]); |
| + cmd.Init(1, 2, false, &data[0][0]); |
|
Zhenyao Mo
2016/02/05 17:31:59
Here you should also test with transpose == true a
qiankun
2016/02/06 03:02:56
Added test cases for gles2. Removed duplicate test
|
| EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| GetGLError()); |
| @@ -253,7 +256,7 @@ class GLES2DecoderTest2 : public GLES2DecoderTestBase { |
| cmds::UniformMatrix3fvImmediate& cmd = |
| *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); |
| GLfloat data[2][3 * 3] = {{0.0f}}; |
| - cmd.Init(1, 2, &data[0][0]); |
| + cmd.Init(1, 2, false, &data[0][0]); |
| EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| GetGLError()); |
| @@ -264,7 +267,7 @@ class GLES2DecoderTest2 : public GLES2DecoderTestBase { |
| cmds::UniformMatrix4fvImmediate& cmd = |
| *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); |
| GLfloat data[2][4 * 4] = {{0.0f}}; |
| - cmd.Init(1, 2, &data[0][0]); |
| + cmd.Init(1, 2, false, &data[0][0]); |
| EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| GetGLError()); |
| @@ -352,12 +355,46 @@ class GLES2DecoderTest2 : public GLES2DecoderTestBase { |
| } |
| { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix2f; |
| + cmds::UniformMatrix2fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); |
| + GLfloat data[2][2 * 2] = {{0.0f}}; |
| + |
| + cmd.Init(1, 2, false, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix3f; |
| + cmds::UniformMatrix3fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); |
| + GLfloat data[2][3 * 3] = {{0.0f}}; |
| + cmd.Init(1, 2, false, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix4f; |
| + cmds::UniformMatrix4fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); |
| + GLfloat data[2][4 * 4] = {{0.0f}}; |
| + cmd.Init(1, 2, false, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| valid_uniform = accepts_apis & Program::kUniformMatrix2x3f; |
| cmds::UniformMatrix2x3fvImmediate& cmd = |
| *GetImmediateAs<cmds::UniformMatrix2x3fvImmediate>(); |
| GLfloat data[2][2 * 3] = {{0.0f}}; |
| - cmd.Init(1, 2, &data[0][0]); |
| + cmd.Init(1, 2, false, &data[0][0]); |
| EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| GetGLError()); |
| @@ -369,7 +406,7 @@ class GLES2DecoderTest2 : public GLES2DecoderTestBase { |
| *GetImmediateAs<cmds::UniformMatrix2x4fvImmediate>(); |
| GLfloat data[2][2 * 4] = {{0.0f}}; |
| - cmd.Init(1, 2, &data[0][0]); |
| + cmd.Init(1, 2, false, &data[0][0]); |
| EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| GetGLError()); |
| @@ -381,7 +418,7 @@ class GLES2DecoderTest2 : public GLES2DecoderTestBase { |
| *GetImmediateAs<cmds::UniformMatrix3x2fvImmediate>(); |
| GLfloat data[2][3 * 2] = {{0.0f}}; |
| - cmd.Init(1, 2, &data[0][0]); |
| + cmd.Init(1, 2, false, &data[0][0]); |
| EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| GetGLError()); |
| @@ -393,7 +430,7 @@ class GLES2DecoderTest2 : public GLES2DecoderTestBase { |
| *GetImmediateAs<cmds::UniformMatrix3x4fvImmediate>(); |
| GLfloat data[2][3 * 4] = {{0.0f}}; |
| - cmd.Init(1, 2, &data[0][0]); |
| + cmd.Init(1, 2, false, &data[0][0]); |
| EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| GetGLError()); |
| @@ -405,7 +442,7 @@ class GLES2DecoderTest2 : public GLES2DecoderTestBase { |
| *GetImmediateAs<cmds::UniformMatrix4x2fvImmediate>(); |
| GLfloat data[2][4 * 2] = {{0.0f}}; |
| - cmd.Init(1, 2, &data[0][0]); |
| + cmd.Init(1, 2, false, &data[0][0]); |
| EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| GetGLError()); |
| @@ -417,7 +454,113 @@ class GLES2DecoderTest2 : public GLES2DecoderTestBase { |
| *GetImmediateAs<cmds::UniformMatrix4x3fvImmediate>(); |
| GLfloat data[2][4 * 3] = {{0.0f}}; |
| - cmd.Init(1, 2, &data[0][0]); |
| + cmd.Init(1, 2, false, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix2f; |
| + cmds::UniformMatrix2fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); |
| + GLfloat data[2][2 * 2] = {{0.0f}}; |
| + |
| + cmd.Init(1, 2, true, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix3f; |
| + cmds::UniformMatrix3fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); |
| + GLfloat data[2][3 * 3] = {{0.0f}}; |
| + cmd.Init(1, 2, true, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix4f; |
| + cmds::UniformMatrix4fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); |
| + GLfloat data[2][4 * 4] = {{0.0f}}; |
| + cmd.Init(1, 2, true, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix2x3f; |
| + cmds::UniformMatrix2x3fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix2x3fvImmediate>(); |
| + GLfloat data[2][2 * 3] = {{0.0f}}; |
| + |
| + cmd.Init(1, 2, true, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix2x4f; |
| + cmds::UniformMatrix2x4fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix2x4fvImmediate>(); |
| + GLfloat data[2][2 * 4] = {{0.0f}}; |
| + |
| + cmd.Init(1, 2, true, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix3x2f; |
| + cmds::UniformMatrix3x2fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix3x2fvImmediate>(); |
| + GLfloat data[2][3 * 2] = {{0.0f}}; |
| + |
| + cmd.Init(1, 2, true, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix3x4f; |
| + cmds::UniformMatrix3x4fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix3x4fvImmediate>(); |
| + GLfloat data[2][3 * 4] = {{0.0f}}; |
| + |
| + cmd.Init(1, 2, true, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix4x2f; |
| + cmds::UniformMatrix4x2fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix4x2fvImmediate>(); |
| + GLfloat data[2][4 * 2] = {{0.0f}}; |
| + |
| + cmd.Init(1, 2, true, &data[0][0]); |
| + EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| + EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| + GetGLError()); |
| + } |
| + |
| + { |
| + valid_uniform = accepts_apis & Program::kUniformMatrix4x3f; |
| + cmds::UniformMatrix4x3fvImmediate& cmd = |
| + *GetImmediateAs<cmds::UniformMatrix4x3fvImmediate>(); |
| + GLfloat data[2][4 * 3] = {{0.0f}}; |
| + |
| + cmd.Init(1, 2, true, &data[0][0]); |
| EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); |
| EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, |
| GetGLError()); |