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

Side by Side Diff: gpu/command_buffer/client/gles2_implementation_unittest.cc

Issue 455783002: GPU context creation code duplication cleanup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Fix even more build dependencies Created 6 years, 4 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 // Tests for GLES2Implementation. 5 // Tests for GLES2Implementation.
6 6
7 #include "gpu/command_buffer/client/gles2_implementation.h" 7 #include "gpu/command_buffer/client/gles2_implementation.h"
8 8
9 #include <limits> 9 #include <limits>
10 10
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 static const GLuint kQueriesStartId = 1; 386 static const GLuint kQueriesStartId = 1;
387 static const GLuint kVertexArraysStartId = 1; 387 static const GLuint kVertexArraysStartId = 1;
388 388
389 typedef MockTransferBuffer::ExpectedMemoryInfo ExpectedMemoryInfo; 389 typedef MockTransferBuffer::ExpectedMemoryInfo ExpectedMemoryInfo;
390 390
391 class TestContext { 391 class TestContext {
392 public: 392 public:
393 TestContext() : commands_(NULL), token_(0) {} 393 TestContext() : commands_(NULL), token_(0) {}
394 394
395 bool Initialize(ShareGroup* share_group, 395 bool Initialize(ShareGroup* share_group,
396 bool bind_generates_resource, 396 bool bind_generates_resource_client,
397 bool bind_generates_resource_service,
397 bool lose_context_when_out_of_memory) { 398 bool lose_context_when_out_of_memory) {
398 command_buffer_.reset(new StrictMock<MockClientCommandBuffer>()); 399 command_buffer_.reset(new StrictMock<MockClientCommandBuffer>());
399 if (!command_buffer_->Initialize()) 400 if (!command_buffer_->Initialize())
400 return false; 401 return false;
401 402
402 transfer_buffer_.reset( 403 transfer_buffer_.reset(
403 new MockTransferBuffer(command_buffer_.get(), 404 new MockTransferBuffer(command_buffer_.get(),
404 kTransferBufferSize, 405 kTransferBufferSize,
405 GLES2Implementation::kStartingOffset, 406 GLES2Implementation::kStartingOffset,
406 GLES2Implementation::kAlignment)); 407 GLES2Implementation::kAlignment));
(...skipping 14 matching lines...) Expand all
421 int_state.max_renderbuffer_size = kMaxRenderbufferSize; 422 int_state.max_renderbuffer_size = kMaxRenderbufferSize;
422 int_state.max_texture_image_units = kMaxTextureImageUnits; 423 int_state.max_texture_image_units = kMaxTextureImageUnits;
423 int_state.max_texture_size = kMaxTextureSize; 424 int_state.max_texture_size = kMaxTextureSize;
424 int_state.max_varying_vectors = kMaxVaryingVectors; 425 int_state.max_varying_vectors = kMaxVaryingVectors;
425 int_state.max_vertex_attribs = kMaxVertexAttribs; 426 int_state.max_vertex_attribs = kMaxVertexAttribs;
426 int_state.max_vertex_texture_image_units = kMaxVertexTextureImageUnits; 427 int_state.max_vertex_texture_image_units = kMaxVertexTextureImageUnits;
427 int_state.max_vertex_uniform_vectors = kMaxVertexUniformVectors; 428 int_state.max_vertex_uniform_vectors = kMaxVertexUniformVectors;
428 int_state.num_compressed_texture_formats = kNumCompressedTextureFormats; 429 int_state.num_compressed_texture_formats = kNumCompressedTextureFormats;
429 int_state.num_shader_binary_formats = kNumShaderBinaryFormats; 430 int_state.num_shader_binary_formats = kNumShaderBinaryFormats;
430 int_state.bind_generates_resource_chromium = 431 int_state.bind_generates_resource_chromium =
431 bind_generates_resource ? 1 : 0; 432 bind_generates_resource_service ? 1 : 0;
432 433
433 // This just happens to work for now because IntState has 1 GLint per 434 // This just happens to work for now because IntState has 1 GLint per
434 // state. 435 // state.
435 // If IntState gets more complicated this code will need to get more 436 // If IntState gets more complicated this code will need to get more
436 // complicated. 437 // complicated.
437 ExpectedMemoryInfo mem1 = transfer_buffer_->GetExpectedMemory( 438 ExpectedMemoryInfo mem1 = transfer_buffer_->GetExpectedMemory(
438 sizeof(GLES2Implementation::GLStaticState::IntState) * 2 + 439 sizeof(GLES2Implementation::GLStaticState::IntState) * 2 +
439 sizeof(cmds::GetShaderPrecisionFormat::Result) * 12); 440 sizeof(cmds::GetShaderPrecisionFormat::Result) * 12);
440 441
441 { 442 {
442 InSequence sequence; 443 InSequence sequence;
443 444
444 EXPECT_CALL(*command_buffer_, OnFlush()) 445 EXPECT_CALL(*command_buffer_, OnFlush())
445 .WillOnce(SetMemory(mem1.ptr + sizeof(int_state), int_state)) 446 .WillOnce(SetMemory(mem1.ptr + sizeof(int_state), int_state))
446 .RetiresOnSaturation(); 447 .RetiresOnSaturation();
447 GetNextToken(); // eat the token that starting up will use. 448 GetNextToken(); // eat the token that starting up will use.
448 449
449 gl_.reset(new GLES2Implementation(helper_.get(), 450 gl_.reset(new GLES2Implementation(helper_.get(),
450 share_group, 451 share_group,
451 transfer_buffer_.get(), 452 transfer_buffer_.get(),
452 bind_generates_resource, 453 bind_generates_resource_client,
453 lose_context_when_out_of_memory, 454 lose_context_when_out_of_memory,
454 gpu_control_.get())); 455 gpu_control_.get()));
455 456
456 if (!gl_->Initialize(kTransferBufferSize, 457 if (!gl_->Initialize(kTransferBufferSize,
457 kTransferBufferSize, 458 kTransferBufferSize,
458 kTransferBufferSize, 459 kTransferBufferSize,
459 GLES2Implementation::kNoLimit)) 460 GLES2Implementation::kNoLimit))
460 return false; 461 return false;
461 } 462 }
462 463
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 bind_generates_resource_service(true), 531 bind_generates_resource_service(true),
531 lose_context_when_out_of_memory(false) {} 532 lose_context_when_out_of_memory(false) {}
532 533
533 bool bind_generates_resource_client; 534 bool bind_generates_resource_client;
534 bool bind_generates_resource_service; 535 bool bind_generates_resource_service;
535 bool lose_context_when_out_of_memory; 536 bool lose_context_when_out_of_memory;
536 }; 537 };
537 538
538 bool Initialize(const ContextInitOptions& init_options) { 539 bool Initialize(const ContextInitOptions& init_options) {
539 bool success = true; 540 bool success = true;
540 share_group_ = new ShareGroup(init_options.bind_generates_resource_service); 541 share_group_ = new ShareGroup(init_options.bind_generates_resource_client);
541 542
542 for (int i = 0; i < kNumTestContexts; i++) { 543 for (int i = 0; i < kNumTestContexts; i++) {
543 if (!test_contexts_[i].Initialize( 544 if (!test_contexts_[i].Initialize(
544 share_group_.get(), 545 share_group_.get(),
545 init_options.bind_generates_resource_client, 546 init_options.bind_generates_resource_client,
547 init_options.bind_generates_resource_service,
546 init_options.lose_context_when_out_of_memory)) 548 init_options.lose_context_when_out_of_memory))
547 success = false; 549 success = false;
548 } 550 }
549 551
550 // Default to test context 0. 552 // Default to test context 0.
551 gpu_control_ = test_contexts_[0].gpu_control_.get(); 553 gpu_control_ = test_contexts_[0].gpu_control_.get();
552 helper_ = test_contexts_[0].helper_.get(); 554 helper_ = test_contexts_[0].helper_.get();
553 transfer_buffer_ = test_contexts_[0].transfer_buffer_.get(); 555 transfer_buffer_ = test_contexts_[0].transfer_buffer_.get();
554 gl_ = test_contexts_[0].gl_.get(); 556 gl_ = test_contexts_[0].gl_.get();
555 commands_ = test_contexts_[0].commands_; 557 commands_ = test_contexts_[0].commands_;
(...skipping 2847 matching lines...) Expand 10 before | Expand all | Expand 10 after
3403 ContextInitOptions init_options; 3405 ContextInitOptions init_options;
3404 init_options.bind_generates_resource_client = true; 3406 init_options.bind_generates_resource_client = true;
3405 init_options.bind_generates_resource_service = false; 3407 init_options.bind_generates_resource_service = false;
3406 EXPECT_FALSE(Initialize(init_options)); 3408 EXPECT_FALSE(Initialize(init_options));
3407 } 3409 }
3408 3410
3409 #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h" 3411 #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h"
3410 3412
3411 } // namespace gles2 3413 } // namespace gles2
3412 } // namespace gpu 3414 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/client/gles2_implementation.cc ('k') | gpu/command_buffer/client/share_group.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698