Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1090)

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest_2.cc

Issue 1674573002: UniformMatrix* supports transpose is true in ES3 semantic (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove unused code and add more unittests Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "gpu/command_buffer/common/gles2_cmd_format.h" 9 #include "gpu/command_buffer/common/gles2_cmd_format.h"
10 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 10 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 EXPECT_CALL(*gl_, Uniform3fv(1, _, _)).Times(AnyNumber()); 59 EXPECT_CALL(*gl_, Uniform3fv(1, _, _)).Times(AnyNumber());
60 EXPECT_CALL(*gl_, Uniform4fv(1, _, _)).Times(AnyNumber()); 60 EXPECT_CALL(*gl_, Uniform4fv(1, _, _)).Times(AnyNumber());
61 EXPECT_CALL(*gl_, UniformMatrix2fv(1, _, _, _)).Times(AnyNumber()); 61 EXPECT_CALL(*gl_, UniformMatrix2fv(1, _, _, _)).Times(AnyNumber());
62 EXPECT_CALL(*gl_, UniformMatrix3fv(1, _, _, _)).Times(AnyNumber()); 62 EXPECT_CALL(*gl_, UniformMatrix3fv(1, _, _, _)).Times(AnyNumber());
63 EXPECT_CALL(*gl_, UniformMatrix4fv(1, _, _, _)).Times(AnyNumber()); 63 EXPECT_CALL(*gl_, UniformMatrix4fv(1, _, _, _)).Times(AnyNumber());
64 if (es3_enabled) { 64 if (es3_enabled) {
65 EXPECT_CALL(*gl_, Uniform1uiv(1, _, _)).Times(AnyNumber()); 65 EXPECT_CALL(*gl_, Uniform1uiv(1, _, _)).Times(AnyNumber());
66 EXPECT_CALL(*gl_, Uniform2uiv(1, _, _)).Times(AnyNumber()); 66 EXPECT_CALL(*gl_, Uniform2uiv(1, _, _)).Times(AnyNumber());
67 EXPECT_CALL(*gl_, Uniform3uiv(1, _, _)).Times(AnyNumber()); 67 EXPECT_CALL(*gl_, Uniform3uiv(1, _, _)).Times(AnyNumber());
68 EXPECT_CALL(*gl_, Uniform4uiv(1, _, _)).Times(AnyNumber()); 68 EXPECT_CALL(*gl_, Uniform4uiv(1, _, _)).Times(AnyNumber());
69 EXPECT_CALL(*gl_, UniformMatrix2fv(1, _, _, _)).Times(AnyNumber());
70 EXPECT_CALL(*gl_, UniformMatrix3fv(1, _, _, _)).Times(AnyNumber());
71 EXPECT_CALL(*gl_, UniformMatrix4fv(1, _, _, _)).Times(AnyNumber());
69 EXPECT_CALL(*gl_, UniformMatrix2x3fv(1, _, _, _)).Times(AnyNumber()); 72 EXPECT_CALL(*gl_, UniformMatrix2x3fv(1, _, _, _)).Times(AnyNumber());
70 EXPECT_CALL(*gl_, UniformMatrix2x4fv(1, _, _, _)).Times(AnyNumber()); 73 EXPECT_CALL(*gl_, UniformMatrix2x4fv(1, _, _, _)).Times(AnyNumber());
71 EXPECT_CALL(*gl_, UniformMatrix3x2fv(1, _, _, _)).Times(AnyNumber()); 74 EXPECT_CALL(*gl_, UniformMatrix3x2fv(1, _, _, _)).Times(AnyNumber());
72 EXPECT_CALL(*gl_, UniformMatrix3x4fv(1, _, _, _)).Times(AnyNumber()); 75 EXPECT_CALL(*gl_, UniformMatrix3x4fv(1, _, _, _)).Times(AnyNumber());
73 EXPECT_CALL(*gl_, UniformMatrix4x2fv(1, _, _, _)).Times(AnyNumber()); 76 EXPECT_CALL(*gl_, UniformMatrix4x2fv(1, _, _, _)).Times(AnyNumber());
74 EXPECT_CALL(*gl_, UniformMatrix4x3fv(1, _, _, _)).Times(AnyNumber()); 77 EXPECT_CALL(*gl_, UniformMatrix4x3fv(1, _, _, _)).Times(AnyNumber());
75 } 78 }
76 79
77 { 80 {
78 valid_uniform = accepts_apis & Program::kUniform1i; 81 valid_uniform = accepts_apis & Program::kUniform1i;
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 238 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
236 GetGLError()); 239 GetGLError());
237 } 240 }
238 241
239 { 242 {
240 valid_uniform = accepts_apis & Program::kUniformMatrix2f; 243 valid_uniform = accepts_apis & Program::kUniformMatrix2f;
241 cmds::UniformMatrix2fvImmediate& cmd = 244 cmds::UniformMatrix2fvImmediate& cmd =
242 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); 245 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>();
243 GLfloat data[2][2 * 2] = {{0.0f}}; 246 GLfloat data[2][2 * 2] = {{0.0f}};
244 247
245 cmd.Init(1, 2, &data[0][0]); 248 cmd.Init(1, 2, false, &data[0][0]);
246 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); 249 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
247 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 250 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
248 GetGLError()); 251 GetGLError());
249 } 252 }
250 253
251 { 254 {
252 valid_uniform = accepts_apis & Program::kUniformMatrix3f; 255 valid_uniform = accepts_apis & Program::kUniformMatrix3f;
253 cmds::UniformMatrix3fvImmediate& cmd = 256 cmds::UniformMatrix3fvImmediate& cmd =
254 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); 257 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>();
255 GLfloat data[2][3 * 3] = {{0.0f}}; 258 GLfloat data[2][3 * 3] = {{0.0f}};
256 cmd.Init(1, 2, &data[0][0]); 259 cmd.Init(1, 2, false, &data[0][0]);
257 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); 260 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
258 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 261 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
259 GetGLError()); 262 GetGLError());
260 } 263 }
261 264
262 { 265 {
263 valid_uniform = accepts_apis & Program::kUniformMatrix4f; 266 valid_uniform = accepts_apis & Program::kUniformMatrix4f;
264 cmds::UniformMatrix4fvImmediate& cmd = 267 cmds::UniformMatrix4fvImmediate& cmd =
265 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); 268 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>();
266 GLfloat data[2][4 * 4] = {{0.0f}}; 269 GLfloat data[2][4 * 4] = {{0.0f}};
267 cmd.Init(1, 2, &data[0][0]); 270 cmd.Init(1, 2, false, &data[0][0]);
268 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); 271 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
269 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 272 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
270 GetGLError()); 273 GetGLError());
271 } 274 }
272 275
276 if (!es3_enabled) {
277 {
278 valid_uniform = accepts_apis & Program::kUniformMatrix2f;
279 cmds::UniformMatrix2fvImmediate& cmd =
280 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>();
281 GLfloat data[2][2 * 2] = {{0.0f}};
282
283 cmd.Init(1, 2, true, &data[0][0]);
284 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
285 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
286 }
287
288 {
289 valid_uniform = accepts_apis & Program::kUniformMatrix3f;
290 cmds::UniformMatrix3fvImmediate& cmd =
291 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>();
292 GLfloat data[2][3 * 3] = {{0.0f}};
293 cmd.Init(1, 2, true, &data[0][0]);
294 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
295 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
296 }
297
298 {
299 valid_uniform = accepts_apis & Program::kUniformMatrix4f;
300 cmds::UniformMatrix4fvImmediate& cmd =
301 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>();
302 GLfloat data[2][4 * 4] = {{0.0f}};
303 cmd.Init(1, 2, true, &data[0][0]);
304 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
305 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
306 }
307 }
308
273 if (es3_enabled) { 309 if (es3_enabled) {
274 { 310 {
275 valid_uniform = accepts_apis & Program::kUniform1ui; 311 valid_uniform = accepts_apis & Program::kUniform1ui;
276 cmds::Uniform1ui cmd; 312 cmds::Uniform1ui cmd;
277 cmd.Init(1, 2); 313 cmd.Init(1, 2);
278 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 314 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
279 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 315 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
280 GetGLError()); 316 GetGLError());
281 } 317 }
282 318
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 386 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
351 GetGLError()); 387 GetGLError());
352 } 388 }
353 389
354 { 390 {
355 valid_uniform = accepts_apis & Program::kUniformMatrix2x3f; 391 valid_uniform = accepts_apis & Program::kUniformMatrix2x3f;
356 cmds::UniformMatrix2x3fvImmediate& cmd = 392 cmds::UniformMatrix2x3fvImmediate& cmd =
357 *GetImmediateAs<cmds::UniformMatrix2x3fvImmediate>(); 393 *GetImmediateAs<cmds::UniformMatrix2x3fvImmediate>();
358 GLfloat data[2][2 * 3] = {{0.0f}}; 394 GLfloat data[2][2 * 3] = {{0.0f}};
359 395
360 cmd.Init(1, 2, &data[0][0]); 396 cmd.Init(1, 2, false, &data[0][0]);
361 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); 397 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
362 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 398 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
363 GetGLError()); 399 GetGLError());
364 } 400 }
365 401
366 { 402 {
367 valid_uniform = accepts_apis & Program::kUniformMatrix2x4f; 403 valid_uniform = accepts_apis & Program::kUniformMatrix2x4f;
368 cmds::UniformMatrix2x4fvImmediate& cmd = 404 cmds::UniformMatrix2x4fvImmediate& cmd =
369 *GetImmediateAs<cmds::UniformMatrix2x4fvImmediate>(); 405 *GetImmediateAs<cmds::UniformMatrix2x4fvImmediate>();
370 GLfloat data[2][2 * 4] = {{0.0f}}; 406 GLfloat data[2][2 * 4] = {{0.0f}};
371 407
372 cmd.Init(1, 2, &data[0][0]); 408 cmd.Init(1, 2, false, &data[0][0]);
373 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); 409 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
374 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 410 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
375 GetGLError()); 411 GetGLError());
376 } 412 }
377 413
378 { 414 {
379 valid_uniform = accepts_apis & Program::kUniformMatrix3x2f; 415 valid_uniform = accepts_apis & Program::kUniformMatrix3x2f;
380 cmds::UniformMatrix3x2fvImmediate& cmd = 416 cmds::UniformMatrix3x2fvImmediate& cmd =
381 *GetImmediateAs<cmds::UniformMatrix3x2fvImmediate>(); 417 *GetImmediateAs<cmds::UniformMatrix3x2fvImmediate>();
382 GLfloat data[2][3 * 2] = {{0.0f}}; 418 GLfloat data[2][3 * 2] = {{0.0f}};
383 419
384 cmd.Init(1, 2, &data[0][0]); 420 cmd.Init(1, 2, false, &data[0][0]);
385 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); 421 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
386 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 422 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
387 GetGLError()); 423 GetGLError());
388 } 424 }
389 425
390 { 426 {
391 valid_uniform = accepts_apis & Program::kUniformMatrix3x4f; 427 valid_uniform = accepts_apis & Program::kUniformMatrix3x4f;
392 cmds::UniformMatrix3x4fvImmediate& cmd = 428 cmds::UniformMatrix3x4fvImmediate& cmd =
393 *GetImmediateAs<cmds::UniformMatrix3x4fvImmediate>(); 429 *GetImmediateAs<cmds::UniformMatrix3x4fvImmediate>();
394 GLfloat data[2][3 * 4] = {{0.0f}}; 430 GLfloat data[2][3 * 4] = {{0.0f}};
395 431
396 cmd.Init(1, 2, &data[0][0]); 432 cmd.Init(1, 2, false, &data[0][0]);
397 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); 433 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
398 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 434 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
399 GetGLError()); 435 GetGLError());
400 } 436 }
401 437
402 { 438 {
403 valid_uniform = accepts_apis & Program::kUniformMatrix4x2f; 439 valid_uniform = accepts_apis & Program::kUniformMatrix4x2f;
404 cmds::UniformMatrix4x2fvImmediate& cmd = 440 cmds::UniformMatrix4x2fvImmediate& cmd =
405 *GetImmediateAs<cmds::UniformMatrix4x2fvImmediate>(); 441 *GetImmediateAs<cmds::UniformMatrix4x2fvImmediate>();
406 GLfloat data[2][4 * 2] = {{0.0f}}; 442 GLfloat data[2][4 * 2] = {{0.0f}};
407 443
408 cmd.Init(1, 2, &data[0][0]); 444 cmd.Init(1, 2, false, &data[0][0]);
409 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); 445 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
410 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 446 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
411 GetGLError()); 447 GetGLError());
412 } 448 }
413 449
414 { 450 {
415 valid_uniform = accepts_apis & Program::kUniformMatrix4x3f; 451 valid_uniform = accepts_apis & Program::kUniformMatrix4x3f;
416 cmds::UniformMatrix4x3fvImmediate& cmd = 452 cmds::UniformMatrix4x3fvImmediate& cmd =
417 *GetImmediateAs<cmds::UniformMatrix4x3fvImmediate>(); 453 *GetImmediateAs<cmds::UniformMatrix4x3fvImmediate>();
418 GLfloat data[2][4 * 3] = {{0.0f}}; 454 GLfloat data[2][4 * 3] = {{0.0f}};
419 455
420 cmd.Init(1, 2, &data[0][0]); 456 cmd.Init(1, 2, false, &data[0][0]);
421 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data))); 457 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
422 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION, 458 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
423 GetGLError()); 459 GetGLError());
460 }
461
462 {
463 valid_uniform = accepts_apis & Program::kUniformMatrix2f;
464 cmds::UniformMatrix2fvImmediate& cmd =
465 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>();
466 GLfloat data[2][2 * 2] = {{0.0f}};
467
468 cmd.Init(1, 2, true, &data[0][0]);
469 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
470 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
471 GetGLError());
472 }
473
474 {
475 valid_uniform = accepts_apis & Program::kUniformMatrix3f;
476 cmds::UniformMatrix3fvImmediate& cmd =
477 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>();
478 GLfloat data[2][3 * 3] = {{0.0f}};
479 cmd.Init(1, 2, true, &data[0][0]);
480 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
481 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
482 GetGLError());
483 }
484
485 {
486 valid_uniform = accepts_apis & Program::kUniformMatrix4f;
487 cmds::UniformMatrix4fvImmediate& cmd =
488 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>();
489 GLfloat data[2][4 * 4] = {{0.0f}};
490 cmd.Init(1, 2, true, &data[0][0]);
491 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
492 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
493 GetGLError());
494 }
495
496 {
497 valid_uniform = accepts_apis & Program::kUniformMatrix2x3f;
498 cmds::UniformMatrix2x3fvImmediate& cmd =
499 *GetImmediateAs<cmds::UniformMatrix2x3fvImmediate>();
500 GLfloat data[2][2 * 3] = {{0.0f}};
501
502 cmd.Init(1, 2, true, &data[0][0]);
503 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
504 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
505 GetGLError());
506 }
507
508 {
509 valid_uniform = accepts_apis & Program::kUniformMatrix2x4f;
510 cmds::UniformMatrix2x4fvImmediate& cmd =
511 *GetImmediateAs<cmds::UniformMatrix2x4fvImmediate>();
512 GLfloat data[2][2 * 4] = {{0.0f}};
513
514 cmd.Init(1, 2, true, &data[0][0]);
515 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
516 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
517 GetGLError());
518 }
519
520 {
521 valid_uniform = accepts_apis & Program::kUniformMatrix3x2f;
522 cmds::UniformMatrix3x2fvImmediate& cmd =
523 *GetImmediateAs<cmds::UniformMatrix3x2fvImmediate>();
524 GLfloat data[2][3 * 2] = {{0.0f}};
525
526 cmd.Init(1, 2, true, &data[0][0]);
527 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
528 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
529 GetGLError());
530 }
531
532 {
533 valid_uniform = accepts_apis & Program::kUniformMatrix3x4f;
534 cmds::UniformMatrix3x4fvImmediate& cmd =
535 *GetImmediateAs<cmds::UniformMatrix3x4fvImmediate>();
536 GLfloat data[2][3 * 4] = {{0.0f}};
537
538 cmd.Init(1, 2, true, &data[0][0]);
539 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
540 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
541 GetGLError());
542 }
543
544 {
545 valid_uniform = accepts_apis & Program::kUniformMatrix4x2f;
546 cmds::UniformMatrix4x2fvImmediate& cmd =
547 *GetImmediateAs<cmds::UniformMatrix4x2fvImmediate>();
548 GLfloat data[2][4 * 2] = {{0.0f}};
549
550 cmd.Init(1, 2, true, &data[0][0]);
551 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
552 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
553 GetGLError());
554 }
555
556 {
557 valid_uniform = accepts_apis & Program::kUniformMatrix4x3f;
558 cmds::UniformMatrix4x3fvImmediate& cmd =
559 *GetImmediateAs<cmds::UniformMatrix4x3fvImmediate>();
560 GLfloat data[2][4 * 3] = {{0.0f}};
561
562 cmd.Init(1, 2, true, &data[0][0]);
563 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(data)));
564 EXPECT_EQ(valid_uniform ? GL_NO_ERROR : GL_INVALID_OPERATION,
565 GetGLError());
424 } 566 }
425 } 567 }
426 } 568 }
427 }; 569 };
428 570
429 INSTANTIATE_TEST_CASE_P(Service, GLES2DecoderTest2, ::testing::Bool()); 571 INSTANTIATE_TEST_CASE_P(Service, GLES2DecoderTest2, ::testing::Bool());
430 572
431 template <> 573 template <>
432 void GLES2DecoderTestBase::SpecializedSetup<cmds::GetProgramInfoLog, 0>( 574 void GLES2DecoderTestBase::SpecializedSetup<cmds::GetProgramInfoLog, 0>(
433 bool /* valid */) { 575 bool /* valid */) {
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 TestAcceptedUniform(GL_FLOAT_MAT4x2, Program::kUniformMatrix4x2f, true); 1048 TestAcceptedUniform(GL_FLOAT_MAT4x2, Program::kUniformMatrix4x2f, true);
907 } 1049 }
908 1050
909 TEST_P(GLES2DecoderTest2, AcceptsUniform_GL_FLOAT_MAT4x3) { 1051 TEST_P(GLES2DecoderTest2, AcceptsUniform_GL_FLOAT_MAT4x3) {
910 TestAcceptedUniform(GL_FLOAT_MAT4x3, Program::kUniformMatrix4x3f, true); 1052 TestAcceptedUniform(GL_FLOAT_MAT4x3, Program::kUniformMatrix4x3f, true);
911 } 1053 }
912 1054
913 } // namespace gles2 1055 } // namespace gles2
914 } // namespace gpu 1056 } // namespace gpu
915 1057
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder.cc ('k') | gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698