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

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

Issue 566023002: Clean up interfaces between Shader / ShaderTranslator / ANGLE side. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
« no previous file with comments | « gpu/command_buffer/service/memory_program_cache.cc ('k') | gpu/command_buffer/service/mocks.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/memory_program_cache.h" 5 #include "gpu/command_buffer/service/memory_program_cache.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "gpu/command_buffer/common/gles2_cmd_format.h" 8 #include "gpu/command_buffer/common/gles2_cmd_format.h"
9 #include "gpu/command_buffer/service/gl_utils.h" 9 #include "gpu/command_buffer/service/gl_utils.h"
10 #include "gpu/command_buffer/service/gpu_service_test.h" 10 #include "gpu/command_buffer/service/gpu_service_test.h"
11 #include "gpu/command_buffer/service/shader_manager.h" 11 #include "gpu/command_buffer/service/shader_manager.h"
12 #include "gpu/command_buffer/service/shader_translator.h" 12 #include "gpu/command_buffer/service/shader_translator.h"
13 #include "gpu/command_buffer/service/test_helper.h"
13 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
14 #include "ui/gl/gl_bindings.h" 15 #include "ui/gl/gl_bindings.h"
15 #include "ui/gl/gl_mock.h" 16 #include "ui/gl/gl_mock.h"
16 17
17 using ::testing::_; 18 using ::testing::_;
18 using ::testing::ElementsAreArray; 19 using ::testing::ElementsAreArray;
19 using ::testing::Invoke; 20 using ::testing::Invoke;
20 using ::testing::SetArgPointee; 21 using ::testing::SetArgPointee;
21 using ::testing::SetArrayArgument; 22 using ::testing::SetArrayArgument;
22 23
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 vertex_attrib_map["a"] = VariableInfo(1, 34, SH_PRECISION_LOWP, 0, "a"); 117 vertex_attrib_map["a"] = VariableInfo(1, 34, SH_PRECISION_LOWP, 0, "a");
117 vertex_uniform_map["a"] = VariableInfo(0, 10, SH_PRECISION_MEDIUMP, 1, "a"); 118 vertex_uniform_map["a"] = VariableInfo(0, 10, SH_PRECISION_MEDIUMP, 1, "a");
118 vertex_uniform_map["b"] = VariableInfo(2, 3114, SH_PRECISION_HIGHP, 1, "b"); 119 vertex_uniform_map["b"] = VariableInfo(2, 3114, SH_PRECISION_HIGHP, 1, "b");
119 vertex_varying_map["c"] = VariableInfo(3, 2, SH_PRECISION_HIGHP, 1, "c"); 120 vertex_varying_map["c"] = VariableInfo(3, 2, SH_PRECISION_HIGHP, 1, "c");
120 fragment_attrib_map["jjjbb"] = 121 fragment_attrib_map["jjjbb"] =
121 VariableInfo(463, 1114, SH_PRECISION_MEDIUMP, 0, "jjjbb"); 122 VariableInfo(463, 1114, SH_PRECISION_MEDIUMP, 0, "jjjbb");
122 fragment_uniform_map["k"] = 123 fragment_uniform_map["k"] =
123 VariableInfo(10, 34413, SH_PRECISION_MEDIUMP, 1, "k"); 124 VariableInfo(10, 34413, SH_PRECISION_MEDIUMP, 1, "k");
124 fragment_varying_map["c"] = VariableInfo(3, 2, SH_PRECISION_HIGHP, 1, "c"); 125 fragment_varying_map["c"] = VariableInfo(3, 2, SH_PRECISION_HIGHP, 1, "c");
125 126
126 vertex_shader_->set_attrib_map(vertex_attrib_map); 127 vertex_shader_->set_source("bbbalsldkdkdkd");
127 vertex_shader_->set_uniform_map(vertex_uniform_map); 128 fragment_shader_->set_source("bbbal sldkdkdkas 134 ad");
128 vertex_shader_->set_varying_map(vertex_varying_map);
129 fragment_shader_->set_attrib_map(vertex_attrib_map);
130 fragment_shader_->set_uniform_map(vertex_uniform_map);
131 fragment_shader_->set_varying_map(vertex_varying_map);
132 129
133 vertex_shader_->UpdateSource("bbbalsldkdkdkd"); 130 TestHelper::SetShaderStates(
134 fragment_shader_->UpdateSource("bbbal sldkdkdkas 134 ad"); 131 gl_.get(), vertex_shader_, true, NULL, NULL,
135 132 &vertex_attrib_map, &vertex_uniform_map, &vertex_varying_map,
136 vertex_shader_->SetStatus(true, NULL, NULL); 133 NULL);
137 fragment_shader_->SetStatus(true, NULL, NULL); 134 TestHelper::SetShaderStates(
135 gl_.get(), fragment_shader_, true, NULL, NULL,
136 &fragment_attrib_map, &fragment_uniform_map, &fragment_varying_map,
137 NULL);
138 } 138 }
139 139
140 void SetExpectationsForSaveLinkedProgram( 140 void SetExpectationsForSaveLinkedProgram(
141 const GLint program_id, 141 const GLint program_id,
142 ProgramBinaryEmulator* emulator) const { 142 ProgramBinaryEmulator* emulator) const {
143 EXPECT_CALL(*gl_.get(), 143 EXPECT_CALL(*gl_.get(),
144 GetProgramiv(program_id, GL_PROGRAM_BINARY_LENGTH_OES, _)) 144 GetProgramiv(program_id, GL_PROGRAM_BINARY_LENGTH_OES, _))
145 .WillOnce(SetArgPointee<2>(emulator->length())); 145 .WillOnce(SetArgPointee<2>(emulator->length()));
146 EXPECT_CALL(*gl_.get(), 146 EXPECT_CALL(*gl_.get(),
147 GetProgramBinary(program_id, emulator->length(), _, _, _)) 147 GetProgramBinary(program_id, emulator->length(), _, _, _))
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 } 194 }
195 ProgramBinaryEmulator emulator(kBinaryLength, kFormat, test_binary); 195 ProgramBinaryEmulator emulator(kBinaryLength, kFormat, test_binary);
196 196
197 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator); 197 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
198 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL, 198 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL,
199 fragment_shader_, NULL, NULL, 199 fragment_shader_, NULL, NULL,
200 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 200 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
201 base::Unretained(this))); 201 base::Unretained(this)));
202 202
203 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( 203 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
204 *vertex_shader_->signature_source(), 204 vertex_shader_->signature_source(),
205 NULL, 205 NULL,
206 *fragment_shader_->signature_source(), 206 fragment_shader_->signature_source(),
207 NULL, 207 NULL,
208 NULL)); 208 NULL));
209 EXPECT_EQ(1, shader_cache_count()); 209 EXPECT_EQ(1, shader_cache_count());
210 } 210 }
211 211
212 TEST_F(MemoryProgramCacheTest, LoadProgram) { 212 TEST_F(MemoryProgramCacheTest, LoadProgram) {
213 const GLenum kFormat = 1; 213 const GLenum kFormat = 1;
214 const int kProgramId = 10; 214 const int kProgramId = 10;
215 const int kBinaryLength = 20; 215 const int kBinaryLength = 20;
216 char test_binary[kBinaryLength]; 216 char test_binary[kBinaryLength];
217 for (int i = 0; i < kBinaryLength; ++i) { 217 for (int i = 0; i < kBinaryLength; ++i) {
218 test_binary[i] = i; 218 test_binary[i] = i;
219 } 219 }
220 ProgramBinaryEmulator emulator(kBinaryLength, kFormat, test_binary); 220 ProgramBinaryEmulator emulator(kBinaryLength, kFormat, test_binary);
221 221
222 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator); 222 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
223 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL, 223 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL,
224 fragment_shader_, NULL, NULL, 224 fragment_shader_, NULL, NULL,
225 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 225 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
226 base::Unretained(this))); 226 base::Unretained(this)));
227 227
228 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( 228 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
229 *vertex_shader_->signature_source(), 229 vertex_shader_->signature_source(),
230 NULL, 230 NULL,
231 *fragment_shader_->signature_source(), 231 fragment_shader_->signature_source(),
232 NULL, 232 NULL,
233 NULL)); 233 NULL));
234 EXPECT_EQ(1, shader_cache_count()); 234 EXPECT_EQ(1, shader_cache_count());
235 235
236 cache_->Clear(); 236 cache_->Clear();
237 237
238 cache_->LoadProgram(shader_cache_shader()); 238 cache_->LoadProgram(shader_cache_shader());
239 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( 239 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
240 *vertex_shader_->signature_source(), 240 vertex_shader_->signature_source(),
241 NULL, 241 NULL,
242 *fragment_shader_->signature_source(), 242 fragment_shader_->signature_source(),
243 NULL, 243 NULL,
244 NULL)); 244 NULL));
245 } 245 }
246 246
247 TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) { 247 TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
248 const GLenum kFormat = 1; 248 const GLenum kFormat = 1;
249 const int kProgramId = 10; 249 const int kProgramId = 10;
250 const int kBinaryLength = 20; 250 const int kBinaryLength = 20;
251 char test_binary[kBinaryLength]; 251 char test_binary[kBinaryLength];
252 for (int i = 0; i < kBinaryLength; ++i) { 252 for (int i = 0; i < kBinaryLength; ++i) {
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 test_binary[i] = i; 394 test_binary[i] = i;
395 } 395 }
396 ProgramBinaryEmulator emulator(kBinaryLength, kFormat, test_binary); 396 ProgramBinaryEmulator emulator(kBinaryLength, kFormat, test_binary);
397 397
398 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator); 398 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
399 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL, 399 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL,
400 fragment_shader_, NULL, NULL, 400 fragment_shader_, NULL, NULL,
401 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 401 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
402 base::Unretained(this))); 402 base::Unretained(this)));
403 403
404 const std::string vertex_orig_source = 404 const std::string vertex_orig_source = vertex_shader_->signature_source();
405 *vertex_shader_->signature_source(); 405 vertex_shader_->set_source("different!");
406 vertex_shader_->UpdateSource("different!"); 406 TestHelper::SetShaderStates(gl_.get(), vertex_shader_, true);
407 vertex_shader_->SetStatus(true, NULL, NULL);
408 EXPECT_EQ(ProgramCache::PROGRAM_LOAD_FAILURE, cache_->LoadLinkedProgram( 407 EXPECT_EQ(ProgramCache::PROGRAM_LOAD_FAILURE, cache_->LoadLinkedProgram(
409 kProgramId, 408 kProgramId,
410 vertex_shader_, 409 vertex_shader_,
411 NULL, 410 NULL,
412 fragment_shader_, 411 fragment_shader_,
413 NULL, 412 NULL,
414 NULL, 413 NULL,
415 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 414 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
416 base::Unretained(this)))); 415 base::Unretained(this))));
417 416
418 vertex_shader_->UpdateSource(vertex_orig_source.c_str()); 417 vertex_shader_->set_source(vertex_orig_source);
419 vertex_shader_->SetStatus(true, NULL, NULL); 418 TestHelper::SetShaderStates(gl_.get(), vertex_shader_, true);
420 fragment_shader_->UpdateSource("different!"); 419 fragment_shader_->set_source("different!");
421 fragment_shader_->SetStatus(true, NULL, NULL); 420 TestHelper::SetShaderStates(gl_.get(), fragment_shader_, true);
422 EXPECT_EQ(ProgramCache::PROGRAM_LOAD_FAILURE, cache_->LoadLinkedProgram( 421 EXPECT_EQ(ProgramCache::PROGRAM_LOAD_FAILURE, cache_->LoadLinkedProgram(
423 kProgramId, 422 kProgramId,
424 vertex_shader_, 423 vertex_shader_,
425 NULL, 424 NULL,
426 fragment_shader_, 425 fragment_shader_,
427 NULL, 426 NULL,
428 NULL, 427 NULL,
429 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 428 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
430 base::Unretained(this)))); 429 base::Unretained(this))));
431 } 430 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator1); 486 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator1);
488 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL, 487 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL,
489 fragment_shader_, NULL, NULL, 488 fragment_shader_, NULL, NULL,
490 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 489 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
491 base::Unretained(this))); 490 base::Unretained(this)));
492 491
493 const int kEvictingProgramId = 11; 492 const int kEvictingProgramId = 11;
494 const GLuint kEvictingBinaryLength = kCacheSizeBytes - kBinaryLength + 1; 493 const GLuint kEvictingBinaryLength = kCacheSizeBytes - kBinaryLength + 1;
495 494
496 // save old source and modify for new program 495 // save old source and modify for new program
497 const std::string old_source = 496 const std::string& old_source = fragment_shader_->signature_source();
498 *fragment_shader_->signature_source(); 497 fragment_shader_->set_source("al sdfkjdk");
499 fragment_shader_->UpdateSource("al sdfkjdk"); 498 TestHelper::SetShaderStates(gl_.get(), fragment_shader_, true);
500 fragment_shader_->SetStatus(true, NULL, NULL);
501 499
502 scoped_ptr<char[]> bigTestBinary = 500 scoped_ptr<char[]> bigTestBinary =
503 scoped_ptr<char[]>(new char[kEvictingBinaryLength]); 501 scoped_ptr<char[]>(new char[kEvictingBinaryLength]);
504 for (size_t i = 0; i < kEvictingBinaryLength; ++i) { 502 for (size_t i = 0; i < kEvictingBinaryLength; ++i) {
505 bigTestBinary[i] = i % 250; 503 bigTestBinary[i] = i % 250;
506 } 504 }
507 ProgramBinaryEmulator emulator2(kEvictingBinaryLength, 505 ProgramBinaryEmulator emulator2(kEvictingBinaryLength,
508 kFormat, 506 kFormat,
509 bigTestBinary.get()); 507 bigTestBinary.get());
510 508
511 SetExpectationsForSaveLinkedProgram(kEvictingProgramId, &emulator2); 509 SetExpectationsForSaveLinkedProgram(kEvictingProgramId, &emulator2);
512 cache_->SaveLinkedProgram(kEvictingProgramId, 510 cache_->SaveLinkedProgram(kEvictingProgramId,
513 vertex_shader_, 511 vertex_shader_,
514 NULL, 512 NULL,
515 fragment_shader_, 513 fragment_shader_,
516 NULL, 514 NULL,
517 NULL, 515 NULL,
518 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 516 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
519 base::Unretained(this))); 517 base::Unretained(this)));
520 518
521 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( 519 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
522 *vertex_shader_->signature_source(), 520 vertex_shader_->signature_source(),
523 NULL, 521 NULL,
524 *fragment_shader_->signature_source(), 522 fragment_shader_->signature_source(),
525 NULL, 523 NULL,
526 NULL)); 524 NULL));
527 EXPECT_EQ(ProgramCache::LINK_UNKNOWN, cache_->GetLinkedProgramStatus( 525 EXPECT_EQ(ProgramCache::LINK_UNKNOWN, cache_->GetLinkedProgramStatus(
528 old_source, 526 old_source,
529 NULL, 527 NULL,
530 *fragment_shader_->signature_source(), 528 fragment_shader_->signature_source(),
531 NULL, 529 NULL,
532 NULL)); 530 NULL));
533 } 531 }
534 532
535 TEST_F(MemoryProgramCacheTest, SaveCorrectProgram) { 533 TEST_F(MemoryProgramCacheTest, SaveCorrectProgram) {
536 const GLenum kFormat = 1; 534 const GLenum kFormat = 1;
537 const int kProgramId = 10; 535 const int kProgramId = 10;
538 const int kBinaryLength = 20; 536 const int kBinaryLength = 20;
539 char test_binary[kBinaryLength]; 537 char test_binary[kBinaryLength];
540 for (int i = 0; i < kBinaryLength; ++i) { 538 for (int i = 0; i < kBinaryLength; ++i) {
541 test_binary[i] = i; 539 test_binary[i] = i;
542 } 540 }
543 ProgramBinaryEmulator emulator1(kBinaryLength, kFormat, test_binary); 541 ProgramBinaryEmulator emulator1(kBinaryLength, kFormat, test_binary);
544 542
545 vertex_shader_->UpdateSource("different!"); 543 vertex_shader_->set_source("different!");
546 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator1); 544 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator1);
547 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL, 545 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL,
548 fragment_shader_, NULL, NULL, 546 fragment_shader_, NULL, NULL,
549 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 547 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
550 base::Unretained(this))); 548 base::Unretained(this)));
551 549
552 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( 550 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
553 *vertex_shader_->signature_source(), 551 vertex_shader_->signature_source(),
554 NULL, 552 NULL,
555 *fragment_shader_->signature_source(), 553 fragment_shader_->signature_source(),
556 NULL, 554 NULL,
557 NULL)); 555 NULL));
558 } 556 }
559 557
560 TEST_F(MemoryProgramCacheTest, LoadCorrectProgram) { 558 TEST_F(MemoryProgramCacheTest, LoadCorrectProgram) {
561 const GLenum kFormat = 1; 559 const GLenum kFormat = 1;
562 const int kProgramId = 10; 560 const int kProgramId = 10;
563 const int kBinaryLength = 20; 561 const int kBinaryLength = 20;
564 char test_binary[kBinaryLength]; 562 char test_binary[kBinaryLength];
565 for (int i = 0; i < kBinaryLength; ++i) { 563 for (int i = 0; i < kBinaryLength; ++i) {
566 test_binary[i] = i; 564 test_binary[i] = i;
567 } 565 }
568 ProgramBinaryEmulator emulator(kBinaryLength, kFormat, test_binary); 566 ProgramBinaryEmulator emulator(kBinaryLength, kFormat, test_binary);
569 567
570 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator); 568 SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
571 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL, 569 cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL,
572 fragment_shader_, NULL, NULL, 570 fragment_shader_, NULL, NULL,
573 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 571 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
574 base::Unretained(this))); 572 base::Unretained(this)));
575 573
576 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( 574 EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
577 *vertex_shader_->signature_source(), 575 vertex_shader_->signature_source(),
578 NULL, 576 NULL,
579 *fragment_shader_->signature_source(), 577 fragment_shader_->signature_source(),
580 NULL, 578 NULL,
581 NULL)); 579 NULL));
582 580
583 SetExpectationsForLoadLinkedProgram(kProgramId, &emulator); 581 SetExpectationsForLoadLinkedProgram(kProgramId, &emulator);
584 582
585 fragment_shader_->UpdateSource("different!"); 583 fragment_shader_->set_source("different!");
586 EXPECT_EQ(ProgramCache::PROGRAM_LOAD_SUCCESS, cache_->LoadLinkedProgram( 584 EXPECT_EQ(ProgramCache::PROGRAM_LOAD_SUCCESS, cache_->LoadLinkedProgram(
587 kProgramId, 585 kProgramId,
588 vertex_shader_, 586 vertex_shader_,
589 NULL, 587 NULL,
590 fragment_shader_, 588 fragment_shader_,
591 NULL, 589 NULL,
592 NULL, 590 NULL,
593 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 591 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
594 base::Unretained(this)))); 592 base::Unretained(this))));
595 } 593 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 NULL, 627 NULL,
630 fragment_shader_, 628 fragment_shader_,
631 NULL, 629 NULL,
632 NULL, 630 NULL,
633 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, 631 base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
634 base::Unretained(this)))); 632 base::Unretained(this))));
635 } 633 }
636 634
637 } // namespace gles2 635 } // namespace gles2
638 } // namespace gpu 636 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/memory_program_cache.cc ('k') | gpu/command_buffer/service/mocks.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698