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

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

Issue 1309743005: command_buffer: Implement EXT_blend_func_extended (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@new-05-path-fragment-input-gen
Patch Set: ~ Created 5 years, 4 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
Index: gpu/command_buffer/service/shader_manager_unittest.cc
diff --git a/gpu/command_buffer/service/shader_manager_unittest.cc b/gpu/command_buffer/service/shader_manager_unittest.cc
index 87729b1babc49c48846f29bbd8179f2487ff9a76..68ad33c894ac544d623576d145a1374f6b4eabdf 100644
--- a/gpu/command_buffer/service/shader_manager_unittest.cc
+++ b/gpu/command_buffer/service/shader_manager_unittest.cc
@@ -126,6 +126,11 @@ TEST_F(ShaderManagerTest, DoCompile) {
const GLenum kVarying1Precision = GL_HIGH_FLOAT;
const bool kVarying1StaticUse = false;
const char* kVarying1Name = "varying1";
+ const GLenum kOutputVariable1Type = GL_FLOAT_VEC4;
+ const GLint kOutputVariable1Size = 4;
+ const GLenum kOutputVariable1Precision = GL_MEDIUM_FLOAT;
+ const char* kOutputVariable1Name = "gl_FragColor";
+ const bool kOutputVariable1StaticUse = true;
// Check we can create shader.
Shader* shader1 = manager_.CreateShader(
@@ -187,10 +192,13 @@ TEST_F(ShaderManagerTest, DoCompile) {
varying_map[kVarying1Name] = TestHelper::ConstructVarying(
kVarying1Type, kVarying1Size, kVarying1Precision,
kVarying1StaticUse, kVarying1Name);
-
+ AttributeList output_variable_list;
+ output_variable_list.push_back(TestHelper::ConstructAttribute(
+ kOutputVariable1Type, kOutputVariable1Size, kOutputVariable1Precision,
+ kOutputVariable1StaticUse, kOutputVariable1Name));
TestHelper::SetShaderStates(
- gl_.get(), shader1, true, &kLog, &kTranslatedSource, NULL,
- &attrib_map, &uniform_map, &varying_map, NULL);
+ gl_.get(), shader1, true, &kLog, &kTranslatedSource, NULL, &attrib_map,
+ &uniform_map, &varying_map, &output_variable_list, NULL);
EXPECT_TRUE(shader1->valid());
// When compilation succeeds, no log is recorded.
EXPECT_STREQ("", shader1->log_info().c_str());
@@ -233,17 +241,32 @@ TEST_F(ShaderManagerTest, DoCompile) {
EXPECT_EQ(it->second.staticUse, variable_info->staticUse);
EXPECT_STREQ(it->second.name.c_str(), variable_info->name.c_str());
}
+ // Check output variable infos got copied.
+ EXPECT_EQ(output_variable_list.size(),
+ shader1->output_variable_list().size());
+ for (auto it = output_variable_list.begin(); it != output_variable_list.end();
+ ++it) {
+ const sh::Attribute* variable_info =
+ shader1->GetOutputVariableInfo(it->mappedName);
+ ASSERT_TRUE(variable_info != nullptr);
+ EXPECT_EQ(it->type, variable_info->type);
+ EXPECT_EQ(it->arraySize, variable_info->arraySize);
+ EXPECT_EQ(it->precision, variable_info->precision);
+ EXPECT_EQ(it->staticUse, variable_info->staticUse);
+ EXPECT_STREQ(it->name.c_str(), variable_info->name.c_str());
+ }
// Compile failure case.
TestHelper::SetShaderStates(
- gl_.get(), shader1, false, &kLog, &kTranslatedSource, NULL,
- &attrib_map, &uniform_map, &varying_map, NULL);
+ gl_.get(), shader1, false, &kLog, &kTranslatedSource, NULL, &attrib_map,
+ &uniform_map, &varying_map, &output_variable_list, NULL);
EXPECT_FALSE(shader1->valid());
EXPECT_STREQ(kLog.c_str(), shader1->log_info().c_str());
EXPECT_STREQ("", shader1->translated_source().c_str());
EXPECT_TRUE(shader1->attrib_map().empty());
EXPECT_TRUE(shader1->uniform_map().empty());
EXPECT_TRUE(shader1->varying_map().empty());
+ EXPECT_TRUE(shader1->output_variable_list().empty());
}
TEST_F(ShaderManagerTest, ShaderInfoUseCount) {

Powered by Google App Engine
This is Rietveld 408576698