summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/memory_program_cache_unittest.cc
diff options
context:
space:
mode:
authordsinclair@chromium.org <dsinclair@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-19 03:50:57 +0000
committerdsinclair@chromium.org <dsinclair@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-19 03:50:57 +0000
commit2c23bfd49e4c987af2a3473f05ddfe733dd28ecf (patch)
treef60d45e014e7a668fe94220549d15e06063d6d86 /gpu/command_buffer/service/memory_program_cache_unittest.cc
parent720e1e622e14c79677bbe27604e6638bf294ec4d (diff)
downloadchromium_src-2c23bfd49e4c987af2a3473f05ddfe733dd28ecf.zip
chromium_src-2c23bfd49e4c987af2a3473f05ddfe733dd28ecf.tar.gz
chromium_src-2c23bfd49e4c987af2a3473f05ddfe733dd28ecf.tar.bz2
Revert "Revert 193798 "Revert r192949 "Disable shader disk cache by defa...""
The automation_proxy don't appear in the build run where this was committed. Doesn't seem like this is the root cause of the issues. > Revert 193798 "Revert r192949 "Disable shader disk cache by defa..." > > Reverting seems to fix memory_test test locally on linux. > > BUG=230085 > > > Revert r192949 "Disable shader disk cache by default." > > > > This reverts commit r192949. The disable has been merged into > > M27 so re-enabling on trunk. > > > > BUG=228989 > > > > Review URL: https://chromiumcodereview.appspot.com/13872012 > > TBR=dsinclair@chromium.org > > Review URL: https://codereview.chromium.org/13924005 TBR=tonyg@chromium.org Review URL: https://chromiumcodereview.appspot.com/14119009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195083 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/memory_program_cache_unittest.cc')
-rw-r--r--gpu/command_buffer/service/memory_program_cache_unittest.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/memory_program_cache_unittest.cc b/gpu/command_buffer/service/memory_program_cache_unittest.cc
index a1d07fc..b083552 100644
--- a/gpu/command_buffer/service/memory_program_cache_unittest.cc
+++ b/gpu/command_buffer/service/memory_program_cache_unittest.cc
@@ -204,6 +204,37 @@ TEST_F(MemoryProgramCacheTest, CacheSave) {
*vertex_shader_->deferred_compilation_source(),
*fragment_shader_->deferred_compilation_source(),
NULL));
+ EXPECT_EQ(1, shader_cache_count());
+}
+
+TEST_F(MemoryProgramCacheTest, LoadProgram) {
+ 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);
+ cache_->SaveLinkedProgram(kProgramId, vertex_shader_, fragment_shader_, NULL,
+ base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
+ base::Unretained(this)));
+
+ EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
+ *vertex_shader_->deferred_compilation_source(),
+ *fragment_shader_->deferred_compilation_source(),
+ NULL));
+ EXPECT_EQ(1, shader_cache_count());
+
+ cache_->Clear();
+
+ cache_->LoadProgram(shader_cache_shader());
+ EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
+ *vertex_shader_->deferred_compilation_source(),
+ *fragment_shader_->deferred_compilation_source(),
+ NULL));
}
TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
@@ -220,6 +251,7 @@ TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
cache_->SaveLinkedProgram(kProgramId, vertex_shader_, fragment_shader_, NULL,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
+ EXPECT_EQ(1, shader_cache_count());
VariableMap vertex_attrib_map = vertex_shader_->attrib_map();
VariableMap vertex_uniform_map = vertex_shader_->uniform_map();
@@ -265,6 +297,7 @@ TEST_F(MemoryProgramCacheTest, LoadProgramMatchesSave) {
cache_->SaveLinkedProgram(kProgramId, vertex_shader_, fragment_shader_, NULL,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
+ EXPECT_EQ(1, shader_cache_count());
VariableMap vertex_attrib_map = vertex_shader_->attrib_map();
VariableMap vertex_uniform_map = vertex_shader_->uniform_map();
@@ -278,6 +311,9 @@ TEST_F(MemoryProgramCacheTest, LoadProgramMatchesSave) {
SetExpectationsForLoadLinkedProgram(kProgramId, &emulator);
+ cache_->Clear();
+ cache_->LoadProgram(shader_cache_shader());
+
EXPECT_EQ(ProgramCache::PROGRAM_LOAD_SUCCESS, cache_->LoadLinkedProgram(
kProgramId,
vertex_shader_,