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

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

Issue 619723008: Switch to use ANGLE's new APIs to query shader variables. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: win build fix Created 6 years, 2 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/shader_translator.cc ('k') | gpu/command_buffer/service/test_helper.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/service/shader_translator_unittest.cc
diff --git a/gpu/command_buffer/service/shader_translator_unittest.cc b/gpu/command_buffer/service/shader_translator_unittest.cc
index f489626b59988c351f8fefe1f5f92f212c7e996c..198ea827678f419e4a8f9b510e909f290a6a1c50 100644
--- a/gpu/command_buffer/service/shader_translator_unittest.cc
+++ b/gpu/command_buffer/service/shader_translator_unittest.cc
@@ -54,8 +54,10 @@ TEST_F(ShaderTranslatorTest, ValidVertexShader) {
// A valid shader should be successfully translated.
std::string info_log, translated_source;
- ShaderTranslatorInterface::VariableMap attrib_map, uniform_map, varying_map;
- ShaderTranslatorInterface::NameMap name_map;
+ AttributeMap attrib_map;
+ UniformMap uniform_map;
+ VaryingMap varying_map;
+ NameMap name_map;
EXPECT_TRUE(vertex_translator_->Translate(shader,
&info_log,
&translated_source,
@@ -84,8 +86,10 @@ TEST_F(ShaderTranslatorTest, InvalidVertexShader) {
// An invalid shader should fail.
std::string info_log, translated_source;
- ShaderTranslatorInterface::VariableMap attrib_map, uniform_map, varying_map;
- ShaderTranslatorInterface::NameMap name_map;
+ AttributeMap attrib_map;
+ UniformMap uniform_map;
+ VaryingMap varying_map;
+ NameMap name_map;
EXPECT_FALSE(vertex_translator_->Translate(bad_shader,
&info_log,
&translated_source,
@@ -124,8 +128,10 @@ TEST_F(ShaderTranslatorTest, ValidFragmentShader) {
// A valid shader should be successfully translated.
std::string info_log, translated_source;
- ShaderTranslatorInterface::VariableMap attrib_map, uniform_map, varying_map;
- ShaderTranslatorInterface::NameMap name_map;
+ AttributeMap attrib_map;
+ UniformMap uniform_map;
+ VaryingMap varying_map;
+ NameMap name_map;
EXPECT_TRUE(fragment_translator_->Translate(shader,
&info_log,
&translated_source,
@@ -148,8 +154,10 @@ TEST_F(ShaderTranslatorTest, InvalidFragmentShader) {
const char* shader = "foo-bar";
std::string info_log, translated_source;
- ShaderTranslatorInterface::VariableMap attrib_map, uniform_map, varying_map;
- ShaderTranslatorInterface::NameMap name_map;
+ AttributeMap attrib_map;
+ UniformMap uniform_map;
+ VaryingMap varying_map;
+ NameMap name_map;
// An invalid shader should fail.
EXPECT_FALSE(fragment_translator_->Translate(shader,
&info_log,
@@ -177,8 +185,10 @@ TEST_F(ShaderTranslatorTest, GetAttributes) {
"}";
std::string info_log, translated_source;
- ShaderTranslatorInterface::VariableMap attrib_map, uniform_map, varying_map;
- ShaderTranslatorInterface::NameMap name_map;
+ AttributeMap attrib_map;
+ UniformMap uniform_map;
+ VaryingMap varying_map;
+ NameMap name_map;
EXPECT_TRUE(vertex_translator_->Translate(shader,
&info_log,
&translated_source,
@@ -193,13 +203,12 @@ TEST_F(ShaderTranslatorTest, GetAttributes) {
// There should be no uniforms.
EXPECT_TRUE(uniform_map.empty());
// There should be one attribute with following characteristics:
- // name:vPosition type:GL_FLOAT_VEC4 size:1.
+ // name:vPosition type:GL_FLOAT_VEC4 size:0.
EXPECT_EQ(1u, attrib_map.size());
- ShaderTranslator::VariableMap::const_iterator iter =
- attrib_map.find("vPosition");
+ AttributeMap::const_iterator iter = attrib_map.find("vPosition");
EXPECT_TRUE(iter != attrib_map.end());
- EXPECT_EQ(GL_FLOAT_VEC4, iter->second.type);
- EXPECT_EQ(1, iter->second.size);
+ EXPECT_EQ(static_cast<GLenum>(GL_FLOAT_VEC4), iter->second.type);
+ EXPECT_EQ(0u, iter->second.arraySize);
EXPECT_EQ("vPosition", iter->second.name);
}
@@ -218,8 +227,10 @@ TEST_F(ShaderTranslatorTest, GetUniforms) {
"}";
std::string info_log, translated_source;
- ShaderTranslatorInterface::VariableMap attrib_map, uniform_map, varying_map;
- ShaderTranslatorInterface::NameMap name_map;
+ AttributeMap attrib_map;
+ UniformMap uniform_map;
+ VaryingMap varying_map;
+ NameMap name_map;
EXPECT_TRUE(fragment_translator_->Translate(shader,
&info_log,
&translated_source,
@@ -236,20 +247,26 @@ TEST_F(ShaderTranslatorTest, GetUniforms) {
// There should be two uniforms with following characteristics:
// 1. name:bar[0].foo.color[0] type:GL_FLOAT_VEC4 size:1
// 2. name:bar[1].foo.color[0] type:GL_FLOAT_VEC4 size:1
- EXPECT_EQ(2u, uniform_map.size());
- // First uniform.
- ShaderTranslator::VariableMap::const_iterator iter =
- uniform_map.find("bar[0].foo.color[0]");
+ // However, there will be only one entry "bar" in the map.
+ EXPECT_EQ(1u, uniform_map.size());
+ UniformMap::const_iterator iter = uniform_map.find("bar");
EXPECT_TRUE(iter != uniform_map.end());
- EXPECT_EQ(GL_FLOAT_VEC4, iter->second.type);
- EXPECT_EQ(1, iter->second.size);
- EXPECT_EQ("bar[0].foo.color[0]", iter->second.name);
+ // First uniform.
+ const sh::ShaderVariable* info;
+ std::string original_name;
+ EXPECT_TRUE(iter->second.findInfoByMappedName(
+ "bar[0].foo.color[0]", &info, &original_name));
+ EXPECT_EQ(static_cast<GLenum>(GL_FLOAT_VEC4), info->type);
+ EXPECT_EQ(1u, info->arraySize);
+ EXPECT_STREQ("color", info->name.c_str());
+ EXPECT_STREQ("bar[0].foo.color[0]", original_name.c_str());
// Second uniform.
- iter = uniform_map.find("bar[1].foo.color[0]");
- EXPECT_TRUE(iter != uniform_map.end());
- EXPECT_EQ(GL_FLOAT_VEC4, iter->second.type);
- EXPECT_EQ(1, iter->second.size);
- EXPECT_EQ("bar[1].foo.color[0]", iter->second.name);
+ EXPECT_TRUE(iter->second.findInfoByMappedName(
+ "bar[1].foo.color[0]", &info, &original_name));
+ EXPECT_EQ(static_cast<GLenum>(GL_FLOAT_VEC4), info->type);
+ EXPECT_EQ(1u, info->arraySize);
+ EXPECT_STREQ("color", info->name.c_str());
+ EXPECT_STREQ("bar[1].foo.color[0]", original_name.c_str());
}
#if defined(OS_MACOSX)
@@ -263,8 +280,10 @@ TEST_F(ShaderTranslatorTest, BuiltInFunctionEmulation) {
"}";
std::string info_log, translated_source;
- ShaderTranslatorInterface::VariableMap attrib_map, uniform_map, varying_map;
- ShaderTranslatorInterface::NameMap name_map;
+ AttributeMap attrib_map;
+ UniformMap uniform_map;
+ VaryingMap varying_map;
+ NameMap name_map;
EXPECT_TRUE(vertex_translator_->Translate(shader,
&info_log,
&translated_source,
« no previous file with comments | « gpu/command_buffer/service/shader_translator.cc ('k') | gpu/command_buffer/service/test_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698