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

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

Issue 1302233003: Replace gmock's deprecated SetArgumentPointee with SetArgPointee. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 2017 Created 3 years, 7 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/test_helper.h" 5 #include "gpu/command_buffer/service/test_helper.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 15 matching lines...) Expand all
26 #include "ui/gl/gl_version_info.h" 26 #include "ui/gl/gl_version_info.h"
27 27
28 using ::testing::_; 28 using ::testing::_;
29 using ::testing::DoAll; 29 using ::testing::DoAll;
30 using ::testing::InSequence; 30 using ::testing::InSequence;
31 using ::testing::MatcherCast; 31 using ::testing::MatcherCast;
32 using ::testing::Pointee; 32 using ::testing::Pointee;
33 using ::testing::NotNull; 33 using ::testing::NotNull;
34 using ::testing::Return; 34 using ::testing::Return;
35 using ::testing::SetArrayArgument; 35 using ::testing::SetArrayArgument;
36 using ::testing::SetArgumentPointee; 36 using ::testing::SetArgPointee;
37 using ::testing::SetArgPointee; 37 using ::testing::SetArgPointee;
38 using ::testing::StrEq; 38 using ::testing::StrEq;
39 using ::testing::StrictMock; 39 using ::testing::StrictMock;
40 40
41 namespace gpu { 41 namespace gpu {
42 namespace gles2 { 42 namespace gles2 {
43 43
44 namespace { 44 namespace {
45 45
46 template<typename T> 46 template<typename T>
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 InSequence sequence; 344 InSequence sequence;
345 345
346 bool enable_es3 = !(context_type == CONTEXT_TYPE_OPENGLES2 || 346 bool enable_es3 = !(context_type == CONTEXT_TYPE_OPENGLES2 ||
347 context_type == CONTEXT_TYPE_WEBGL1); 347 context_type == CONTEXT_TYPE_WEBGL1);
348 348
349 gl::GLVersionInfo gl_info(gl_version, "", extensions); 349 gl::GLVersionInfo gl_info(gl_version, "", extensions);
350 350
351 SetupFeatureInfoInitExpectationsWithGLVersion(gl, extensions, "", gl_version, 351 SetupFeatureInfoInitExpectationsWithGLVersion(gl, extensions, "", gl_version,
352 context_type); 352 context_type);
353 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_RENDERBUFFER_SIZE, _)) 353 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_RENDERBUFFER_SIZE, _))
354 .WillOnce(SetArgumentPointee<1>(kMaxRenderbufferSize)) 354 .WillOnce(SetArgPointee<1>(kMaxRenderbufferSize))
355 .RetiresOnSaturation(); 355 .RetiresOnSaturation();
356 if (strstr(extensions, "GL_EXT_framebuffer_multisample") || 356 if (strstr(extensions, "GL_EXT_framebuffer_multisample") ||
357 strstr(extensions, "GL_EXT_multisampled_render_to_texture") || 357 strstr(extensions, "GL_EXT_multisampled_render_to_texture") ||
358 gl_info.is_es3 || gl_info.is_desktop_core_profile) { 358 gl_info.is_es3 || gl_info.is_desktop_core_profile) {
359 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_SAMPLES, _)) 359 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_SAMPLES, _))
360 .WillOnce(SetArgumentPointee<1>(kMaxSamples)) 360 .WillOnce(SetArgPointee<1>(kMaxSamples))
361 .RetiresOnSaturation(); 361 .RetiresOnSaturation();
362 } else if (strstr(extensions, "GL_IMG_multisampled_render_to_texture")) { 362 } else if (strstr(extensions, "GL_IMG_multisampled_render_to_texture")) {
363 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_SAMPLES_IMG, _)) 363 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_SAMPLES_IMG, _))
364 .WillOnce(SetArgumentPointee<1>(kMaxSamples)) 364 .WillOnce(SetArgPointee<1>(kMaxSamples))
365 .RetiresOnSaturation(); 365 .RetiresOnSaturation();
366 } 366 }
367 367
368 if (enable_es3 || 368 if (enable_es3 ||
369 (!enable_es3 && 369 (!enable_es3 &&
370 (gl_info.is_desktop_core_profile || 370 (gl_info.is_desktop_core_profile ||
371 strstr(extensions, "GL_EXT_draw_buffers") || 371 strstr(extensions, "GL_EXT_draw_buffers") ||
372 strstr(extensions, "GL_ARB_draw_buffers") || 372 strstr(extensions, "GL_ARB_draw_buffers") ||
373 (gl_info.is_es3 && strstr(extensions, "GL_NV_draw_buffers"))))) { 373 (gl_info.is_es3 && strstr(extensions, "GL_NV_draw_buffers"))))) {
374 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS_EXT, _)) 374 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS_EXT, _))
375 .WillOnce(SetArgumentPointee<1>(8)) 375 .WillOnce(SetArgPointee<1>(8))
376 .RetiresOnSaturation(); 376 .RetiresOnSaturation();
377 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_DRAW_BUFFERS_ARB, _)) 377 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_DRAW_BUFFERS_ARB, _))
378 .WillOnce(SetArgumentPointee<1>(8)) 378 .WillOnce(SetArgPointee<1>(8))
379 .RetiresOnSaturation(); 379 .RetiresOnSaturation();
380 } 380 }
381 381
382 if (gl_info.IsAtLeastGL(3, 3) || 382 if (gl_info.IsAtLeastGL(3, 3) ||
383 (gl_info.IsAtLeastGL(3, 2) && 383 (gl_info.IsAtLeastGL(3, 2) &&
384 strstr(extensions, "GL_ARB_blend_func_extended")) || 384 strstr(extensions, "GL_ARB_blend_func_extended")) ||
385 (gl_info.is_es && strstr(extensions, "GL_EXT_blend_func_extended"))) { 385 (gl_info.is_es && strstr(extensions, "GL_EXT_blend_func_extended"))) {
386 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT, _)) 386 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT, _))
387 .WillOnce(SetArgumentPointee<1>(8)) 387 .WillOnce(SetArgPointee<1>(8))
388 .RetiresOnSaturation(); 388 .RetiresOnSaturation();
389 } 389 }
390 390
391 if (gl_info.is_es3_capable) { 391 if (gl_info.is_es3_capable) {
392 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, _)) 392 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, _))
393 .WillOnce(SetArgumentPointee<1>(kMaxTransformFeedbackSeparateAttribs)) 393 .WillOnce(SetArgPointee<1>(kMaxTransformFeedbackSeparateAttribs))
394 .RetiresOnSaturation(); 394 .RetiresOnSaturation();
395 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS, _)) 395 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS, _))
396 .WillOnce(SetArgumentPointee<1>(kMaxUniformBufferBindings)) 396 .WillOnce(SetArgPointee<1>(kMaxUniformBufferBindings))
397 .RetiresOnSaturation(); 397 .RetiresOnSaturation();
398 EXPECT_CALL(*gl, GetIntegerv(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, _)) 398 EXPECT_CALL(*gl, GetIntegerv(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, _))
399 .WillOnce(SetArgumentPointee<1>(kUniformBufferOffsetAlignment)) 399 .WillOnce(SetArgPointee<1>(kUniformBufferOffsetAlignment))
400 .RetiresOnSaturation(); 400 .RetiresOnSaturation();
401 } 401 }
402 402
403 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VERTEX_ATTRIBS, _)) 403 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VERTEX_ATTRIBS, _))
404 .WillOnce(SetArgumentPointee<1>(kNumVertexAttribs)) 404 .WillOnce(SetArgPointee<1>(kNumVertexAttribs))
405 .RetiresOnSaturation(); 405 .RetiresOnSaturation();
406 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, _)) 406 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, _))
407 .WillOnce(SetArgumentPointee<1>(kNumTextureUnits)) 407 .WillOnce(SetArgPointee<1>(kNumTextureUnits))
408 .RetiresOnSaturation(); 408 .RetiresOnSaturation();
409 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_TEXTURE_SIZE, _)) 409 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_TEXTURE_SIZE, _))
410 .WillOnce(SetArgumentPointee<1>(kMaxTextureSize)) 410 .WillOnce(SetArgPointee<1>(kMaxTextureSize))
411 .RetiresOnSaturation(); 411 .RetiresOnSaturation();
412 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_CUBE_MAP_TEXTURE_SIZE, _)) 412 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_CUBE_MAP_TEXTURE_SIZE, _))
413 .WillOnce(SetArgumentPointee<1>(kMaxCubeMapTextureSize)) 413 .WillOnce(SetArgPointee<1>(kMaxCubeMapTextureSize))
414 .RetiresOnSaturation(); 414 .RetiresOnSaturation();
415 if (gl_info.is_es3_capable) { 415 if (gl_info.is_es3_capable) {
416 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_3D_TEXTURE_SIZE, _)) 416 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_3D_TEXTURE_SIZE, _))
417 .WillOnce(SetArgumentPointee<1>(kMax3DTextureSize)) 417 .WillOnce(SetArgPointee<1>(kMax3DTextureSize))
418 .RetiresOnSaturation(); 418 .RetiresOnSaturation();
419 } 419 }
420 if (gl_info.is_es3_capable) { 420 if (gl_info.is_es3_capable) {
421 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_ARRAY_TEXTURE_LAYERS, _)) 421 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_ARRAY_TEXTURE_LAYERS, _))
422 .WillOnce(SetArgumentPointee<1>(kMaxArrayTextureLayers)) 422 .WillOnce(SetArgPointee<1>(kMaxArrayTextureLayers))
423 .RetiresOnSaturation(); 423 .RetiresOnSaturation();
424 } 424 }
425 if (strstr(extensions, "GL_ARB_texture_rectangle") || 425 if (strstr(extensions, "GL_ARB_texture_rectangle") ||
426 gl_info.is_desktop_core_profile) { 426 gl_info.is_desktop_core_profile) {
427 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_RECTANGLE_TEXTURE_SIZE, _)) 427 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_RECTANGLE_TEXTURE_SIZE, _))
428 .WillOnce(SetArgumentPointee<1>(kMaxRectangleTextureSize)) 428 .WillOnce(SetArgPointee<1>(kMaxRectangleTextureSize))
429 .RetiresOnSaturation(); 429 .RetiresOnSaturation();
430 } 430 }
431 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, _)) 431 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, _))
432 .WillOnce(SetArgumentPointee<1>(kMaxTextureImageUnits)) 432 .WillOnce(SetArgPointee<1>(kMaxTextureImageUnits))
433 .RetiresOnSaturation(); 433 .RetiresOnSaturation();
434 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, _)) 434 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, _))
435 .WillOnce(SetArgumentPointee<1>(kMaxVertexTextureImageUnits)) 435 .WillOnce(SetArgPointee<1>(kMaxVertexTextureImageUnits))
436 .RetiresOnSaturation(); 436 .RetiresOnSaturation();
437 437
438 if (gl_info.is_es || gl_info.is_desktop_core_profile) { 438 if (gl_info.is_es || gl_info.is_desktop_core_profile) {
439 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_FRAGMENT_UNIFORM_VECTORS, _)) 439 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_FRAGMENT_UNIFORM_VECTORS, _))
440 .WillOnce(SetArgumentPointee<1>(kMaxFragmentUniformVectors)) 440 .WillOnce(SetArgPointee<1>(kMaxFragmentUniformVectors))
441 .RetiresOnSaturation(); 441 .RetiresOnSaturation();
442 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VARYING_VECTORS, _)) 442 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VARYING_VECTORS, _))
443 .WillOnce(SetArgumentPointee<1>(kMaxVaryingVectors)) 443 .WillOnce(SetArgPointee<1>(kMaxVaryingVectors))
444 .RetiresOnSaturation(); 444 .RetiresOnSaturation();
445 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VERTEX_UNIFORM_VECTORS, _)) 445 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VERTEX_UNIFORM_VECTORS, _))
446 .WillOnce(SetArgumentPointee<1>(kMaxVertexUniformVectors)) 446 .WillOnce(SetArgPointee<1>(kMaxVertexUniformVectors))
447 .RetiresOnSaturation(); 447 .RetiresOnSaturation();
448 } else { 448 } else {
449 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, _)) 449 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, _))
450 .WillOnce(SetArgumentPointee<1>(kMaxFragmentUniformComponents)) 450 .WillOnce(SetArgPointee<1>(kMaxFragmentUniformComponents))
451 .RetiresOnSaturation(); 451 .RetiresOnSaturation();
452 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VARYING_FLOATS, _)) 452 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VARYING_FLOATS, _))
453 .WillOnce(SetArgumentPointee<1>(kMaxVaryingFloats)) 453 .WillOnce(SetArgPointee<1>(kMaxVaryingFloats))
454 .RetiresOnSaturation(); 454 .RetiresOnSaturation();
455 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VERTEX_UNIFORM_COMPONENTS, _)) 455 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VERTEX_UNIFORM_COMPONENTS, _))
456 .WillOnce(SetArgumentPointee<1>(kMaxVertexUniformComponents)) 456 .WillOnce(SetArgPointee<1>(kMaxVertexUniformComponents))
457 .RetiresOnSaturation(); 457 .RetiresOnSaturation();
458 } 458 }
459 459
460 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VERTEX_OUTPUT_COMPONENTS, _)) 460 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_VERTEX_OUTPUT_COMPONENTS, _))
461 .Times(testing::Between(0, 1)) 461 .Times(testing::Between(0, 1))
462 .WillRepeatedly(SetArgumentPointee<1>(kMaxVertexOutputComponents)) 462 .WillRepeatedly(SetArgPointee<1>(kMaxVertexOutputComponents))
463 .RetiresOnSaturation(); 463 .RetiresOnSaturation();
464 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_FRAGMENT_INPUT_COMPONENTS, _)) 464 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_FRAGMENT_INPUT_COMPONENTS, _))
465 .Times(testing::Between(0, 1)) 465 .Times(testing::Between(0, 1))
466 .WillRepeatedly(SetArgumentPointee<1>(kMaxFragmentInputComponents)) 466 .WillRepeatedly(SetArgPointee<1>(kMaxFragmentInputComponents))
467 .RetiresOnSaturation(); 467 .RetiresOnSaturation();
468 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_PROGRAM_TEXEL_OFFSET, _)) 468 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_PROGRAM_TEXEL_OFFSET, _))
469 .Times(testing::Between(0, 1)) 469 .Times(testing::Between(0, 1))
470 .WillRepeatedly(SetArgumentPointee<1>(kMaxProgramTexelOffset)) 470 .WillRepeatedly(SetArgPointee<1>(kMaxProgramTexelOffset))
471 .RetiresOnSaturation(); 471 .RetiresOnSaturation();
472 EXPECT_CALL(*gl, GetIntegerv(GL_MIN_PROGRAM_TEXEL_OFFSET, _)) 472 EXPECT_CALL(*gl, GetIntegerv(GL_MIN_PROGRAM_TEXEL_OFFSET, _))
473 .Times(testing::Between(0, 1)) 473 .Times(testing::Between(0, 1))
474 .WillRepeatedly(SetArgumentPointee<1>(kMinProgramTexelOffset)) 474 .WillRepeatedly(SetArgPointee<1>(kMinProgramTexelOffset))
475 .RetiresOnSaturation(); 475 .RetiresOnSaturation();
476 476
477 bool use_default_textures = bind_generates_resource; 477 bool use_default_textures = bind_generates_resource;
478 SetupTextureManagerInitExpectations( 478 SetupTextureManagerInitExpectations(
479 gl, enable_es3, gl_info.is_es3_capable, gl_info.is_desktop_core_profile, 479 gl, enable_es3, gl_info.is_es3_capable, gl_info.is_desktop_core_profile,
480 extensions, use_default_textures); 480 extensions, use_default_textures);
481 } 481 }
482 482
483 void TestHelper::SetupFeatureInfoInitExpectations(::gl::MockGLInterface* gl, 483 void TestHelper::SetupFeatureInfoInitExpectations(::gl::MockGLInterface* gl,
484 const char* extensions) { 484 const char* extensions) {
(...skipping 19 matching lines...) Expand all
504 // Persistent storage is needed for the split extension string. 504 // Persistent storage is needed for the split extension string.
505 split_extensions_.clear(); 505 split_extensions_.clear();
506 if (extensions) { 506 if (extensions) {
507 split_extensions_ = base::SplitString( 507 split_extensions_ = base::SplitString(
508 extensions, " ", base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY); 508 extensions, " ", base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
509 } 509 }
510 510
511 gl::GLVersionInfo gl_info(gl_version, gl_renderer, extensions); 511 gl::GLVersionInfo gl_info(gl_version, gl_renderer, extensions);
512 if (!gl_info.is_es && gl_info.major_version >= 3) { 512 if (!gl_info.is_es && gl_info.major_version >= 3) {
513 EXPECT_CALL(*gl, GetIntegerv(GL_NUM_EXTENSIONS, _)) 513 EXPECT_CALL(*gl, GetIntegerv(GL_NUM_EXTENSIONS, _))
514 .WillOnce(SetArgumentPointee<1>(split_extensions_.size())) 514 .WillOnce(SetArgPointee<1>(split_extensions_.size()))
515 .RetiresOnSaturation(); 515 .RetiresOnSaturation();
516 for (size_t ii = 0; ii < split_extensions_.size(); ++ii) { 516 for (size_t ii = 0; ii < split_extensions_.size(); ++ii) {
517 EXPECT_CALL(*gl, GetStringi(GL_EXTENSIONS, ii)) 517 EXPECT_CALL(*gl, GetStringi(GL_EXTENSIONS, ii))
518 .WillOnce(Return( 518 .WillOnce(Return(
519 reinterpret_cast<const uint8_t*>(split_extensions_[ii].c_str()))) 519 reinterpret_cast<const uint8_t*>(split_extensions_[ii].c_str())))
520 .RetiresOnSaturation(); 520 .RetiresOnSaturation();
521 } 521 }
522 } else { 522 } else {
523 EXPECT_CALL(*gl, GetString(GL_EXTENSIONS)) 523 EXPECT_CALL(*gl, GetString(GL_EXTENSIONS))
524 .WillOnce(Return(reinterpret_cast<const uint8_t*>(extensions))) 524 .WillOnce(Return(reinterpret_cast<const uint8_t*>(extensions)))
(...skipping 14 matching lines...) Expand all
539 } 539 }
540 540
541 if ((strstr(extensions, "GL_ARB_texture_float") || 541 if ((strstr(extensions, "GL_ARB_texture_float") ||
542 gl_info.is_desktop_core_profile) || 542 gl_info.is_desktop_core_profile) ||
543 (gl_info.is_es3 && strstr(extensions, "GL_OES_texture_float") && 543 (gl_info.is_es3 && strstr(extensions, "GL_OES_texture_float") &&
544 strstr(extensions, "GL_EXT_color_buffer_float"))) { 544 strstr(extensions, "GL_EXT_color_buffer_float"))) {
545 static const GLuint tx_ids[] = {101, 102}; 545 static const GLuint tx_ids[] = {101, 102};
546 static const GLuint fb_ids[] = {103, 104}; 546 static const GLuint fb_ids[] = {103, 104};
547 const GLsizei width = 16; 547 const GLsizei width = 16;
548 EXPECT_CALL(*gl, GetIntegerv(GL_FRAMEBUFFER_BINDING, _)) 548 EXPECT_CALL(*gl, GetIntegerv(GL_FRAMEBUFFER_BINDING, _))
549 .WillOnce(SetArgumentPointee<1>(fb_ids[0])) 549 .WillOnce(SetArgPointee<1>(fb_ids[0]))
550 .RetiresOnSaturation(); 550 .RetiresOnSaturation();
551 EXPECT_CALL(*gl, GetIntegerv(GL_TEXTURE_BINDING_2D, _)) 551 EXPECT_CALL(*gl, GetIntegerv(GL_TEXTURE_BINDING_2D, _))
552 .WillOnce(SetArgumentPointee<1>(tx_ids[0])) 552 .WillOnce(SetArgPointee<1>(tx_ids[0]))
553 .RetiresOnSaturation(); 553 .RetiresOnSaturation();
554 EXPECT_CALL(*gl, GenTextures(1, _)) 554 EXPECT_CALL(*gl, GenTextures(1, _))
555 .WillOnce(SetArrayArgument<1>(tx_ids + 1, tx_ids + 2)) 555 .WillOnce(SetArrayArgument<1>(tx_ids + 1, tx_ids + 2))
556 .RetiresOnSaturation(); 556 .RetiresOnSaturation();
557 EXPECT_CALL(*gl, GenFramebuffersEXT(1, _)) 557 EXPECT_CALL(*gl, GenFramebuffersEXT(1, _))
558 .WillOnce(SetArrayArgument<1>(fb_ids + 1, fb_ids + 2)) 558 .WillOnce(SetArrayArgument<1>(fb_ids + 1, fb_ids + 2))
559 .RetiresOnSaturation(); 559 .RetiresOnSaturation();
560 EXPECT_CALL(*gl, BindTexture(GL_TEXTURE_2D, tx_ids[1])) 560 EXPECT_CALL(*gl, BindTexture(GL_TEXTURE_2D, tx_ids[1]))
561 .Times(1) 561 .Times(1)
562 .RetiresOnSaturation(); 562 .RetiresOnSaturation();
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 #endif 684 #endif
685 } 685 }
686 686
687 if (enable_es3 || 687 if (enable_es3 ||
688 (!enable_es3 && 688 (!enable_es3 &&
689 (gl_info.is_desktop_core_profile || 689 (gl_info.is_desktop_core_profile ||
690 strstr(extensions, "GL_EXT_draw_buffers") || 690 strstr(extensions, "GL_EXT_draw_buffers") ||
691 strstr(extensions, "GL_ARB_draw_buffers") || 691 strstr(extensions, "GL_ARB_draw_buffers") ||
692 (gl_info.is_es3 && strstr(extensions, "GL_NV_draw_buffers"))))) { 692 (gl_info.is_es3 && strstr(extensions, "GL_NV_draw_buffers"))))) {
693 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS_EXT, _)) 693 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS_EXT, _))
694 .WillOnce(SetArgumentPointee<1>(8)) 694 .WillOnce(SetArgPointee<1>(8))
695 .RetiresOnSaturation(); 695 .RetiresOnSaturation();
696 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_DRAW_BUFFERS_ARB, _)) 696 EXPECT_CALL(*gl, GetIntegerv(GL_MAX_DRAW_BUFFERS_ARB, _))
697 .WillOnce(SetArgumentPointee<1>(8)) 697 .WillOnce(SetArgPointee<1>(8))
698 .RetiresOnSaturation(); 698 .RetiresOnSaturation();
699 } 699 }
700 700
701 if (gl_info.is_es3 || gl_info.is_desktop_core_profile || 701 if (gl_info.is_es3 || gl_info.is_desktop_core_profile ||
702 strstr(extensions, "GL_EXT_texture_rg") || 702 strstr(extensions, "GL_EXT_texture_rg") ||
703 (strstr(extensions, "GL_ARB_texture_rg"))) { 703 (strstr(extensions, "GL_ARB_texture_rg"))) {
704 static const GLuint tx_ids[] = {101, 102}; 704 static const GLuint tx_ids[] = {101, 102};
705 static const GLuint fb_ids[] = {103, 104}; 705 static const GLuint fb_ids[] = {103, 104};
706 const GLsizei width = 1; 706 const GLsizei width = 1;
707 EXPECT_CALL(*gl, GetIntegerv(GL_FRAMEBUFFER_BINDING, _)) 707 EXPECT_CALL(*gl, GetIntegerv(GL_FRAMEBUFFER_BINDING, _))
708 .WillOnce(SetArgumentPointee<1>(fb_ids[0])) 708 .WillOnce(SetArgPointee<1>(fb_ids[0]))
709 .RetiresOnSaturation(); 709 .RetiresOnSaturation();
710 EXPECT_CALL(*gl, GetIntegerv(GL_TEXTURE_BINDING_2D, _)) 710 EXPECT_CALL(*gl, GetIntegerv(GL_TEXTURE_BINDING_2D, _))
711 .WillOnce(SetArgumentPointee<1>(tx_ids[0])) 711 .WillOnce(SetArgPointee<1>(tx_ids[0]))
712 .RetiresOnSaturation(); 712 .RetiresOnSaturation();
713 EXPECT_CALL(*gl, GenTextures(1, _)) 713 EXPECT_CALL(*gl, GenTextures(1, _))
714 .WillOnce(SetArrayArgument<1>(tx_ids + 1, tx_ids + 2)) 714 .WillOnce(SetArrayArgument<1>(tx_ids + 1, tx_ids + 2))
715 .RetiresOnSaturation(); 715 .RetiresOnSaturation();
716 EXPECT_CALL(*gl, BindTexture(GL_TEXTURE_2D, tx_ids[1])) 716 EXPECT_CALL(*gl, BindTexture(GL_TEXTURE_2D, tx_ids[1]))
717 .Times(1) 717 .Times(1)
718 .RetiresOnSaturation(); 718 .RetiresOnSaturation();
719 EXPECT_CALL(*gl, TexImage2D(GL_TEXTURE_2D, 0, _, width, width, 0, 719 EXPECT_CALL(*gl, TexImage2D(GL_TEXTURE_2D, 0, _, width, width, 0,
720 GL_RED_EXT, GL_UNSIGNED_BYTE, _)) 720 GL_RED_EXT, GL_UNSIGNED_BYTE, _))
721 .Times(1) 721 .Times(1)
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 const FeatureInfo* feature_info, 859 const FeatureInfo* feature_info,
860 AttribInfo* attribs, 860 AttribInfo* attribs,
861 size_t num_attribs, 861 size_t num_attribs,
862 UniformInfo* uniforms, 862 UniformInfo* uniforms,
863 size_t num_uniforms, 863 size_t num_uniforms,
864 VaryingInfo* varyings, 864 VaryingInfo* varyings,
865 size_t num_varyings, 865 size_t num_varyings,
866 ProgramOutputInfo* program_outputs, 866 ProgramOutputInfo* program_outputs,
867 size_t num_program_outputs, 867 size_t num_program_outputs,
868 GLuint service_id) { 868 GLuint service_id) {
869 EXPECT_CALL(*gl, 869 EXPECT_CALL(*gl, GetProgramiv(service_id, GL_LINK_STATUS, _))
870 GetProgramiv(service_id, GL_LINK_STATUS, _)) 870 .WillOnce(SetArgPointee<2>(1))
871 .WillOnce(SetArgumentPointee<2>(1))
872 .RetiresOnSaturation(); 871 .RetiresOnSaturation();
873 EXPECT_CALL(*gl, 872 EXPECT_CALL(*gl, GetProgramiv(service_id, GL_INFO_LOG_LENGTH, _))
874 GetProgramiv(service_id, GL_INFO_LOG_LENGTH, _)) 873 .WillOnce(SetArgPointee<2>(0))
875 .WillOnce(SetArgumentPointee<2>(0))
876 .RetiresOnSaturation(); 874 .RetiresOnSaturation();
877 EXPECT_CALL(*gl, 875 EXPECT_CALL(*gl, GetProgramiv(service_id, GL_ACTIVE_ATTRIBUTES, _))
878 GetProgramiv(service_id, GL_ACTIVE_ATTRIBUTES, _)) 876 .WillOnce(SetArgPointee<2>(num_attribs))
879 .WillOnce(SetArgumentPointee<2>(num_attribs))
880 .RetiresOnSaturation(); 877 .RetiresOnSaturation();
881 size_t max_attrib_len = 0; 878 size_t max_attrib_len = 0;
882 for (size_t ii = 0; ii < num_attribs; ++ii) { 879 for (size_t ii = 0; ii < num_attribs; ++ii) {
883 size_t len = strlen(attribs[ii].name) + 1; 880 size_t len = strlen(attribs[ii].name) + 1;
884 max_attrib_len = std::max(max_attrib_len, len); 881 max_attrib_len = std::max(max_attrib_len, len);
885 } 882 }
886 EXPECT_CALL(*gl, 883 EXPECT_CALL(*gl, GetProgramiv(service_id, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, _))
887 GetProgramiv(service_id, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, _)) 884 .WillOnce(SetArgPointee<2>(max_attrib_len))
888 .WillOnce(SetArgumentPointee<2>(max_attrib_len))
889 .RetiresOnSaturation(); 885 .RetiresOnSaturation();
890 886
891 for (size_t ii = 0; ii < num_attribs; ++ii) { 887 for (size_t ii = 0; ii < num_attribs; ++ii) {
892 const AttribInfo& info = attribs[ii]; 888 const AttribInfo& info = attribs[ii];
893 EXPECT_CALL(*gl, 889 EXPECT_CALL(*gl,
894 GetActiveAttrib(service_id, ii, 890 GetActiveAttrib(service_id, ii, max_attrib_len, _, _, _, _))
895 max_attrib_len, _, _, _, _))
896 .WillOnce(DoAll( 891 .WillOnce(DoAll(
897 SetArgumentPointee<3>(strlen(info.name)), 892 SetArgPointee<3>(strlen(info.name)), SetArgPointee<4>(info.size),
898 SetArgumentPointee<4>(info.size), 893 SetArgPointee<5>(info.type),
899 SetArgumentPointee<5>(info.type), 894 SetArrayArgument<6>(info.name, info.name + strlen(info.name) + 1)))
900 SetArrayArgument<6>(info.name,
901 info.name + strlen(info.name) + 1)))
902 .RetiresOnSaturation(); 895 .RetiresOnSaturation();
903 if (!ProgramManager::HasBuiltInPrefix(info.name)) { 896 if (!ProgramManager::HasBuiltInPrefix(info.name)) {
904 EXPECT_CALL(*gl, GetAttribLocation(service_id, StrEq(info.name))) 897 EXPECT_CALL(*gl, GetAttribLocation(service_id, StrEq(info.name)))
905 .WillOnce(Return(info.location)) 898 .WillOnce(Return(info.location))
906 .RetiresOnSaturation(); 899 .RetiresOnSaturation();
907 } 900 }
908 } 901 }
909 EXPECT_CALL(*gl, 902 EXPECT_CALL(*gl, GetProgramiv(service_id, GL_ACTIVE_UNIFORMS, _))
910 GetProgramiv(service_id, GL_ACTIVE_UNIFORMS, _)) 903 .WillOnce(SetArgPointee<2>(num_uniforms))
911 .WillOnce(SetArgumentPointee<2>(num_uniforms))
912 .RetiresOnSaturation(); 904 .RetiresOnSaturation();
913 905
914 if (num_uniforms > 0) { 906 if (num_uniforms > 0) {
915 size_t max_uniform_len = 0; 907 size_t max_uniform_len = 0;
916 for (size_t ii = 0; ii < num_uniforms; ++ii) { 908 for (size_t ii = 0; ii < num_uniforms; ++ii) {
917 size_t len = strlen(uniforms[ii].name) + 1; 909 size_t len = strlen(uniforms[ii].name) + 1;
918 max_uniform_len = std::max(max_uniform_len, len); 910 max_uniform_len = std::max(max_uniform_len, len);
919 } 911 }
920 EXPECT_CALL(*gl, GetProgramiv(service_id, GL_ACTIVE_UNIFORM_MAX_LENGTH, _)) 912 EXPECT_CALL(*gl, GetProgramiv(service_id, GL_ACTIVE_UNIFORM_MAX_LENGTH, _))
921 .WillOnce(SetArgumentPointee<2>(max_uniform_len)) 913 .WillOnce(SetArgPointee<2>(max_uniform_len))
922 .RetiresOnSaturation(); 914 .RetiresOnSaturation();
923 for (size_t ii = 0; ii < num_uniforms; ++ii) { 915 for (size_t ii = 0; ii < num_uniforms; ++ii) {
924 const UniformInfo& info = uniforms[ii]; 916 const UniformInfo& info = uniforms[ii];
925 EXPECT_CALL(*gl, 917 EXPECT_CALL(*gl,
926 GetActiveUniform(service_id, ii, max_uniform_len, _, _, _, _)) 918 GetActiveUniform(service_id, ii, max_uniform_len, _, _, _, _))
927 .WillOnce(DoAll(SetArgumentPointee<3>(strlen(info.name)), 919 .WillOnce(DoAll(SetArgPointee<3>(strlen(info.name)),
928 SetArgumentPointee<4>(info.size), 920 SetArgPointee<4>(info.size),
929 SetArgumentPointee<5>(info.type), 921 SetArgPointee<5>(info.type),
930 SetArrayArgument<6>( 922 SetArrayArgument<6>(
931 info.name, info.name + strlen(info.name) + 1))) 923 info.name, info.name + strlen(info.name) + 1)))
932 .RetiresOnSaturation(); 924 .RetiresOnSaturation();
933 925
934 if (info.real_location != -1) { 926 if (info.real_location != -1) {
935 EXPECT_CALL(*gl, GetUniformLocation(service_id, StrEq(info.name))) 927 EXPECT_CALL(*gl, GetUniformLocation(service_id, StrEq(info.name)))
936 .WillOnce(Return(info.real_location)) 928 .WillOnce(Return(info.real_location))
937 .RetiresOnSaturation(); 929 .RetiresOnSaturation();
938 } 930 }
939 if (info.size > 1) { 931 if (info.size > 1) {
940 std::string base_name = info.name; 932 std::string base_name = info.name;
941 size_t array_pos = base_name.rfind("[0]"); 933 size_t array_pos = base_name.rfind("[0]");
942 if (base_name.size() > 3 && array_pos == base_name.size() - 3) { 934 if (base_name.size() > 3 && array_pos == base_name.size() - 3) {
943 base_name = base_name.substr(0, base_name.size() - 3); 935 base_name = base_name.substr(0, base_name.size() - 3);
944 } 936 }
945 for (GLsizei jj = 1; jj < info.size; ++jj) { 937 for (GLsizei jj = 1; jj < info.size; ++jj) {
946 std::string element_name(std::string(base_name) + "[" + 938 std::string element_name(std::string(base_name) + "[" +
947 base::IntToString(jj) + "]"); 939 base::IntToString(jj) + "]");
948 EXPECT_CALL(*gl, GetUniformLocation(service_id, StrEq(element_name))) 940 EXPECT_CALL(*gl, GetUniformLocation(service_id, StrEq(element_name)))
949 .WillOnce(Return(info.real_location + jj * 2)) 941 .WillOnce(Return(info.real_location + jj * 2))
950 .RetiresOnSaturation(); 942 .RetiresOnSaturation();
951 } 943 }
952 } 944 }
953 } 945 }
954 } 946 }
955 947
956 if (feature_info->feature_flags().chromium_path_rendering) { 948 if (feature_info->feature_flags().chromium_path_rendering) {
957 EXPECT_CALL(*gl, GetProgramInterfaceiv(service_id, GL_FRAGMENT_INPUT_NV, 949 EXPECT_CALL(*gl, GetProgramInterfaceiv(service_id, GL_FRAGMENT_INPUT_NV,
958 GL_ACTIVE_RESOURCES, _)) 950 GL_ACTIVE_RESOURCES, _))
959 .WillOnce(SetArgumentPointee<3>(int(num_varyings))) 951 .WillOnce(SetArgPointee<3>(int(num_varyings)))
960 .RetiresOnSaturation(); 952 .RetiresOnSaturation();
961 size_t max_varying_len = 0; 953 size_t max_varying_len = 0;
962 for (size_t ii = 0; ii < num_varyings; ++ii) { 954 for (size_t ii = 0; ii < num_varyings; ++ii) {
963 size_t len = strlen(varyings[ii].name) + 1; 955 size_t len = strlen(varyings[ii].name) + 1;
964 max_varying_len = std::max(max_varying_len, len); 956 max_varying_len = std::max(max_varying_len, len);
965 } 957 }
966 EXPECT_CALL(*gl, GetProgramInterfaceiv(service_id, GL_FRAGMENT_INPUT_NV, 958 EXPECT_CALL(*gl, GetProgramInterfaceiv(service_id, GL_FRAGMENT_INPUT_NV,
967 GL_MAX_NAME_LENGTH, _)) 959 GL_MAX_NAME_LENGTH, _))
968 .WillOnce(SetArgumentPointee<3>(int(max_varying_len))) 960 .WillOnce(SetArgPointee<3>(int(max_varying_len)))
969 .RetiresOnSaturation(); 961 .RetiresOnSaturation();
970 for (size_t ii = 0; ii < num_varyings; ++ii) { 962 for (size_t ii = 0; ii < num_varyings; ++ii) {
971 VaryingInfo& info = varyings[ii]; 963 VaryingInfo& info = varyings[ii];
972 EXPECT_CALL(*gl, GetProgramResourceName(service_id, GL_FRAGMENT_INPUT_NV, 964 EXPECT_CALL(*gl, GetProgramResourceName(service_id, GL_FRAGMENT_INPUT_NV,
973 ii, max_varying_len, _, _)) 965 ii, max_varying_len, _, _))
974 .WillOnce(DoAll(SetArgumentPointee<4>(strlen(info.name)), 966 .WillOnce(DoAll(SetArgPointee<4>(strlen(info.name)),
975 SetArrayArgument<5>( 967 SetArrayArgument<5>(
976 info.name, info.name + strlen(info.name) + 1))) 968 info.name, info.name + strlen(info.name) + 1)))
977 .RetiresOnSaturation(); 969 .RetiresOnSaturation();
978 if (ProgramManager::HasBuiltInPrefix(info.name)) 970 if (ProgramManager::HasBuiltInPrefix(info.name))
979 continue; 971 continue;
980 972
981 static const GLenum kPropsArray[] = {GL_LOCATION, GL_TYPE, 973 static const GLenum kPropsArray[] = {GL_LOCATION, GL_TYPE,
982 GL_ARRAY_SIZE}; 974 GL_ARRAY_SIZE};
983 static const size_t kPropsSize = arraysize(kPropsArray); 975 static const size_t kPropsSize = arraysize(kPropsArray);
984 EXPECT_CALL( 976 EXPECT_CALL(
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
1157 scoped_refptr<ShaderTranslatorInterface> translator(mock_translator); 1149 scoped_refptr<ShaderTranslatorInterface> translator(mock_translator);
1158 EXPECT_CALL(*mock_translator, Translate(_, 1150 EXPECT_CALL(*mock_translator, Translate(_,
1159 NotNull(), // log_info 1151 NotNull(), // log_info
1160 NotNull(), // translated_source 1152 NotNull(), // translated_source
1161 NotNull(), // shader_version 1153 NotNull(), // shader_version
1162 NotNull(), // attrib_map 1154 NotNull(), // attrib_map
1163 NotNull(), // uniform_map 1155 NotNull(), // uniform_map
1164 NotNull(), // varying_map 1156 NotNull(), // varying_map
1165 NotNull(), // interface_block_map 1157 NotNull(), // interface_block_map
1166 NotNull())) // output_variable_list 1158 NotNull())) // output_variable_list
1167 .WillOnce(DoAll(SetArgumentPointee<1>(*log_info), 1159 .WillOnce(DoAll(
1168 SetArgumentPointee<2>(*translated_source), 1160 SetArgPointee<1>(*log_info), SetArgPointee<2>(*translated_source),
1169 SetArgumentPointee<3>(*shader_version), 1161 SetArgPointee<3>(*shader_version), SetArgPointee<4>(*attrib_map),
1170 SetArgumentPointee<4>(*attrib_map), 1162 SetArgPointee<5>(*uniform_map), SetArgPointee<6>(*varying_map),
1171 SetArgumentPointee<5>(*uniform_map), 1163 SetArgPointee<7>(*interface_block_map),
1172 SetArgumentPointee<6>(*varying_map), 1164 SetArgPointee<8>(*output_variable_list), Return(expected_valid)))
1173 SetArgumentPointee<7>(*interface_block_map),
1174 SetArgumentPointee<8>(*output_variable_list),
1175 Return(expected_valid)))
1176 .RetiresOnSaturation(); 1165 .RetiresOnSaturation();
1177 if (expected_valid) { 1166 if (expected_valid) {
1178 EXPECT_CALL(*gl, ShaderSource(shader->service_id(), 1, _, NULL)) 1167 EXPECT_CALL(*gl, ShaderSource(shader->service_id(), 1, _, NULL))
1179 .Times(1) 1168 .Times(1)
1180 .RetiresOnSaturation(); 1169 .RetiresOnSaturation();
1181 EXPECT_CALL(*gl, CompileShader(shader->service_id())) 1170 EXPECT_CALL(*gl, CompileShader(shader->service_id()))
1182 .Times(1) 1171 .Times(1)
1183 .RetiresOnSaturation(); 1172 .RetiresOnSaturation();
1184 EXPECT_CALL(*gl, GetShaderiv(shader->service_id(), 1173 EXPECT_CALL(*gl, GetShaderiv(shader->service_id(), GL_COMPILE_STATUS,
1185 GL_COMPILE_STATUS,
1186 NotNull())) // status 1174 NotNull())) // status
1187 .WillOnce(SetArgumentPointee<2>(GL_TRUE)) 1175 .WillOnce(SetArgPointee<2>(GL_TRUE))
1188 .RetiresOnSaturation(); 1176 .RetiresOnSaturation();
1189 } 1177 }
1190 shader->RequestCompile(translator, Shader::kGL); 1178 shader->RequestCompile(translator, Shader::kGL);
1191 shader->DoCompile(); 1179 shader->DoCompile();
1192 } 1180 }
1193 1181
1194 // static 1182 // static
1195 void TestHelper::SetShaderStates(::gl::MockGLInterface* gl, 1183 void TestHelper::SetShaderStates(::gl::MockGLInterface* gl,
1196 Shader* shader, 1184 Shader* shader,
1197 bool valid) { 1185 bool valid) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1229 GLenum precision, 1217 GLenum precision,
1230 bool static_use, 1218 bool static_use,
1231 const std::string& name) { 1219 const std::string& name) {
1232 return ConstructShaderVariable<sh::OutputVariable>( 1220 return ConstructShaderVariable<sh::OutputVariable>(
1233 type, array_size, precision, static_use, name); 1221 type, array_size, precision, static_use, name);
1234 } 1222 }
1235 1223
1236 } // namespace gles2 1224 } // namespace gles2
1237 } // namespace gpu 1225 } // namespace gpu
1238 1226
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/query_manager_unittest.cc ('k') | media/audio/alsa/alsa_output_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698