| Index: gpu/command_buffer/service/memory_program_cache_unittest.cc
|
| diff --git a/gpu/command_buffer/service/memory_program_cache_unittest.cc b/gpu/command_buffer/service/memory_program_cache_unittest.cc
|
| index 795b0afc072fc33c3dc728ebc041f3e90eb1dd3b..5e68836420efd01ef066f894727a64572b7abef2 100644
|
| --- a/gpu/command_buffer/service/memory_program_cache_unittest.cc
|
| +++ b/gpu/command_buffer/service/memory_program_cache_unittest.cc
|
| @@ -191,14 +191,14 @@ TEST_F(MemoryProgramCacheTest, CacheSave) {
|
|
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
|
| vertex_shader_->last_compiled_signature(),
|
| fragment_shader_->last_compiled_signature(),
|
| - NULL));
|
| + NULL, NULL, GL_NONE));
|
| EXPECT_EQ(1, shader_cache_count());
|
| }
|
|
|
| @@ -214,14 +214,14 @@ TEST_F(MemoryProgramCacheTest, LoadProgram) {
|
|
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
|
| vertex_shader_->last_compiled_signature(),
|
| fragment_shader_->last_compiled_signature(),
|
| - NULL));
|
| + NULL, NULL, GL_NONE));
|
| EXPECT_EQ(1, shader_cache_count());
|
|
|
| cache_->Clear();
|
| @@ -230,7 +230,7 @@ TEST_F(MemoryProgramCacheTest, LoadProgram) {
|
| EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
|
| vertex_shader_->last_compiled_signature(),
|
| fragment_shader_->last_compiled_signature(),
|
| - NULL));
|
| + NULL, NULL, GL_NONE));
|
| }
|
|
|
| TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
|
| @@ -245,7 +245,7 @@ TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
|
|
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
| EXPECT_EQ(1, shader_cache_count());
|
| @@ -271,6 +271,8 @@ TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| NULL,
|
| + NULL,
|
| + GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this))));
|
|
|
| @@ -298,7 +300,7 @@ TEST_F(MemoryProgramCacheTest, LoadProgramMatchesSave) {
|
|
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
| EXPECT_EQ(1, shader_cache_count());
|
| @@ -327,6 +329,8 @@ TEST_F(MemoryProgramCacheTest, LoadProgramMatchesSave) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| NULL,
|
| + NULL,
|
| + GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this))));
|
|
|
| @@ -354,7 +358,7 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnLinkFalse) {
|
|
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| @@ -364,6 +368,8 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnLinkFalse) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| NULL,
|
| + NULL,
|
| + GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this))));
|
| }
|
| @@ -380,7 +386,7 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentSource) {
|
|
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| @@ -392,6 +398,8 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentSource) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| NULL,
|
| + NULL,
|
| + GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this))));
|
|
|
| @@ -404,6 +412,8 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentSource) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| NULL,
|
| + NULL,
|
| + GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this))));
|
| }
|
| @@ -425,6 +435,8 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentMap) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| &binding_map,
|
| + NULL,
|
| + GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| @@ -434,6 +446,8 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentMap) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| &binding_map,
|
| + NULL,
|
| + GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this))));
|
| EXPECT_EQ(ProgramCache::PROGRAM_LOAD_FAILURE, cache_->LoadLinkedProgram(
|
| @@ -441,6 +455,51 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentMap) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| NULL,
|
| + NULL,
|
| + GL_NONE,
|
| + base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| + base::Unretained(this))));
|
| +}
|
| +
|
| +TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentTransformFeedbackVaryings) {
|
| + const GLenum kFormat = 1;
|
| + const int kProgramId = 10;
|
| + const int kBinaryLength = 20;
|
| + char test_binary[kBinaryLength];
|
| + for (int i = 0; i < kBinaryLength; ++i) {
|
| + test_binary[i] = i;
|
| + }
|
| + ProgramBinaryEmulator emulator(kBinaryLength, kFormat, test_binary);
|
| +
|
| + SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
|
| + std::vector<std::string> varyings;
|
| + varyings.push_back("test");
|
| + cache_->SaveLinkedProgram(kProgramId,
|
| + vertex_shader_,
|
| + fragment_shader_,
|
| + NULL,
|
| + &varyings,
|
| + GL_INTERLEAVED_ATTRIBS,
|
| + base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| + base::Unretained(this)));
|
| +
|
| + varyings.push_back("different!");
|
| + EXPECT_EQ(ProgramCache::PROGRAM_LOAD_FAILURE, cache_->LoadLinkedProgram(
|
| + kProgramId,
|
| + vertex_shader_,
|
| + fragment_shader_,
|
| + NULL,
|
| + &varyings,
|
| + GL_INTERLEAVED_ATTRIBS,
|
| + base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| + base::Unretained(this))));
|
| + EXPECT_EQ(ProgramCache::PROGRAM_LOAD_FAILURE, cache_->LoadLinkedProgram(
|
| + kProgramId,
|
| + vertex_shader_,
|
| + fragment_shader_,
|
| + NULL,
|
| + NULL,
|
| + GL_INTERLEAVED_ATTRIBS,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this))));
|
| }
|
| @@ -458,7 +517,7 @@ TEST_F(MemoryProgramCacheTest, MemoryProgramCacheEviction) {
|
|
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator1);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| @@ -484,17 +543,19 @@ TEST_F(MemoryProgramCacheTest, MemoryProgramCacheEviction) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| NULL,
|
| + NULL,
|
| + GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
|
| vertex_shader_->last_compiled_signature(),
|
| fragment_shader_->last_compiled_signature(),
|
| - NULL));
|
| + NULL, NULL, GL_NONE));
|
| EXPECT_EQ(ProgramCache::LINK_UNKNOWN, cache_->GetLinkedProgramStatus(
|
| old_sig,
|
| fragment_shader_->last_compiled_signature(),
|
| - NULL));
|
| + NULL, NULL, GL_NONE));
|
| }
|
|
|
| TEST_F(MemoryProgramCacheTest, SaveCorrectProgram) {
|
| @@ -510,14 +571,14 @@ TEST_F(MemoryProgramCacheTest, SaveCorrectProgram) {
|
| vertex_shader_->set_source("different!");
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator1);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
|
| vertex_shader_->last_compiled_signature(),
|
| fragment_shader_->last_compiled_signature(),
|
| - NULL));
|
| + NULL, NULL, GL_NONE));
|
| }
|
|
|
| TEST_F(MemoryProgramCacheTest, LoadCorrectProgram) {
|
| @@ -532,14 +593,14 @@ TEST_F(MemoryProgramCacheTest, LoadCorrectProgram) {
|
|
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
|
| vertex_shader_->last_compiled_signature(),
|
| fragment_shader_->last_compiled_signature(),
|
| - NULL));
|
| + NULL, NULL, GL_NONE));
|
|
|
| SetExpectationsForLoadLinkedProgram(kProgramId, &emulator);
|
|
|
| @@ -549,6 +610,8 @@ TEST_F(MemoryProgramCacheTest, LoadCorrectProgram) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| NULL,
|
| + NULL,
|
| + GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this))));
|
| }
|
| @@ -565,7 +628,7 @@ TEST_F(MemoryProgramCacheTest, OverwriteOnNewSave) {
|
|
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| @@ -577,7 +640,7 @@ TEST_F(MemoryProgramCacheTest, OverwriteOnNewSave) {
|
| ProgramBinaryEmulator emulator2(kBinaryLength, kFormat, test_binary2);
|
| SetExpectationsForSaveLinkedProgram(kProgramId, &emulator2);
|
| cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
|
| - fragment_shader_, NULL,
|
| + fragment_shader_, NULL, NULL, GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this)));
|
|
|
| @@ -587,6 +650,8 @@ TEST_F(MemoryProgramCacheTest, OverwriteOnNewSave) {
|
| vertex_shader_,
|
| fragment_shader_,
|
| NULL,
|
| + NULL,
|
| + GL_NONE,
|
| base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
|
| base::Unretained(this))));
|
| }
|
|
|