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

Unified Diff: gpu/command_buffer/service/memory_program_cache_unittest.cc

Issue 1013463003: Update from https://crrev.com/320931 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 9 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 side-by-side diff with in-line comments
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 »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..8dba185cd9f4ed9506a85efc40d0778427236c5f 100644
--- a/gpu/command_buffer/service/memory_program_cache_unittest.cc
+++ b/gpu/command_buffer/service/memory_program_cache_unittest.cc
@@ -177,6 +177,7 @@ class MemoryProgramCacheTest : public GpuServiceTest {
Shader* fragment_shader_;
int32 shader_cache_count_;
std::string shader_cache_shader_;
+ std::vector<std::string> varyings_;
};
TEST_F(MemoryProgramCacheTest, CacheSave) {
@@ -191,14 +192,14 @@ TEST_F(MemoryProgramCacheTest, CacheSave) {
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
- fragment_shader_, NULL,
+ fragment_shader_, NULL, varyings_, 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, varyings_, GL_NONE));
EXPECT_EQ(1, shader_cache_count());
}
@@ -214,14 +215,14 @@ TEST_F(MemoryProgramCacheTest, LoadProgram) {
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
- fragment_shader_, NULL,
+ fragment_shader_, NULL, varyings_, 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, varyings_, GL_NONE));
EXPECT_EQ(1, shader_cache_count());
cache_->Clear();
@@ -230,7 +231,7 @@ TEST_F(MemoryProgramCacheTest, LoadProgram) {
EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
vertex_shader_->last_compiled_signature(),
fragment_shader_->last_compiled_signature(),
- NULL));
+ NULL, varyings_, GL_NONE));
}
TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
@@ -245,7 +246,7 @@ TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
- fragment_shader_, NULL,
+ fragment_shader_, NULL, varyings_, GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
EXPECT_EQ(1, shader_cache_count());
@@ -271,6 +272,8 @@ TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
vertex_shader_,
fragment_shader_,
NULL,
+ varyings_,
+ GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this))));
@@ -298,7 +301,7 @@ TEST_F(MemoryProgramCacheTest, LoadProgramMatchesSave) {
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
- fragment_shader_, NULL,
+ fragment_shader_, NULL, varyings_, GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
EXPECT_EQ(1, shader_cache_count());
@@ -327,6 +330,8 @@ TEST_F(MemoryProgramCacheTest, LoadProgramMatchesSave) {
vertex_shader_,
fragment_shader_,
NULL,
+ varyings_,
+ GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this))));
@@ -354,7 +359,7 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnLinkFalse) {
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
- fragment_shader_, NULL,
+ fragment_shader_, NULL, varyings_, GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
@@ -364,6 +369,8 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnLinkFalse) {
vertex_shader_,
fragment_shader_,
NULL,
+ varyings_,
+ GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this))));
}
@@ -380,7 +387,7 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentSource) {
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
- fragment_shader_, NULL,
+ fragment_shader_, NULL, varyings_, GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
@@ -392,6 +399,8 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentSource) {
vertex_shader_,
fragment_shader_,
NULL,
+ varyings_,
+ GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this))));
@@ -404,6 +413,8 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentSource) {
vertex_shader_,
fragment_shader_,
NULL,
+ varyings_,
+ GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this))));
}
@@ -425,6 +436,8 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentMap) {
vertex_shader_,
fragment_shader_,
&binding_map,
+ varyings_,
+ GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
@@ -434,6 +447,8 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentMap) {
vertex_shader_,
fragment_shader_,
&binding_map,
+ varyings_,
+ GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this))));
EXPECT_EQ(ProgramCache::PROGRAM_LOAD_FAILURE, cache_->LoadLinkedProgram(
@@ -441,6 +456,51 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentMap) {
vertex_shader_,
fragment_shader_,
NULL,
+ varyings_,
+ 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);
+ varyings_.push_back("test");
+ cache_->SaveLinkedProgram(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,
+ varyings_,
+ GL_SEPARATE_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))));
}
@@ -458,7 +518,7 @@ TEST_F(MemoryProgramCacheTest, MemoryProgramCacheEviction) {
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator1);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
- fragment_shader_, NULL,
+ fragment_shader_, NULL, varyings_, GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
@@ -484,17 +544,19 @@ TEST_F(MemoryProgramCacheTest, MemoryProgramCacheEviction) {
vertex_shader_,
fragment_shader_,
NULL,
+ varyings_,
+ 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, varyings_, GL_NONE));
EXPECT_EQ(ProgramCache::LINK_UNKNOWN, cache_->GetLinkedProgramStatus(
old_sig,
fragment_shader_->last_compiled_signature(),
- NULL));
+ NULL, varyings_, GL_NONE));
}
TEST_F(MemoryProgramCacheTest, SaveCorrectProgram) {
@@ -510,14 +572,14 @@ TEST_F(MemoryProgramCacheTest, SaveCorrectProgram) {
vertex_shader_->set_source("different!");
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator1);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
- fragment_shader_, NULL,
+ fragment_shader_, NULL, varyings_, 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, varyings_, GL_NONE));
}
TEST_F(MemoryProgramCacheTest, LoadCorrectProgram) {
@@ -532,14 +594,14 @@ TEST_F(MemoryProgramCacheTest, LoadCorrectProgram) {
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
- fragment_shader_, NULL,
+ fragment_shader_, NULL, varyings_, 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, varyings_, GL_NONE));
SetExpectationsForLoadLinkedProgram(kProgramId, &emulator);
@@ -549,6 +611,8 @@ TEST_F(MemoryProgramCacheTest, LoadCorrectProgram) {
vertex_shader_,
fragment_shader_,
NULL,
+ varyings_,
+ GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this))));
}
@@ -565,7 +629,7 @@ TEST_F(MemoryProgramCacheTest, OverwriteOnNewSave) {
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_,
- fragment_shader_, NULL,
+ fragment_shader_, NULL, varyings_, GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
@@ -577,7 +641,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, varyings_, GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
@@ -587,6 +651,8 @@ TEST_F(MemoryProgramCacheTest, OverwriteOnNewSave) {
vertex_shader_,
fragment_shader_,
NULL,
+ varyings_,
+ GL_NONE,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this))));
}
« 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