Index: gpu/command_buffer/service/shader_translator.cc |
diff --git a/gpu/command_buffer/service/shader_translator.cc b/gpu/command_buffer/service/shader_translator.cc |
index c3279e25ec6c501fb9830f08e76b8093a1103a04..3964c2db16b0a6f42a822271a233c9996ca5d814 100644 |
--- a/gpu/command_buffer/service/shader_translator.cc |
+++ b/gpu/command_buffer/service/shader_translator.cc |
@@ -201,9 +201,22 @@ bool ShaderTranslator::Translate(const char* shader) { |
return success; |
} |
-std::string ShaderTranslator::GetStringForOptionsThatWouldEffectCompilation() |
+std::string ShaderTranslator::GetStringForOptionsThatWouldAffectCompilation() |
const { |
+#if ANGLE_SH_VERSION >= 124 |
+ DCHECK(compiler_ != NULL); |
+ |
+ ANGLEGetInfoType resource_len = 0; |
+ ShGetInfo(compiler_, SH_RESOURCES_STRING_LENGTH, &resource_len); |
+ DCHECK(resource_len > 1); |
+ scoped_ptr<char[]> resource_str(new char[resource_len]); |
+ |
+ ShGetBuiltInResourcesString(compiler_, resource_len, resource_str.get()); |
+ return std::string(":CompileOptions:" + |
+ base::IntToString(GetCompileOptions())) + |
+ std::string(resource_str.get()); |
+#else |
#if ANGLE_SH_VERSION >= 123 |
const size_t kNumIntFields = 21; |
#elif ANGLE_SH_VERSION >= 122 |
@@ -278,6 +291,7 @@ std::string ShaderTranslator::GetStringForOptionsThatWouldEffectCompilation() |
#else // ANGLE_SH_VERSION < 122 |
base::IntToString(compiler_options_.EXT_frag_depth)); |
#endif |
+#endif |
} |
const char* ShaderTranslator::translated_shader() const { |