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 6973e67afe433c7c44a77fbd8ff4f27235562a51..ba18ff4fba445fd8f0c7170b6e109f1a1a10de8a 100644 |
--- a/gpu/command_buffer/service/memory_program_cache_unittest.cc |
+++ b/gpu/command_buffer/service/memory_program_cache_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "gpu/command_buffer/service/gpu_service_test.h" |
#include "gpu/command_buffer/service/shader_manager.h" |
#include "gpu/command_buffer/service/shader_translator.h" |
+#include "gpu/command_buffer/service/test_helper.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "ui/gl/gl_bindings.h" |
#include "ui/gl/gl_mock.h" |
@@ -123,18 +124,17 @@ class MemoryProgramCacheTest : public GpuServiceTest { |
VariableInfo(10, 34413, SH_PRECISION_MEDIUMP, 1, "k"); |
fragment_varying_map["c"] = VariableInfo(3, 2, SH_PRECISION_HIGHP, 1, "c"); |
- vertex_shader_->set_attrib_map(vertex_attrib_map); |
- vertex_shader_->set_uniform_map(vertex_uniform_map); |
- vertex_shader_->set_varying_map(vertex_varying_map); |
- fragment_shader_->set_attrib_map(vertex_attrib_map); |
- fragment_shader_->set_uniform_map(vertex_uniform_map); |
- fragment_shader_->set_varying_map(vertex_varying_map); |
- |
- vertex_shader_->UpdateSource("bbbalsldkdkdkd"); |
- fragment_shader_->UpdateSource("bbbal sldkdkdkas 134 ad"); |
- |
- vertex_shader_->SetStatus(true, NULL, NULL); |
- fragment_shader_->SetStatus(true, NULL, NULL); |
+ vertex_shader_->set_source("bbbalsldkdkdkd"); |
+ fragment_shader_->set_source("bbbal sldkdkdkas 134 ad"); |
+ |
+ TestHelper::SetShaderStates( |
+ gl_.get(), vertex_shader_, true, NULL, NULL, |
+ &vertex_attrib_map, &vertex_uniform_map, &vertex_varying_map, |
+ NULL); |
+ TestHelper::SetShaderStates( |
+ gl_.get(), fragment_shader_, true, NULL, NULL, |
+ &fragment_attrib_map, &fragment_uniform_map, &fragment_varying_map, |
+ NULL); |
} |
void SetExpectationsForSaveLinkedProgram( |
@@ -201,9 +201,9 @@ TEST_F(MemoryProgramCacheTest, CacheSave) { |
base::Unretained(this))); |
EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( |
- *vertex_shader_->signature_source(), |
+ vertex_shader_->signature_source(), |
NULL, |
- *fragment_shader_->signature_source(), |
+ fragment_shader_->signature_source(), |
NULL, |
NULL)); |
EXPECT_EQ(1, shader_cache_count()); |
@@ -226,9 +226,9 @@ TEST_F(MemoryProgramCacheTest, LoadProgram) { |
base::Unretained(this))); |
EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( |
- *vertex_shader_->signature_source(), |
+ vertex_shader_->signature_source(), |
NULL, |
- *fragment_shader_->signature_source(), |
+ fragment_shader_->signature_source(), |
NULL, |
NULL)); |
EXPECT_EQ(1, shader_cache_count()); |
@@ -237,9 +237,9 @@ TEST_F(MemoryProgramCacheTest, LoadProgram) { |
cache_->LoadProgram(shader_cache_shader()); |
EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( |
- *vertex_shader_->signature_source(), |
+ vertex_shader_->signature_source(), |
NULL, |
- *fragment_shader_->signature_source(), |
+ fragment_shader_->signature_source(), |
NULL, |
NULL)); |
} |
@@ -401,10 +401,9 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentSource) { |
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, |
base::Unretained(this))); |
- const std::string vertex_orig_source = |
- *vertex_shader_->signature_source(); |
- vertex_shader_->UpdateSource("different!"); |
- vertex_shader_->SetStatus(true, NULL, NULL); |
+ const std::string vertex_orig_source = vertex_shader_->signature_source(); |
+ vertex_shader_->set_source("different!"); |
+ TestHelper::SetShaderStates(gl_.get(), vertex_shader_, true); |
EXPECT_EQ(ProgramCache::PROGRAM_LOAD_FAILURE, cache_->LoadLinkedProgram( |
kProgramId, |
vertex_shader_, |
@@ -415,10 +414,10 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentSource) { |
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb, |
base::Unretained(this)))); |
- vertex_shader_->UpdateSource(vertex_orig_source.c_str()); |
- vertex_shader_->SetStatus(true, NULL, NULL); |
- fragment_shader_->UpdateSource("different!"); |
- fragment_shader_->SetStatus(true, NULL, NULL); |
+ vertex_shader_->set_source(vertex_orig_source); |
+ TestHelper::SetShaderStates(gl_.get(), vertex_shader_, true); |
+ fragment_shader_->set_source("different!"); |
+ TestHelper::SetShaderStates(gl_.get(), fragment_shader_, true); |
EXPECT_EQ(ProgramCache::PROGRAM_LOAD_FAILURE, cache_->LoadLinkedProgram( |
kProgramId, |
vertex_shader_, |
@@ -494,10 +493,9 @@ TEST_F(MemoryProgramCacheTest, MemoryProgramCacheEviction) { |
const GLuint kEvictingBinaryLength = kCacheSizeBytes - kBinaryLength + 1; |
// save old source and modify for new program |
- const std::string old_source = |
- *fragment_shader_->signature_source(); |
- fragment_shader_->UpdateSource("al sdfkjdk"); |
- fragment_shader_->SetStatus(true, NULL, NULL); |
+ const std::string& old_source = fragment_shader_->signature_source(); |
+ fragment_shader_->set_source("al sdfkjdk"); |
+ TestHelper::SetShaderStates(gl_.get(), fragment_shader_, true); |
scoped_ptr<char[]> bigTestBinary = |
scoped_ptr<char[]>(new char[kEvictingBinaryLength]); |
@@ -519,15 +517,15 @@ TEST_F(MemoryProgramCacheTest, MemoryProgramCacheEviction) { |
base::Unretained(this))); |
EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( |
- *vertex_shader_->signature_source(), |
+ vertex_shader_->signature_source(), |
NULL, |
- *fragment_shader_->signature_source(), |
+ fragment_shader_->signature_source(), |
NULL, |
NULL)); |
EXPECT_EQ(ProgramCache::LINK_UNKNOWN, cache_->GetLinkedProgramStatus( |
old_source, |
NULL, |
- *fragment_shader_->signature_source(), |
+ fragment_shader_->signature_source(), |
NULL, |
NULL)); |
} |
@@ -542,7 +540,7 @@ TEST_F(MemoryProgramCacheTest, SaveCorrectProgram) { |
} |
ProgramBinaryEmulator emulator1(kBinaryLength, kFormat, test_binary); |
- vertex_shader_->UpdateSource("different!"); |
+ vertex_shader_->set_source("different!"); |
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator1); |
cache_->SaveLinkedProgram(kProgramId, vertex_shader_, NULL, |
fragment_shader_, NULL, NULL, |
@@ -550,9 +548,9 @@ TEST_F(MemoryProgramCacheTest, SaveCorrectProgram) { |
base::Unretained(this))); |
EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( |
- *vertex_shader_->signature_source(), |
+ vertex_shader_->signature_source(), |
NULL, |
- *fragment_shader_->signature_source(), |
+ fragment_shader_->signature_source(), |
NULL, |
NULL)); |
} |
@@ -574,15 +572,15 @@ TEST_F(MemoryProgramCacheTest, LoadCorrectProgram) { |
base::Unretained(this))); |
EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus( |
- *vertex_shader_->signature_source(), |
+ vertex_shader_->signature_source(), |
NULL, |
- *fragment_shader_->signature_source(), |
+ fragment_shader_->signature_source(), |
NULL, |
NULL)); |
SetExpectationsForLoadLinkedProgram(kProgramId, &emulator); |
- fragment_shader_->UpdateSource("different!"); |
+ fragment_shader_->set_source("different!"); |
EXPECT_EQ(ProgramCache::PROGRAM_LOAD_SUCCESS, cache_->LoadLinkedProgram( |
kProgramId, |
vertex_shader_, |