| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // This file is auto-generated from | 5 // This file is auto-generated from |
| 6 // gpu/command_buffer/build_gles2_cmd_buffer.py | 6 // gpu/command_buffer/build_gles2_cmd_buffer.py |
| 7 // It's formatted by clang-format using chromium coding style: | 7 // It's formatted by clang-format using chromium coding style: |
| 8 // clang-format -i -style=chromium filename | 8 // clang-format -i -style=chromium filename |
| 9 // DO NOT EDIT! | 9 // DO NOT EDIT! |
| 10 | 10 |
| 11 // It is included by gles2_cmd_decoder_unittest_2.cc | 11 // It is included by gles2_cmd_decoder_unittest_2.cc |
| 12 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 12 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
| 13 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 13 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
| 14 | 14 |
| 15 TEST_P(GLES2DecoderTest2, IsRenderbufferValidArgs) { | |
| 16 SpecializedSetup<cmds::IsRenderbuffer, 0>(true); | |
| 17 cmds::IsRenderbuffer cmd; | |
| 18 cmd.Init(client_renderbuffer_id_, shared_memory_id_, shared_memory_offset_); | |
| 19 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 20 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 21 } | |
| 22 | |
| 23 TEST_P(GLES2DecoderTest2, IsRenderbufferInvalidArgsBadSharedMemoryId) { | |
| 24 SpecializedSetup<cmds::IsRenderbuffer, 0>(false); | |
| 25 cmds::IsRenderbuffer cmd; | |
| 26 cmd.Init( | |
| 27 client_renderbuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); | |
| 28 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 29 cmd.Init( | |
| 30 client_renderbuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 31 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 32 } | |
| 33 | |
| 34 TEST_P(GLES2DecoderTest2, IsShaderValidArgs) { | |
| 35 SpecializedSetup<cmds::IsShader, 0>(true); | |
| 36 cmds::IsShader cmd; | |
| 37 cmd.Init(client_shader_id_, shared_memory_id_, shared_memory_offset_); | |
| 38 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 39 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 40 } | |
| 41 | |
| 42 TEST_P(GLES2DecoderTest2, IsShaderInvalidArgsBadSharedMemoryId) { | |
| 43 SpecializedSetup<cmds::IsShader, 0>(false); | |
| 44 cmds::IsShader cmd; | |
| 45 cmd.Init(client_shader_id_, kInvalidSharedMemoryId, shared_memory_offset_); | |
| 46 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 47 cmd.Init(client_shader_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 48 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 49 } | |
| 50 | |
| 51 TEST_P(GLES2DecoderTest2, IsTextureValidArgs) { | |
| 52 SpecializedSetup<cmds::IsTexture, 0>(true); | |
| 53 cmds::IsTexture cmd; | |
| 54 cmd.Init(client_texture_id_, shared_memory_id_, shared_memory_offset_); | |
| 55 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 56 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 57 } | |
| 58 | |
| 59 TEST_P(GLES2DecoderTest2, IsTextureInvalidArgsBadSharedMemoryId) { | |
| 60 SpecializedSetup<cmds::IsTexture, 0>(false); | |
| 61 cmds::IsTexture cmd; | |
| 62 cmd.Init(client_texture_id_, kInvalidSharedMemoryId, shared_memory_offset_); | |
| 63 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 64 cmd.Init(client_texture_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 65 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 66 } | |
| 67 | |
| 68 TEST_P(GLES2DecoderTest2, LineWidthValidArgs) { | |
| 69 EXPECT_CALL(*gl_, LineWidth(0.5f)); | |
| 70 SpecializedSetup<cmds::LineWidth, 0>(true); | |
| 71 cmds::LineWidth cmd; | |
| 72 cmd.Init(0.5f); | |
| 73 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 74 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 75 } | |
| 76 | |
| 77 TEST_P(GLES2DecoderTest2, LineWidthInvalidValue0_0) { | |
| 78 SpecializedSetup<cmds::LineWidth, 0>(false); | |
| 79 cmds::LineWidth cmd; | |
| 80 cmd.Init(0.0f); | |
| 81 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 82 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | |
| 83 } | |
| 84 | |
| 85 TEST_P(GLES2DecoderTest2, LinkProgramValidArgs) { | |
| 86 EXPECT_CALL(*gl_, LinkProgram(kServiceProgramId)); | |
| 87 SpecializedSetup<cmds::LinkProgram, 0>(true); | |
| 88 cmds::LinkProgram cmd; | |
| 89 cmd.Init(client_program_id_); | |
| 90 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 91 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 92 } | |
| 93 // TODO(gman): PixelStorei | |
| 94 | |
| 95 TEST_P(GLES2DecoderTest2, PolygonOffsetValidArgs) { | |
| 96 EXPECT_CALL(*gl_, PolygonOffset(1, 2)); | |
| 97 SpecializedSetup<cmds::PolygonOffset, 0>(true); | |
| 98 cmds::PolygonOffset cmd; | |
| 99 cmd.Init(1, 2); | |
| 100 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 101 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 102 } | |
| 103 // TODO(gman): ReadPixels | |
| 104 | |
| 105 // TODO(gman): ReleaseShaderCompiler | 15 // TODO(gman): ReleaseShaderCompiler |
| 106 | 16 |
| 107 TEST_P(GLES2DecoderTest2, RenderbufferStorageValidArgs) { | 17 TEST_P(GLES2DecoderTest2, RenderbufferStorageValidArgs) { |
| 108 SpecializedSetup<cmds::RenderbufferStorage, 0>(true); | 18 SpecializedSetup<cmds::RenderbufferStorage, 0>(true); |
| 109 cmds::RenderbufferStorage cmd; | 19 cmds::RenderbufferStorage cmd; |
| 110 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, 4); | 20 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, 4); |
| 111 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 21 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 112 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 22 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 113 } | 23 } |
| 114 | 24 |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 | 173 |
| 264 TEST_P(GLES2DecoderTest2, TexParameterfInvalidArgs1_0) { | 174 TEST_P(GLES2DecoderTest2, TexParameterfInvalidArgs1_0) { |
| 265 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 175 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
| 266 SpecializedSetup<cmds::TexParameterf, 0>(false); | 176 SpecializedSetup<cmds::TexParameterf, 0>(false); |
| 267 cmds::TexParameterf cmd; | 177 cmds::TexParameterf cmd; |
| 268 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); | 178 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); |
| 269 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 179 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 270 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 180 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 271 } | 181 } |
| 272 | 182 |
| 273 TEST_P(GLES2DecoderTest2, TexParameterfvValidArgs) { | |
| 274 SpecializedSetup<cmds::TexParameterfv, 0>(true); | |
| 275 cmds::TexParameterfv cmd; | |
| 276 cmd.Init(GL_TEXTURE_2D, | |
| 277 GL_TEXTURE_MAG_FILTER, | |
| 278 shared_memory_id_, | |
| 279 shared_memory_offset_); | |
| 280 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | |
| 281 EXPECT_CALL( | |
| 282 *gl_, | |
| 283 TexParameterf(GL_TEXTURE_2D, | |
| 284 GL_TEXTURE_MAG_FILTER, | |
| 285 *reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 286 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 287 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 288 } | |
| 289 | |
| 290 TEST_P(GLES2DecoderTest2, TexParameterfvInvalidArgs0_0) { | |
| 291 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | |
| 292 SpecializedSetup<cmds::TexParameterfv, 0>(false); | |
| 293 cmds::TexParameterfv cmd; | |
| 294 cmd.Init(GL_TEXTURE_1D, | |
| 295 GL_TEXTURE_MAG_FILTER, | |
| 296 shared_memory_id_, | |
| 297 shared_memory_offset_); | |
| 298 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | |
| 299 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 300 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | |
| 301 } | |
| 302 | |
| 303 TEST_P(GLES2DecoderTest2, TexParameterfvInvalidArgs0_1) { | |
| 304 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | |
| 305 SpecializedSetup<cmds::TexParameterfv, 0>(false); | |
| 306 cmds::TexParameterfv cmd; | |
| 307 cmd.Init(GL_TEXTURE_3D, | |
| 308 GL_TEXTURE_MAG_FILTER, | |
| 309 shared_memory_id_, | |
| 310 shared_memory_offset_); | |
| 311 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | |
| 312 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 313 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | |
| 314 } | |
| 315 | |
| 316 TEST_P(GLES2DecoderTest2, TexParameterfvInvalidArgs1_0) { | |
| 317 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | |
| 318 SpecializedSetup<cmds::TexParameterfv, 0>(false); | |
| 319 cmds::TexParameterfv cmd; | |
| 320 cmd.Init(GL_TEXTURE_2D, | |
| 321 GL_GENERATE_MIPMAP, | |
| 322 shared_memory_id_, | |
| 323 shared_memory_offset_); | |
| 324 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | |
| 325 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 326 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | |
| 327 } | |
| 328 | |
| 329 TEST_P(GLES2DecoderTest2, TexParameterfvInvalidArgs2_0) { | |
| 330 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | |
| 331 SpecializedSetup<cmds::TexParameterfv, 0>(false); | |
| 332 cmds::TexParameterfv cmd; | |
| 333 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); | |
| 334 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | |
| 335 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 336 } | |
| 337 | |
| 338 TEST_P(GLES2DecoderTest2, TexParameterfvInvalidArgs2_1) { | |
| 339 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | |
| 340 SpecializedSetup<cmds::TexParameterfv, 0>(false); | |
| 341 cmds::TexParameterfv cmd; | |
| 342 cmd.Init(GL_TEXTURE_2D, | |
| 343 GL_TEXTURE_MAG_FILTER, | |
| 344 shared_memory_id_, | |
| 345 kInvalidSharedMemoryOffset); | |
| 346 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | |
| 347 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 348 } | |
| 349 | |
| 350 TEST_P(GLES2DecoderTest2, TexParameterfvImmediateValidArgs) { | 183 TEST_P(GLES2DecoderTest2, TexParameterfvImmediateValidArgs) { |
| 351 cmds::TexParameterfvImmediate& cmd = | 184 cmds::TexParameterfvImmediate& cmd = |
| 352 *GetImmediateAs<cmds::TexParameterfvImmediate>(); | 185 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
| 353 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(true); | 186 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(true); |
| 354 GLfloat temp[1] = { | 187 GLfloat temp[1] = { |
| 355 GL_NEAREST, | 188 GL_NEAREST, |
| 356 }; | 189 }; |
| 357 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 190 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
| 358 EXPECT_CALL( | 191 EXPECT_CALL( |
| 359 *gl_, | 192 *gl_, |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 | 266 |
| 434 TEST_P(GLES2DecoderTest2, TexParameteriInvalidArgs1_0) { | 267 TEST_P(GLES2DecoderTest2, TexParameteriInvalidArgs1_0) { |
| 435 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 268 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
| 436 SpecializedSetup<cmds::TexParameteri, 0>(false); | 269 SpecializedSetup<cmds::TexParameteri, 0>(false); |
| 437 cmds::TexParameteri cmd; | 270 cmds::TexParameteri cmd; |
| 438 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); | 271 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); |
| 439 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 272 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 440 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 273 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
| 441 } | 274 } |
| 442 | 275 |
| 443 TEST_P(GLES2DecoderTest2, TexParameterivValidArgs) { | |
| 444 SpecializedSetup<cmds::TexParameteriv, 0>(true); | |
| 445 cmds::TexParameteriv cmd; | |
| 446 cmd.Init(GL_TEXTURE_2D, | |
| 447 GL_TEXTURE_MAG_FILTER, | |
| 448 shared_memory_id_, | |
| 449 shared_memory_offset_); | |
| 450 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | |
| 451 EXPECT_CALL( | |
| 452 *gl_, | |
| 453 TexParameteri(GL_TEXTURE_2D, | |
| 454 GL_TEXTURE_MAG_FILTER, | |
| 455 *reinterpret_cast<const GLint*>(shared_memory_address_))); | |
| 456 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 457 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 458 } | |
| 459 | |
| 460 TEST_P(GLES2DecoderTest2, TexParameterivInvalidArgs0_0) { | |
| 461 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | |
| 462 SpecializedSetup<cmds::TexParameteriv, 0>(false); | |
| 463 cmds::TexParameteriv cmd; | |
| 464 cmd.Init(GL_TEXTURE_1D, | |
| 465 GL_TEXTURE_MAG_FILTER, | |
| 466 shared_memory_id_, | |
| 467 shared_memory_offset_); | |
| 468 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | |
| 469 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 470 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | |
| 471 } | |
| 472 | |
| 473 TEST_P(GLES2DecoderTest2, TexParameterivInvalidArgs0_1) { | |
| 474 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | |
| 475 SpecializedSetup<cmds::TexParameteriv, 0>(false); | |
| 476 cmds::TexParameteriv cmd; | |
| 477 cmd.Init(GL_TEXTURE_3D, | |
| 478 GL_TEXTURE_MAG_FILTER, | |
| 479 shared_memory_id_, | |
| 480 shared_memory_offset_); | |
| 481 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | |
| 482 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 483 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | |
| 484 } | |
| 485 | |
| 486 TEST_P(GLES2DecoderTest2, TexParameterivInvalidArgs1_0) { | |
| 487 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | |
| 488 SpecializedSetup<cmds::TexParameteriv, 0>(false); | |
| 489 cmds::TexParameteriv cmd; | |
| 490 cmd.Init(GL_TEXTURE_2D, | |
| 491 GL_GENERATE_MIPMAP, | |
| 492 shared_memory_id_, | |
| 493 shared_memory_offset_); | |
| 494 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | |
| 495 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 496 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | |
| 497 } | |
| 498 | |
| 499 TEST_P(GLES2DecoderTest2, TexParameterivInvalidArgs2_0) { | |
| 500 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | |
| 501 SpecializedSetup<cmds::TexParameteriv, 0>(false); | |
| 502 cmds::TexParameteriv cmd; | |
| 503 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); | |
| 504 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | |
| 505 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 506 } | |
| 507 | |
| 508 TEST_P(GLES2DecoderTest2, TexParameterivInvalidArgs2_1) { | |
| 509 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | |
| 510 SpecializedSetup<cmds::TexParameteriv, 0>(false); | |
| 511 cmds::TexParameteriv cmd; | |
| 512 cmd.Init(GL_TEXTURE_2D, | |
| 513 GL_TEXTURE_MAG_FILTER, | |
| 514 shared_memory_id_, | |
| 515 kInvalidSharedMemoryOffset); | |
| 516 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | |
| 517 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 518 } | |
| 519 | |
| 520 TEST_P(GLES2DecoderTest2, TexParameterivImmediateValidArgs) { | 276 TEST_P(GLES2DecoderTest2, TexParameterivImmediateValidArgs) { |
| 521 cmds::TexParameterivImmediate& cmd = | 277 cmds::TexParameterivImmediate& cmd = |
| 522 *GetImmediateAs<cmds::TexParameterivImmediate>(); | 278 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
| 523 SpecializedSetup<cmds::TexParameterivImmediate, 0>(true); | 279 SpecializedSetup<cmds::TexParameterivImmediate, 0>(true); |
| 524 GLint temp[1] = { | 280 GLint temp[1] = { |
| 525 GL_NEAREST, | 281 GL_NEAREST, |
| 526 }; | 282 }; |
| 527 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 283 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
| 528 EXPECT_CALL( | 284 EXPECT_CALL( |
| 529 *gl_, | 285 *gl_, |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 576 | 332 |
| 577 TEST_P(GLES2DecoderTest2, Uniform1fValidArgs) { | 333 TEST_P(GLES2DecoderTest2, Uniform1fValidArgs) { |
| 578 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); | 334 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); |
| 579 SpecializedSetup<cmds::Uniform1f, 0>(true); | 335 SpecializedSetup<cmds::Uniform1f, 0>(true); |
| 580 cmds::Uniform1f cmd; | 336 cmds::Uniform1f cmd; |
| 581 cmd.Init(1, 2); | 337 cmd.Init(1, 2); |
| 582 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 338 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 583 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 339 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 584 } | 340 } |
| 585 | 341 |
| 586 TEST_P(GLES2DecoderTest2, Uniform1fvValidArgs) { | |
| 587 EXPECT_CALL( | |
| 588 *gl_, | |
| 589 Uniform1fv( | |
| 590 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 591 SpecializedSetup<cmds::Uniform1fv, 0>(true); | |
| 592 cmds::Uniform1fv cmd; | |
| 593 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | |
| 594 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 595 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 596 } | |
| 597 | |
| 598 TEST_P(GLES2DecoderTest2, Uniform1fvInvalidArgs1_0) { | |
| 599 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | |
| 600 SpecializedSetup<cmds::Uniform1fv, 0>(false); | |
| 601 cmds::Uniform1fv cmd; | |
| 602 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | |
| 603 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 604 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 605 } | |
| 606 | |
| 607 TEST_P(GLES2DecoderTest2, Uniform1fvInvalidArgs2_0) { | |
| 608 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | |
| 609 SpecializedSetup<cmds::Uniform1fv, 0>(false); | |
| 610 cmds::Uniform1fv cmd; | |
| 611 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | |
| 612 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 613 } | |
| 614 | |
| 615 TEST_P(GLES2DecoderTest2, Uniform1fvInvalidArgs2_1) { | |
| 616 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | |
| 617 SpecializedSetup<cmds::Uniform1fv, 0>(false); | |
| 618 cmds::Uniform1fv cmd; | |
| 619 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 620 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 621 } | |
| 622 | |
| 623 TEST_P(GLES2DecoderTest2, Uniform1fvValidArgsCountTooLarge) { | |
| 624 EXPECT_CALL( | |
| 625 *gl_, | |
| 626 Uniform1fv( | |
| 627 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 628 SpecializedSetup<cmds::Uniform1fv, 0>(true); | |
| 629 cmds::Uniform1fv cmd; | |
| 630 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | |
| 631 5, | |
| 632 shared_memory_id_, | |
| 633 shared_memory_offset_); | |
| 634 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 635 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 636 } | |
| 637 | |
| 638 TEST_P(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { | 342 TEST_P(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { |
| 639 cmds::Uniform1fvImmediate& cmd = *GetImmediateAs<cmds::Uniform1fvImmediate>(); | 343 cmds::Uniform1fvImmediate& cmd = *GetImmediateAs<cmds::Uniform1fvImmediate>(); |
| 640 EXPECT_CALL( | 344 EXPECT_CALL( |
| 641 *gl_, | 345 *gl_, |
| 642 Uniform1fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 346 Uniform1fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 643 SpecializedSetup<cmds::Uniform1fvImmediate, 0>(true); | 347 SpecializedSetup<cmds::Uniform1fvImmediate, 0>(true); |
| 644 GLfloat temp[1 * 2] = { | 348 GLfloat temp[1 * 2] = { |
| 645 0, | 349 0, |
| 646 }; | 350 }; |
| 647 cmd.Init(1, 2, &temp[0]); | 351 cmd.Init(1, 2, &temp[0]); |
| 648 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 352 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 649 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 353 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 650 } | 354 } |
| 651 // TODO(gman): Uniform1i | 355 // TODO(gman): Uniform1i |
| 652 // TODO(gman): Uniform1iv | |
| 653 // TODO(gman): Uniform1ivImmediate | 356 // TODO(gman): Uniform1ivImmediate |
| 654 | 357 |
| 655 TEST_P(GLES2DecoderTest2, Uniform2fValidArgs) { | 358 TEST_P(GLES2DecoderTest2, Uniform2fValidArgs) { |
| 656 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _)); | 359 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _)); |
| 657 SpecializedSetup<cmds::Uniform2f, 0>(true); | 360 SpecializedSetup<cmds::Uniform2f, 0>(true); |
| 658 cmds::Uniform2f cmd; | 361 cmds::Uniform2f cmd; |
| 659 cmd.Init(1, 2, 3); | 362 cmd.Init(1, 2, 3); |
| 660 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 363 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 661 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 364 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 662 } | 365 } |
| 663 | 366 |
| 664 TEST_P(GLES2DecoderTest2, Uniform2fvValidArgs) { | |
| 665 EXPECT_CALL( | |
| 666 *gl_, | |
| 667 Uniform2fv( | |
| 668 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 669 SpecializedSetup<cmds::Uniform2fv, 0>(true); | |
| 670 cmds::Uniform2fv cmd; | |
| 671 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | |
| 672 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 673 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 674 } | |
| 675 | |
| 676 TEST_P(GLES2DecoderTest2, Uniform2fvInvalidArgs1_0) { | |
| 677 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | |
| 678 SpecializedSetup<cmds::Uniform2fv, 0>(false); | |
| 679 cmds::Uniform2fv cmd; | |
| 680 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | |
| 681 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 682 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 683 } | |
| 684 | |
| 685 TEST_P(GLES2DecoderTest2, Uniform2fvInvalidArgs2_0) { | |
| 686 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | |
| 687 SpecializedSetup<cmds::Uniform2fv, 0>(false); | |
| 688 cmds::Uniform2fv cmd; | |
| 689 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | |
| 690 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 691 } | |
| 692 | |
| 693 TEST_P(GLES2DecoderTest2, Uniform2fvInvalidArgs2_1) { | |
| 694 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | |
| 695 SpecializedSetup<cmds::Uniform2fv, 0>(false); | |
| 696 cmds::Uniform2fv cmd; | |
| 697 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 698 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 699 } | |
| 700 | |
| 701 TEST_P(GLES2DecoderTest2, Uniform2fvValidArgsCountTooLarge) { | |
| 702 EXPECT_CALL( | |
| 703 *gl_, | |
| 704 Uniform2fv( | |
| 705 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 706 SpecializedSetup<cmds::Uniform2fv, 0>(true); | |
| 707 cmds::Uniform2fv cmd; | |
| 708 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | |
| 709 5, | |
| 710 shared_memory_id_, | |
| 711 shared_memory_offset_); | |
| 712 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 713 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 714 } | |
| 715 | |
| 716 TEST_P(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) { | 367 TEST_P(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) { |
| 717 cmds::Uniform2fvImmediate& cmd = *GetImmediateAs<cmds::Uniform2fvImmediate>(); | 368 cmds::Uniform2fvImmediate& cmd = *GetImmediateAs<cmds::Uniform2fvImmediate>(); |
| 718 EXPECT_CALL( | 369 EXPECT_CALL( |
| 719 *gl_, | 370 *gl_, |
| 720 Uniform2fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 371 Uniform2fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 721 SpecializedSetup<cmds::Uniform2fvImmediate, 0>(true); | 372 SpecializedSetup<cmds::Uniform2fvImmediate, 0>(true); |
| 722 GLfloat temp[2 * 2] = { | 373 GLfloat temp[2 * 2] = { |
| 723 0, | 374 0, |
| 724 }; | 375 }; |
| 725 cmd.Init(1, 2, &temp[0]); | 376 cmd.Init(1, 2, &temp[0]); |
| 726 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 377 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 727 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 378 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 728 } | 379 } |
| 729 | 380 |
| 730 TEST_P(GLES2DecoderTest2, Uniform2iValidArgs) { | 381 TEST_P(GLES2DecoderTest2, Uniform2iValidArgs) { |
| 731 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _)); | 382 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _)); |
| 732 SpecializedSetup<cmds::Uniform2i, 0>(true); | 383 SpecializedSetup<cmds::Uniform2i, 0>(true); |
| 733 cmds::Uniform2i cmd; | 384 cmds::Uniform2i cmd; |
| 734 cmd.Init(1, 2, 3); | 385 cmd.Init(1, 2, 3); |
| 735 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 386 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 736 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 387 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 737 } | 388 } |
| 738 | 389 |
| 739 TEST_P(GLES2DecoderTest2, Uniform2ivValidArgs) { | |
| 740 EXPECT_CALL( | |
| 741 *gl_, | |
| 742 Uniform2iv(1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | |
| 743 SpecializedSetup<cmds::Uniform2iv, 0>(true); | |
| 744 cmds::Uniform2iv cmd; | |
| 745 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | |
| 746 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 747 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 748 } | |
| 749 | |
| 750 TEST_P(GLES2DecoderTest2, Uniform2ivInvalidArgs1_0) { | |
| 751 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | |
| 752 SpecializedSetup<cmds::Uniform2iv, 0>(false); | |
| 753 cmds::Uniform2iv cmd; | |
| 754 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | |
| 755 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 756 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 757 } | |
| 758 | |
| 759 TEST_P(GLES2DecoderTest2, Uniform2ivInvalidArgs2_0) { | |
| 760 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | |
| 761 SpecializedSetup<cmds::Uniform2iv, 0>(false); | |
| 762 cmds::Uniform2iv cmd; | |
| 763 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | |
| 764 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 765 } | |
| 766 | |
| 767 TEST_P(GLES2DecoderTest2, Uniform2ivInvalidArgs2_1) { | |
| 768 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | |
| 769 SpecializedSetup<cmds::Uniform2iv, 0>(false); | |
| 770 cmds::Uniform2iv cmd; | |
| 771 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 772 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 773 } | |
| 774 | |
| 775 TEST_P(GLES2DecoderTest2, Uniform2ivValidArgsCountTooLarge) { | |
| 776 EXPECT_CALL( | |
| 777 *gl_, | |
| 778 Uniform2iv(3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | |
| 779 SpecializedSetup<cmds::Uniform2iv, 0>(true); | |
| 780 cmds::Uniform2iv cmd; | |
| 781 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | |
| 782 5, | |
| 783 shared_memory_id_, | |
| 784 shared_memory_offset_); | |
| 785 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 786 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 787 } | |
| 788 | |
| 789 TEST_P(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) { | 390 TEST_P(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) { |
| 790 cmds::Uniform2ivImmediate& cmd = *GetImmediateAs<cmds::Uniform2ivImmediate>(); | 391 cmds::Uniform2ivImmediate& cmd = *GetImmediateAs<cmds::Uniform2ivImmediate>(); |
| 791 EXPECT_CALL( | 392 EXPECT_CALL( |
| 792 *gl_, | 393 *gl_, |
| 793 Uniform2iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 394 Uniform2iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
| 794 SpecializedSetup<cmds::Uniform2ivImmediate, 0>(true); | 395 SpecializedSetup<cmds::Uniform2ivImmediate, 0>(true); |
| 795 GLint temp[2 * 2] = { | 396 GLint temp[2 * 2] = { |
| 796 0, | 397 0, |
| 797 }; | 398 }; |
| 798 cmd.Init(1, 2, &temp[0]); | 399 cmd.Init(1, 2, &temp[0]); |
| 799 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 400 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 800 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 401 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 801 } | 402 } |
| 802 | 403 |
| 803 TEST_P(GLES2DecoderTest2, Uniform3fValidArgs) { | 404 TEST_P(GLES2DecoderTest2, Uniform3fValidArgs) { |
| 804 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _)); | 405 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _)); |
| 805 SpecializedSetup<cmds::Uniform3f, 0>(true); | 406 SpecializedSetup<cmds::Uniform3f, 0>(true); |
| 806 cmds::Uniform3f cmd; | 407 cmds::Uniform3f cmd; |
| 807 cmd.Init(1, 2, 3, 4); | 408 cmd.Init(1, 2, 3, 4); |
| 808 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 409 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 809 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 410 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 810 } | 411 } |
| 811 | 412 |
| 812 TEST_P(GLES2DecoderTest2, Uniform3fvValidArgs) { | |
| 813 EXPECT_CALL( | |
| 814 *gl_, | |
| 815 Uniform3fv( | |
| 816 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 817 SpecializedSetup<cmds::Uniform3fv, 0>(true); | |
| 818 cmds::Uniform3fv cmd; | |
| 819 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | |
| 820 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 821 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 822 } | |
| 823 | |
| 824 TEST_P(GLES2DecoderTest2, Uniform3fvInvalidArgs1_0) { | |
| 825 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | |
| 826 SpecializedSetup<cmds::Uniform3fv, 0>(false); | |
| 827 cmds::Uniform3fv cmd; | |
| 828 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | |
| 829 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 830 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 831 } | |
| 832 | |
| 833 TEST_P(GLES2DecoderTest2, Uniform3fvInvalidArgs2_0) { | |
| 834 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | |
| 835 SpecializedSetup<cmds::Uniform3fv, 0>(false); | |
| 836 cmds::Uniform3fv cmd; | |
| 837 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | |
| 838 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 839 } | |
| 840 | |
| 841 TEST_P(GLES2DecoderTest2, Uniform3fvInvalidArgs2_1) { | |
| 842 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | |
| 843 SpecializedSetup<cmds::Uniform3fv, 0>(false); | |
| 844 cmds::Uniform3fv cmd; | |
| 845 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 846 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 847 } | |
| 848 | |
| 849 TEST_P(GLES2DecoderTest2, Uniform3fvValidArgsCountTooLarge) { | |
| 850 EXPECT_CALL( | |
| 851 *gl_, | |
| 852 Uniform3fv( | |
| 853 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 854 SpecializedSetup<cmds::Uniform3fv, 0>(true); | |
| 855 cmds::Uniform3fv cmd; | |
| 856 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | |
| 857 5, | |
| 858 shared_memory_id_, | |
| 859 shared_memory_offset_); | |
| 860 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 861 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 862 } | |
| 863 | |
| 864 TEST_P(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) { | 413 TEST_P(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) { |
| 865 cmds::Uniform3fvImmediate& cmd = *GetImmediateAs<cmds::Uniform3fvImmediate>(); | 414 cmds::Uniform3fvImmediate& cmd = *GetImmediateAs<cmds::Uniform3fvImmediate>(); |
| 866 EXPECT_CALL( | 415 EXPECT_CALL( |
| 867 *gl_, | 416 *gl_, |
| 868 Uniform3fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 417 Uniform3fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 869 SpecializedSetup<cmds::Uniform3fvImmediate, 0>(true); | 418 SpecializedSetup<cmds::Uniform3fvImmediate, 0>(true); |
| 870 GLfloat temp[3 * 2] = { | 419 GLfloat temp[3 * 2] = { |
| 871 0, | 420 0, |
| 872 }; | 421 }; |
| 873 cmd.Init(1, 2, &temp[0]); | 422 cmd.Init(1, 2, &temp[0]); |
| 874 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 423 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 875 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 424 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 876 } | 425 } |
| 877 | 426 |
| 878 TEST_P(GLES2DecoderTest2, Uniform3iValidArgs) { | 427 TEST_P(GLES2DecoderTest2, Uniform3iValidArgs) { |
| 879 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _)); | 428 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _)); |
| 880 SpecializedSetup<cmds::Uniform3i, 0>(true); | 429 SpecializedSetup<cmds::Uniform3i, 0>(true); |
| 881 cmds::Uniform3i cmd; | 430 cmds::Uniform3i cmd; |
| 882 cmd.Init(1, 2, 3, 4); | 431 cmd.Init(1, 2, 3, 4); |
| 883 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 432 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 884 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 433 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 885 } | 434 } |
| 886 | 435 |
| 887 TEST_P(GLES2DecoderTest2, Uniform3ivValidArgs) { | |
| 888 EXPECT_CALL( | |
| 889 *gl_, | |
| 890 Uniform3iv(1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | |
| 891 SpecializedSetup<cmds::Uniform3iv, 0>(true); | |
| 892 cmds::Uniform3iv cmd; | |
| 893 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | |
| 894 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 895 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 896 } | |
| 897 | |
| 898 TEST_P(GLES2DecoderTest2, Uniform3ivInvalidArgs1_0) { | |
| 899 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | |
| 900 SpecializedSetup<cmds::Uniform3iv, 0>(false); | |
| 901 cmds::Uniform3iv cmd; | |
| 902 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | |
| 903 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 904 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 905 } | |
| 906 | |
| 907 TEST_P(GLES2DecoderTest2, Uniform3ivInvalidArgs2_0) { | |
| 908 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | |
| 909 SpecializedSetup<cmds::Uniform3iv, 0>(false); | |
| 910 cmds::Uniform3iv cmd; | |
| 911 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | |
| 912 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 913 } | |
| 914 | |
| 915 TEST_P(GLES2DecoderTest2, Uniform3ivInvalidArgs2_1) { | |
| 916 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | |
| 917 SpecializedSetup<cmds::Uniform3iv, 0>(false); | |
| 918 cmds::Uniform3iv cmd; | |
| 919 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 920 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 921 } | |
| 922 | |
| 923 TEST_P(GLES2DecoderTest2, Uniform3ivValidArgsCountTooLarge) { | |
| 924 EXPECT_CALL( | |
| 925 *gl_, | |
| 926 Uniform3iv(3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | |
| 927 SpecializedSetup<cmds::Uniform3iv, 0>(true); | |
| 928 cmds::Uniform3iv cmd; | |
| 929 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | |
| 930 5, | |
| 931 shared_memory_id_, | |
| 932 shared_memory_offset_); | |
| 933 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 934 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 935 } | |
| 936 | |
| 937 TEST_P(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) { | 436 TEST_P(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) { |
| 938 cmds::Uniform3ivImmediate& cmd = *GetImmediateAs<cmds::Uniform3ivImmediate>(); | 437 cmds::Uniform3ivImmediate& cmd = *GetImmediateAs<cmds::Uniform3ivImmediate>(); |
| 939 EXPECT_CALL( | 438 EXPECT_CALL( |
| 940 *gl_, | 439 *gl_, |
| 941 Uniform3iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 440 Uniform3iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
| 942 SpecializedSetup<cmds::Uniform3ivImmediate, 0>(true); | 441 SpecializedSetup<cmds::Uniform3ivImmediate, 0>(true); |
| 943 GLint temp[3 * 2] = { | 442 GLint temp[3 * 2] = { |
| 944 0, | 443 0, |
| 945 }; | 444 }; |
| 946 cmd.Init(1, 2, &temp[0]); | 445 cmd.Init(1, 2, &temp[0]); |
| 947 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 446 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 948 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 447 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 949 } | 448 } |
| 950 | 449 |
| 951 TEST_P(GLES2DecoderTest2, Uniform4fValidArgs) { | 450 TEST_P(GLES2DecoderTest2, Uniform4fValidArgs) { |
| 952 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _)); | 451 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _)); |
| 953 SpecializedSetup<cmds::Uniform4f, 0>(true); | 452 SpecializedSetup<cmds::Uniform4f, 0>(true); |
| 954 cmds::Uniform4f cmd; | 453 cmds::Uniform4f cmd; |
| 955 cmd.Init(1, 2, 3, 4, 5); | 454 cmd.Init(1, 2, 3, 4, 5); |
| 956 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 455 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 957 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 456 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 958 } | 457 } |
| 959 | 458 |
| 960 TEST_P(GLES2DecoderTest2, Uniform4fvValidArgs) { | |
| 961 EXPECT_CALL( | |
| 962 *gl_, | |
| 963 Uniform4fv( | |
| 964 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 965 SpecializedSetup<cmds::Uniform4fv, 0>(true); | |
| 966 cmds::Uniform4fv cmd; | |
| 967 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | |
| 968 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 969 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 970 } | |
| 971 | |
| 972 TEST_P(GLES2DecoderTest2, Uniform4fvInvalidArgs1_0) { | |
| 973 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | |
| 974 SpecializedSetup<cmds::Uniform4fv, 0>(false); | |
| 975 cmds::Uniform4fv cmd; | |
| 976 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | |
| 977 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 978 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 979 } | |
| 980 | |
| 981 TEST_P(GLES2DecoderTest2, Uniform4fvInvalidArgs2_0) { | |
| 982 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | |
| 983 SpecializedSetup<cmds::Uniform4fv, 0>(false); | |
| 984 cmds::Uniform4fv cmd; | |
| 985 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | |
| 986 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 987 } | |
| 988 | |
| 989 TEST_P(GLES2DecoderTest2, Uniform4fvInvalidArgs2_1) { | |
| 990 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | |
| 991 SpecializedSetup<cmds::Uniform4fv, 0>(false); | |
| 992 cmds::Uniform4fv cmd; | |
| 993 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 994 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 995 } | |
| 996 | |
| 997 TEST_P(GLES2DecoderTest2, Uniform4fvValidArgsCountTooLarge) { | |
| 998 EXPECT_CALL( | |
| 999 *gl_, | |
| 1000 Uniform4fv( | |
| 1001 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1002 SpecializedSetup<cmds::Uniform4fv, 0>(true); | |
| 1003 cmds::Uniform4fv cmd; | |
| 1004 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | |
| 1005 5, | |
| 1006 shared_memory_id_, | |
| 1007 shared_memory_offset_); | |
| 1008 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1009 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1010 } | |
| 1011 | |
| 1012 TEST_P(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) { | 459 TEST_P(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) { |
| 1013 cmds::Uniform4fvImmediate& cmd = *GetImmediateAs<cmds::Uniform4fvImmediate>(); | 460 cmds::Uniform4fvImmediate& cmd = *GetImmediateAs<cmds::Uniform4fvImmediate>(); |
| 1014 EXPECT_CALL( | 461 EXPECT_CALL( |
| 1015 *gl_, | 462 *gl_, |
| 1016 Uniform4fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 463 Uniform4fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1017 SpecializedSetup<cmds::Uniform4fvImmediate, 0>(true); | 464 SpecializedSetup<cmds::Uniform4fvImmediate, 0>(true); |
| 1018 GLfloat temp[4 * 2] = { | 465 GLfloat temp[4 * 2] = { |
| 1019 0, | 466 0, |
| 1020 }; | 467 }; |
| 1021 cmd.Init(1, 2, &temp[0]); | 468 cmd.Init(1, 2, &temp[0]); |
| 1022 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 469 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1023 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 470 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1024 } | 471 } |
| 1025 | 472 |
| 1026 TEST_P(GLES2DecoderTest2, Uniform4iValidArgs) { | 473 TEST_P(GLES2DecoderTest2, Uniform4iValidArgs) { |
| 1027 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _)); | 474 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _)); |
| 1028 SpecializedSetup<cmds::Uniform4i, 0>(true); | 475 SpecializedSetup<cmds::Uniform4i, 0>(true); |
| 1029 cmds::Uniform4i cmd; | 476 cmds::Uniform4i cmd; |
| 1030 cmd.Init(1, 2, 3, 4, 5); | 477 cmd.Init(1, 2, 3, 4, 5); |
| 1031 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 478 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1032 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 479 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1033 } | 480 } |
| 1034 | 481 |
| 1035 TEST_P(GLES2DecoderTest2, Uniform4ivValidArgs) { | |
| 1036 EXPECT_CALL( | |
| 1037 *gl_, | |
| 1038 Uniform4iv(1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | |
| 1039 SpecializedSetup<cmds::Uniform4iv, 0>(true); | |
| 1040 cmds::Uniform4iv cmd; | |
| 1041 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | |
| 1042 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1043 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1044 } | |
| 1045 | |
| 1046 TEST_P(GLES2DecoderTest2, Uniform4ivInvalidArgs1_0) { | |
| 1047 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | |
| 1048 SpecializedSetup<cmds::Uniform4iv, 0>(false); | |
| 1049 cmds::Uniform4iv cmd; | |
| 1050 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | |
| 1051 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1052 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1053 } | |
| 1054 | |
| 1055 TEST_P(GLES2DecoderTest2, Uniform4ivInvalidArgs2_0) { | |
| 1056 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | |
| 1057 SpecializedSetup<cmds::Uniform4iv, 0>(false); | |
| 1058 cmds::Uniform4iv cmd; | |
| 1059 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | |
| 1060 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1061 } | |
| 1062 | |
| 1063 TEST_P(GLES2DecoderTest2, Uniform4ivInvalidArgs2_1) { | |
| 1064 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | |
| 1065 SpecializedSetup<cmds::Uniform4iv, 0>(false); | |
| 1066 cmds::Uniform4iv cmd; | |
| 1067 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 1068 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1069 } | |
| 1070 | |
| 1071 TEST_P(GLES2DecoderTest2, Uniform4ivValidArgsCountTooLarge) { | |
| 1072 EXPECT_CALL( | |
| 1073 *gl_, | |
| 1074 Uniform4iv(3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | |
| 1075 SpecializedSetup<cmds::Uniform4iv, 0>(true); | |
| 1076 cmds::Uniform4iv cmd; | |
| 1077 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | |
| 1078 5, | |
| 1079 shared_memory_id_, | |
| 1080 shared_memory_offset_); | |
| 1081 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1082 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1083 } | |
| 1084 | |
| 1085 TEST_P(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) { | 482 TEST_P(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) { |
| 1086 cmds::Uniform4ivImmediate& cmd = *GetImmediateAs<cmds::Uniform4ivImmediate>(); | 483 cmds::Uniform4ivImmediate& cmd = *GetImmediateAs<cmds::Uniform4ivImmediate>(); |
| 1087 EXPECT_CALL( | 484 EXPECT_CALL( |
| 1088 *gl_, | 485 *gl_, |
| 1089 Uniform4iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 486 Uniform4iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
| 1090 SpecializedSetup<cmds::Uniform4ivImmediate, 0>(true); | 487 SpecializedSetup<cmds::Uniform4ivImmediate, 0>(true); |
| 1091 GLint temp[4 * 2] = { | 488 GLint temp[4 * 2] = { |
| 1092 0, | 489 0, |
| 1093 }; | 490 }; |
| 1094 cmd.Init(1, 2, &temp[0]); | 491 cmd.Init(1, 2, &temp[0]); |
| 1095 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 492 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1096 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 493 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1097 } | 494 } |
| 1098 | 495 |
| 1099 TEST_P(GLES2DecoderTest2, UniformMatrix2fvValidArgs) { | |
| 1100 EXPECT_CALL(*gl_, | |
| 1101 UniformMatrix2fv( | |
| 1102 1, | |
| 1103 2, | |
| 1104 false, | |
| 1105 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1106 SpecializedSetup<cmds::UniformMatrix2fv, 0>(true); | |
| 1107 cmds::UniformMatrix2fv cmd; | |
| 1108 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | |
| 1109 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1110 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1111 } | |
| 1112 | |
| 1113 TEST_P(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs1_0) { | |
| 1114 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | |
| 1115 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); | |
| 1116 cmds::UniformMatrix2fv cmd; | |
| 1117 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | |
| 1118 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1119 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1120 } | |
| 1121 | |
| 1122 TEST_P(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_0) { | |
| 1123 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | |
| 1124 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); | |
| 1125 cmds::UniformMatrix2fv cmd; | |
| 1126 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | |
| 1127 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1128 } | |
| 1129 | |
| 1130 TEST_P(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_1) { | |
| 1131 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | |
| 1132 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); | |
| 1133 cmds::UniformMatrix2fv cmd; | |
| 1134 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 1135 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1136 } | |
| 1137 | |
| 1138 TEST_P(GLES2DecoderTest2, UniformMatrix2fvValidArgsCountTooLarge) { | |
| 1139 EXPECT_CALL(*gl_, | |
| 1140 UniformMatrix2fv( | |
| 1141 3, | |
| 1142 3, | |
| 1143 false, | |
| 1144 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1145 SpecializedSetup<cmds::UniformMatrix2fv, 0>(true); | |
| 1146 cmds::UniformMatrix2fv cmd; | |
| 1147 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | |
| 1148 5, | |
| 1149 shared_memory_id_, | |
| 1150 shared_memory_offset_); | |
| 1151 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1152 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1153 } | |
| 1154 | |
| 1155 TEST_P(GLES2DecoderTest2, UniformMatrix2fvImmediateValidArgs) { | 496 TEST_P(GLES2DecoderTest2, UniformMatrix2fvImmediateValidArgs) { |
| 1156 cmds::UniformMatrix2fvImmediate& cmd = | 497 cmds::UniformMatrix2fvImmediate& cmd = |
| 1157 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); | 498 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); |
| 1158 EXPECT_CALL( | 499 EXPECT_CALL( |
| 1159 *gl_, | 500 *gl_, |
| 1160 UniformMatrix2fv( | 501 UniformMatrix2fv( |
| 1161 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 502 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1162 SpecializedSetup<cmds::UniformMatrix2fvImmediate, 0>(true); | 503 SpecializedSetup<cmds::UniformMatrix2fvImmediate, 0>(true); |
| 1163 GLfloat temp[4 * 2] = { | 504 GLfloat temp[4 * 2] = { |
| 1164 0, | 505 0, |
| 1165 }; | 506 }; |
| 1166 cmd.Init(1, 2, &temp[0]); | 507 cmd.Init(1, 2, &temp[0]); |
| 1167 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 508 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1168 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 509 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1169 } | 510 } |
| 1170 | 511 |
| 1171 TEST_P(GLES2DecoderTest2, UniformMatrix3fvValidArgs) { | |
| 1172 EXPECT_CALL(*gl_, | |
| 1173 UniformMatrix3fv( | |
| 1174 1, | |
| 1175 2, | |
| 1176 false, | |
| 1177 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1178 SpecializedSetup<cmds::UniformMatrix3fv, 0>(true); | |
| 1179 cmds::UniformMatrix3fv cmd; | |
| 1180 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | |
| 1181 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1182 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1183 } | |
| 1184 | |
| 1185 TEST_P(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs1_0) { | |
| 1186 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | |
| 1187 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); | |
| 1188 cmds::UniformMatrix3fv cmd; | |
| 1189 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | |
| 1190 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1191 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1192 } | |
| 1193 | |
| 1194 TEST_P(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_0) { | |
| 1195 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | |
| 1196 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); | |
| 1197 cmds::UniformMatrix3fv cmd; | |
| 1198 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | |
| 1199 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1200 } | |
| 1201 | |
| 1202 TEST_P(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_1) { | |
| 1203 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | |
| 1204 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); | |
| 1205 cmds::UniformMatrix3fv cmd; | |
| 1206 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 1207 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1208 } | |
| 1209 | |
| 1210 TEST_P(GLES2DecoderTest2, UniformMatrix3fvValidArgsCountTooLarge) { | |
| 1211 EXPECT_CALL(*gl_, | |
| 1212 UniformMatrix3fv( | |
| 1213 3, | |
| 1214 3, | |
| 1215 false, | |
| 1216 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1217 SpecializedSetup<cmds::UniformMatrix3fv, 0>(true); | |
| 1218 cmds::UniformMatrix3fv cmd; | |
| 1219 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | |
| 1220 5, | |
| 1221 shared_memory_id_, | |
| 1222 shared_memory_offset_); | |
| 1223 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1224 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1225 } | |
| 1226 | |
| 1227 TEST_P(GLES2DecoderTest2, UniformMatrix3fvImmediateValidArgs) { | 512 TEST_P(GLES2DecoderTest2, UniformMatrix3fvImmediateValidArgs) { |
| 1228 cmds::UniformMatrix3fvImmediate& cmd = | 513 cmds::UniformMatrix3fvImmediate& cmd = |
| 1229 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); | 514 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); |
| 1230 EXPECT_CALL( | 515 EXPECT_CALL( |
| 1231 *gl_, | 516 *gl_, |
| 1232 UniformMatrix3fv( | 517 UniformMatrix3fv( |
| 1233 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 518 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1234 SpecializedSetup<cmds::UniformMatrix3fvImmediate, 0>(true); | 519 SpecializedSetup<cmds::UniformMatrix3fvImmediate, 0>(true); |
| 1235 GLfloat temp[9 * 2] = { | 520 GLfloat temp[9 * 2] = { |
| 1236 0, | 521 0, |
| 1237 }; | 522 }; |
| 1238 cmd.Init(1, 2, &temp[0]); | 523 cmd.Init(1, 2, &temp[0]); |
| 1239 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 524 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1240 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 525 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1241 } | 526 } |
| 1242 | 527 |
| 1243 TEST_P(GLES2DecoderTest2, UniformMatrix4fvValidArgs) { | |
| 1244 EXPECT_CALL(*gl_, | |
| 1245 UniformMatrix4fv( | |
| 1246 1, | |
| 1247 2, | |
| 1248 false, | |
| 1249 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1250 SpecializedSetup<cmds::UniformMatrix4fv, 0>(true); | |
| 1251 cmds::UniformMatrix4fv cmd; | |
| 1252 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | |
| 1253 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1254 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1255 } | |
| 1256 | |
| 1257 TEST_P(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs1_0) { | |
| 1258 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | |
| 1259 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); | |
| 1260 cmds::UniformMatrix4fv cmd; | |
| 1261 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | |
| 1262 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1263 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1264 } | |
| 1265 | |
| 1266 TEST_P(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_0) { | |
| 1267 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | |
| 1268 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); | |
| 1269 cmds::UniformMatrix4fv cmd; | |
| 1270 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | |
| 1271 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1272 } | |
| 1273 | |
| 1274 TEST_P(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_1) { | |
| 1275 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | |
| 1276 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); | |
| 1277 cmds::UniformMatrix4fv cmd; | |
| 1278 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 1279 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1280 } | |
| 1281 | |
| 1282 TEST_P(GLES2DecoderTest2, UniformMatrix4fvValidArgsCountTooLarge) { | |
| 1283 EXPECT_CALL(*gl_, | |
| 1284 UniformMatrix4fv( | |
| 1285 3, | |
| 1286 3, | |
| 1287 false, | |
| 1288 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1289 SpecializedSetup<cmds::UniformMatrix4fv, 0>(true); | |
| 1290 cmds::UniformMatrix4fv cmd; | |
| 1291 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | |
| 1292 5, | |
| 1293 shared_memory_id_, | |
| 1294 shared_memory_offset_); | |
| 1295 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1296 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1297 } | |
| 1298 | |
| 1299 TEST_P(GLES2DecoderTest2, UniformMatrix4fvImmediateValidArgs) { | 528 TEST_P(GLES2DecoderTest2, UniformMatrix4fvImmediateValidArgs) { |
| 1300 cmds::UniformMatrix4fvImmediate& cmd = | 529 cmds::UniformMatrix4fvImmediate& cmd = |
| 1301 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); | 530 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); |
| 1302 EXPECT_CALL( | 531 EXPECT_CALL( |
| 1303 *gl_, | 532 *gl_, |
| 1304 UniformMatrix4fv( | 533 UniformMatrix4fv( |
| 1305 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 534 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1306 SpecializedSetup<cmds::UniformMatrix4fvImmediate, 0>(true); | 535 SpecializedSetup<cmds::UniformMatrix4fvImmediate, 0>(true); |
| 1307 GLfloat temp[16 * 2] = { | 536 GLfloat temp[16 * 2] = { |
| 1308 0, | 537 0, |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1341 | 570 |
| 1342 TEST_P(GLES2DecoderTest2, VertexAttrib1fValidArgs) { | 571 TEST_P(GLES2DecoderTest2, VertexAttrib1fValidArgs) { |
| 1343 EXPECT_CALL(*gl_, VertexAttrib1f(1, 2)); | 572 EXPECT_CALL(*gl_, VertexAttrib1f(1, 2)); |
| 1344 SpecializedSetup<cmds::VertexAttrib1f, 0>(true); | 573 SpecializedSetup<cmds::VertexAttrib1f, 0>(true); |
| 1345 cmds::VertexAttrib1f cmd; | 574 cmds::VertexAttrib1f cmd; |
| 1346 cmd.Init(1, 2); | 575 cmd.Init(1, 2); |
| 1347 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 576 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1348 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 577 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1349 } | 578 } |
| 1350 | 579 |
| 1351 TEST_P(GLES2DecoderTest2, VertexAttrib1fvValidArgs) { | |
| 1352 SpecializedSetup<cmds::VertexAttrib1fv, 0>(true); | |
| 1353 cmds::VertexAttrib1fv cmd; | |
| 1354 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | |
| 1355 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1356 EXPECT_CALL(*gl_, | |
| 1357 VertexAttrib1fv( | |
| 1358 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1359 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1360 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1361 } | |
| 1362 | |
| 1363 TEST_P(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_0) { | |
| 1364 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); | |
| 1365 SpecializedSetup<cmds::VertexAttrib1fv, 0>(false); | |
| 1366 cmds::VertexAttrib1fv cmd; | |
| 1367 cmd.Init(1, kInvalidSharedMemoryId, 0); | |
| 1368 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1369 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1370 } | |
| 1371 | |
| 1372 TEST_P(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_1) { | |
| 1373 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); | |
| 1374 SpecializedSetup<cmds::VertexAttrib1fv, 0>(false); | |
| 1375 cmds::VertexAttrib1fv cmd; | |
| 1376 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 1377 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1378 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1379 } | |
| 1380 | |
| 1381 TEST_P(GLES2DecoderTest2, VertexAttrib1fvImmediateValidArgs) { | 580 TEST_P(GLES2DecoderTest2, VertexAttrib1fvImmediateValidArgs) { |
| 1382 cmds::VertexAttrib1fvImmediate& cmd = | 581 cmds::VertexAttrib1fvImmediate& cmd = |
| 1383 *GetImmediateAs<cmds::VertexAttrib1fvImmediate>(); | 582 *GetImmediateAs<cmds::VertexAttrib1fvImmediate>(); |
| 1384 SpecializedSetup<cmds::VertexAttrib1fvImmediate, 0>(true); | 583 SpecializedSetup<cmds::VertexAttrib1fvImmediate, 0>(true); |
| 1385 GLfloat temp[1] = { | 584 GLfloat temp[1] = { |
| 1386 0, | 585 0, |
| 1387 }; | 586 }; |
| 1388 cmd.Init(1, &temp[0]); | 587 cmd.Init(1, &temp[0]); |
| 1389 EXPECT_CALL(*gl_, | 588 EXPECT_CALL(*gl_, |
| 1390 VertexAttrib1fv( | 589 VertexAttrib1fv( |
| 1391 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 590 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1392 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 591 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1393 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 592 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1394 } | 593 } |
| 1395 | 594 |
| 1396 TEST_P(GLES2DecoderTest2, VertexAttrib2fValidArgs) { | 595 TEST_P(GLES2DecoderTest2, VertexAttrib2fValidArgs) { |
| 1397 EXPECT_CALL(*gl_, VertexAttrib2f(1, 2, 3)); | 596 EXPECT_CALL(*gl_, VertexAttrib2f(1, 2, 3)); |
| 1398 SpecializedSetup<cmds::VertexAttrib2f, 0>(true); | 597 SpecializedSetup<cmds::VertexAttrib2f, 0>(true); |
| 1399 cmds::VertexAttrib2f cmd; | 598 cmds::VertexAttrib2f cmd; |
| 1400 cmd.Init(1, 2, 3); | 599 cmd.Init(1, 2, 3); |
| 1401 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 600 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1402 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 601 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1403 } | 602 } |
| 1404 | 603 |
| 1405 TEST_P(GLES2DecoderTest2, VertexAttrib2fvValidArgs) { | |
| 1406 SpecializedSetup<cmds::VertexAttrib2fv, 0>(true); | |
| 1407 cmds::VertexAttrib2fv cmd; | |
| 1408 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | |
| 1409 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1410 EXPECT_CALL(*gl_, | |
| 1411 VertexAttrib2fv( | |
| 1412 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1413 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1414 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1415 } | |
| 1416 | |
| 1417 TEST_P(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_0) { | |
| 1418 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); | |
| 1419 SpecializedSetup<cmds::VertexAttrib2fv, 0>(false); | |
| 1420 cmds::VertexAttrib2fv cmd; | |
| 1421 cmd.Init(1, kInvalidSharedMemoryId, 0); | |
| 1422 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1423 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1424 } | |
| 1425 | |
| 1426 TEST_P(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_1) { | |
| 1427 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); | |
| 1428 SpecializedSetup<cmds::VertexAttrib2fv, 0>(false); | |
| 1429 cmds::VertexAttrib2fv cmd; | |
| 1430 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 1431 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1432 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1433 } | |
| 1434 | |
| 1435 TEST_P(GLES2DecoderTest2, VertexAttrib2fvImmediateValidArgs) { | 604 TEST_P(GLES2DecoderTest2, VertexAttrib2fvImmediateValidArgs) { |
| 1436 cmds::VertexAttrib2fvImmediate& cmd = | 605 cmds::VertexAttrib2fvImmediate& cmd = |
| 1437 *GetImmediateAs<cmds::VertexAttrib2fvImmediate>(); | 606 *GetImmediateAs<cmds::VertexAttrib2fvImmediate>(); |
| 1438 SpecializedSetup<cmds::VertexAttrib2fvImmediate, 0>(true); | 607 SpecializedSetup<cmds::VertexAttrib2fvImmediate, 0>(true); |
| 1439 GLfloat temp[2] = { | 608 GLfloat temp[2] = { |
| 1440 0, | 609 0, |
| 1441 }; | 610 }; |
| 1442 cmd.Init(1, &temp[0]); | 611 cmd.Init(1, &temp[0]); |
| 1443 EXPECT_CALL(*gl_, | 612 EXPECT_CALL(*gl_, |
| 1444 VertexAttrib2fv( | 613 VertexAttrib2fv( |
| 1445 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 614 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1446 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 615 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1447 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 616 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1448 } | 617 } |
| 1449 | 618 |
| 1450 TEST_P(GLES2DecoderTest2, VertexAttrib3fValidArgs) { | 619 TEST_P(GLES2DecoderTest2, VertexAttrib3fValidArgs) { |
| 1451 EXPECT_CALL(*gl_, VertexAttrib3f(1, 2, 3, 4)); | 620 EXPECT_CALL(*gl_, VertexAttrib3f(1, 2, 3, 4)); |
| 1452 SpecializedSetup<cmds::VertexAttrib3f, 0>(true); | 621 SpecializedSetup<cmds::VertexAttrib3f, 0>(true); |
| 1453 cmds::VertexAttrib3f cmd; | 622 cmds::VertexAttrib3f cmd; |
| 1454 cmd.Init(1, 2, 3, 4); | 623 cmd.Init(1, 2, 3, 4); |
| 1455 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 624 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1456 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 625 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1457 } | 626 } |
| 1458 | 627 |
| 1459 TEST_P(GLES2DecoderTest2, VertexAttrib3fvValidArgs) { | |
| 1460 SpecializedSetup<cmds::VertexAttrib3fv, 0>(true); | |
| 1461 cmds::VertexAttrib3fv cmd; | |
| 1462 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | |
| 1463 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1464 EXPECT_CALL(*gl_, | |
| 1465 VertexAttrib3fv( | |
| 1466 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1467 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1468 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1469 } | |
| 1470 | |
| 1471 TEST_P(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_0) { | |
| 1472 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); | |
| 1473 SpecializedSetup<cmds::VertexAttrib3fv, 0>(false); | |
| 1474 cmds::VertexAttrib3fv cmd; | |
| 1475 cmd.Init(1, kInvalidSharedMemoryId, 0); | |
| 1476 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1477 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1478 } | |
| 1479 | |
| 1480 TEST_P(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_1) { | |
| 1481 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); | |
| 1482 SpecializedSetup<cmds::VertexAttrib3fv, 0>(false); | |
| 1483 cmds::VertexAttrib3fv cmd; | |
| 1484 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 1485 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1486 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1487 } | |
| 1488 | |
| 1489 TEST_P(GLES2DecoderTest2, VertexAttrib3fvImmediateValidArgs) { | 628 TEST_P(GLES2DecoderTest2, VertexAttrib3fvImmediateValidArgs) { |
| 1490 cmds::VertexAttrib3fvImmediate& cmd = | 629 cmds::VertexAttrib3fvImmediate& cmd = |
| 1491 *GetImmediateAs<cmds::VertexAttrib3fvImmediate>(); | 630 *GetImmediateAs<cmds::VertexAttrib3fvImmediate>(); |
| 1492 SpecializedSetup<cmds::VertexAttrib3fvImmediate, 0>(true); | 631 SpecializedSetup<cmds::VertexAttrib3fvImmediate, 0>(true); |
| 1493 GLfloat temp[3] = { | 632 GLfloat temp[3] = { |
| 1494 0, | 633 0, |
| 1495 }; | 634 }; |
| 1496 cmd.Init(1, &temp[0]); | 635 cmd.Init(1, &temp[0]); |
| 1497 EXPECT_CALL(*gl_, | 636 EXPECT_CALL(*gl_, |
| 1498 VertexAttrib3fv( | 637 VertexAttrib3fv( |
| 1499 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 638 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
| 1500 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 639 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
| 1501 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 640 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1502 } | 641 } |
| 1503 | 642 |
| 1504 TEST_P(GLES2DecoderTest2, VertexAttrib4fValidArgs) { | 643 TEST_P(GLES2DecoderTest2, VertexAttrib4fValidArgs) { |
| 1505 EXPECT_CALL(*gl_, VertexAttrib4f(1, 2, 3, 4, 5)); | 644 EXPECT_CALL(*gl_, VertexAttrib4f(1, 2, 3, 4, 5)); |
| 1506 SpecializedSetup<cmds::VertexAttrib4f, 0>(true); | 645 SpecializedSetup<cmds::VertexAttrib4f, 0>(true); |
| 1507 cmds::VertexAttrib4f cmd; | 646 cmds::VertexAttrib4f cmd; |
| 1508 cmd.Init(1, 2, 3, 4, 5); | 647 cmd.Init(1, 2, 3, 4, 5); |
| 1509 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 648 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1510 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 649 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1511 } | 650 } |
| 1512 | 651 |
| 1513 TEST_P(GLES2DecoderTest2, VertexAttrib4fvValidArgs) { | |
| 1514 SpecializedSetup<cmds::VertexAttrib4fv, 0>(true); | |
| 1515 cmds::VertexAttrib4fv cmd; | |
| 1516 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | |
| 1517 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1518 EXPECT_CALL(*gl_, | |
| 1519 VertexAttrib4fv( | |
| 1520 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | |
| 1521 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
| 1522 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
| 1523 } | |
| 1524 | |
| 1525 TEST_P(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_0) { | |
| 1526 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); | |
| 1527 SpecializedSetup<cmds::VertexAttrib4fv, 0>(false); | |
| 1528 cmds::VertexAttrib4fv cmd; | |
| 1529 cmd.Init(1, kInvalidSharedMemoryId, 0); | |
| 1530 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1531 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1532 } | |
| 1533 | |
| 1534 TEST_P(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_1) { | |
| 1535 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); | |
| 1536 SpecializedSetup<cmds::VertexAttrib4fv, 0>(false); | |
| 1537 cmds::VertexAttrib4fv cmd; | |
| 1538 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | |
| 1539 GetSharedMemoryAs<GLfloat*>()[0] = 0; | |
| 1540 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | |
| 1541 } | |
| 1542 | |
| 1543 TEST_P(GLES2DecoderTest2, VertexAttrib4fvImmediateValidArgs) { | 652 TEST_P(GLES2DecoderTest2, VertexAttrib4fvImmediateValidArgs) { |
| 1544 cmds::VertexAttrib4fvImmediate& cmd = | 653 cmds::VertexAttrib4fvImmediate& cmd = |
| 1545 *GetImmediateAs<cmds::VertexAttrib4fvImmediate>(); | 654 *GetImmediateAs<cmds::VertexAttrib4fvImmediate>(); |
| 1546 SpecializedSetup<cmds::VertexAttrib4fvImmediate, 0>(true); | 655 SpecializedSetup<cmds::VertexAttrib4fvImmediate, 0>(true); |
| 1547 GLfloat temp[4] = { | 656 GLfloat temp[4] = { |
| 1548 0, | 657 0, |
| 1549 }; | 658 }; |
| 1550 cmd.Init(1, &temp[0]); | 659 cmd.Init(1, &temp[0]); |
| 1551 EXPECT_CALL(*gl_, | 660 EXPECT_CALL(*gl_, |
| 1552 VertexAttrib4fv( | 661 VertexAttrib4fv( |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1580 cmds::Viewport cmd; | 689 cmds::Viewport cmd; |
| 1581 cmd.Init(1, 2, 3, -1); | 690 cmd.Init(1, 2, 3, -1); |
| 1582 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 691 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1583 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 692 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 1584 } | 693 } |
| 1585 // TODO(gman): BlitFramebufferCHROMIUM | 694 // TODO(gman): BlitFramebufferCHROMIUM |
| 1586 // TODO(gman): RenderbufferStorageMultisampleCHROMIUM | 695 // TODO(gman): RenderbufferStorageMultisampleCHROMIUM |
| 1587 // TODO(gman): RenderbufferStorageMultisampleEXT | 696 // TODO(gman): RenderbufferStorageMultisampleEXT |
| 1588 // TODO(gman): FramebufferTexture2DMultisampleEXT | 697 // TODO(gman): FramebufferTexture2DMultisampleEXT |
| 1589 // TODO(gman): TexStorage2DEXT | 698 // TODO(gman): TexStorage2DEXT |
| 1590 // TODO(gman): GenQueriesEXT | |
| 1591 // TODO(gman): GenQueriesEXTImmediate | 699 // TODO(gman): GenQueriesEXTImmediate |
| 1592 // TODO(gman): DeleteQueriesEXT | |
| 1593 // TODO(gman): DeleteQueriesEXTImmediate | 700 // TODO(gman): DeleteQueriesEXTImmediate |
| 1594 // TODO(gman): BeginQueryEXT | 701 // TODO(gman): BeginQueryEXT |
| 1595 | 702 |
| 1596 // TODO(gman): EndQueryEXT | 703 // TODO(gman): EndQueryEXT |
| 1597 | 704 |
| 1598 // TODO(gman): InsertEventMarkerEXT | 705 // TODO(gman): InsertEventMarkerEXT |
| 1599 | 706 |
| 1600 // TODO(gman): PushGroupMarkerEXT | 707 // TODO(gman): PushGroupMarkerEXT |
| 1601 | 708 |
| 1602 TEST_P(GLES2DecoderTest2, PopGroupMarkerEXTValidArgs) { | 709 TEST_P(GLES2DecoderTest2, PopGroupMarkerEXTValidArgs) { |
| 1603 SpecializedSetup<cmds::PopGroupMarkerEXT, 0>(true); | 710 SpecializedSetup<cmds::PopGroupMarkerEXT, 0>(true); |
| 1604 cmds::PopGroupMarkerEXT cmd; | 711 cmds::PopGroupMarkerEXT cmd; |
| 1605 cmd.Init(); | 712 cmd.Init(); |
| 1606 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 713 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1607 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 714 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 1608 } | 715 } |
| 1609 // TODO(gman): GenVertexArraysOES | |
| 1610 // TODO(gman): GenVertexArraysOESImmediate | 716 // TODO(gman): GenVertexArraysOESImmediate |
| 1611 // TODO(gman): DeleteVertexArraysOES | |
| 1612 // TODO(gman): DeleteVertexArraysOESImmediate | 717 // TODO(gman): DeleteVertexArraysOESImmediate |
| 1613 // TODO(gman): IsVertexArrayOES | 718 // TODO(gman): IsVertexArrayOES |
| 1614 // TODO(gman): BindVertexArrayOES | 719 // TODO(gman): BindVertexArrayOES |
| 1615 // TODO(gman): SwapBuffers | 720 // TODO(gman): SwapBuffers |
| 1616 // TODO(gman): GetMaxValueInBufferCHROMIUM | 721 // TODO(gman): GetMaxValueInBufferCHROMIUM |
| 1617 // TODO(gman): GenSharedIdsCHROMIUM | 722 // TODO(gman): GenSharedIdsCHROMIUM |
| 1618 | 723 |
| 724 // TODO(gman): DeleteSharedIdsCHROMIUM |
| 725 |
| 726 // TODO(gman): RegisterSharedIdsCHROMIUM |
| 727 |
| 728 // TODO(gman): EnableFeatureCHROMIUM |
| 729 |
| 730 // TODO(gman): ResizeCHROMIUM |
| 731 // TODO(gman): GetRequestableExtensionsCHROMIUM |
| 732 |
| 733 // TODO(gman): RequestExtensionCHROMIUM |
| 734 |
| 735 // TODO(gman): GetMultipleIntegervCHROMIUM |
| 736 |
| 737 // TODO(gman): GetProgramInfoCHROMIUM |
| 738 |
| 739 // TODO(gman): GetTranslatedShaderSourceANGLE |
| 740 // TODO(gman): PostSubBufferCHROMIUM |
| 741 // TODO(gman): TexImageIOSurface2DCHROMIUM |
| 742 // TODO(gman): CopyTextureCHROMIUM |
| 743 // TODO(gman): DrawArraysInstancedANGLE |
| 744 // TODO(gman): DrawElementsInstancedANGLE |
| 745 // TODO(gman): VertexAttribDivisorANGLE |
| 746 // TODO(gman): GenMailboxCHROMIUM |
| 747 |
| 748 // TODO(gman): ProduceTextureCHROMIUMImmediate |
| 749 // TODO(gman): ConsumeTextureCHROMIUMImmediate |
| 750 // TODO(gman): BindUniformLocationCHROMIUM |
| 751 |
| 752 // TODO(gman): BindUniformLocationCHROMIUMBucket |
| 753 // TODO(gman): BindTexImage2DCHROMIUM |
| 754 // TODO(gman): ReleaseTexImage2DCHROMIUM |
| 755 // TODO(gman): TraceBeginCHROMIUM |
| 756 |
| 757 // TODO(gman): TraceEndCHROMIUM |
| 758 // TODO(gman): AsyncTexSubImage2DCHROMIUM |
| 759 |
| 760 // TODO(gman): AsyncTexImage2DCHROMIUM |
| 761 |
| 762 // TODO(gman): WaitAsyncTexImage2DCHROMIUM |
| 763 |
| 764 // TODO(gman): WaitAllAsyncTexImage2DCHROMIUM |
| 765 |
| 766 // TODO(gman): DiscardFramebufferEXTImmediate |
| 1619 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 767 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
| OLD | NEW |