diff options
author | oetuaho <oetuaho@nvidia.com> | 2015-03-11 02:10:12 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-11 09:10:45 +0000 |
commit | d2e587ad0fc6537ee67175364364393004220e3c (patch) | |
tree | d886df37663e9c07b72886ced6875e3cd244d0ad /gpu | |
parent | e0502f0d8eacb5c9a9916284c666e2c433f17d9d (diff) | |
download | chromium_src-d2e587ad0fc6537ee67175364364393004220e3c.zip chromium_src-d2e587ad0fc6537ee67175364364393004220e3c.tar.gz chromium_src-d2e587ad0fc6537ee67175364364393004220e3c.tar.bz2 |
Output shader translator log when platform shader compile fails
This is helpful when implementing new shader translator functionality
especially in combination with the --gl-shader-interm-output flag.
BUG=angleproject:941
Review URL: https://codereview.chromium.org/995013002
Cr-Commit-Position: refs/heads/master@{#320059}
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/command_buffer/service/shader_manager.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/shader_manager.cc b/gpu/command_buffer/service/shader_manager.cc index a5db3c5..55754b7 100644 --- a/gpu/command_buffer/service/shader_manager.cc +++ b/gpu/command_buffer/service/shader_manager.cc @@ -112,6 +112,8 @@ void Shader::DoCompile() { // We cannot reach here if we are using the shader translator. // All invalid shaders must be rejected by the translator. // All translated shaders must compile. + std::string translator_log = log_info_; + GLint max_len = 0; glGetShaderiv(service_id_, GL_INFO_LOG_LENGTH, &max_len); log_info_.resize(max_len); @@ -122,9 +124,11 @@ void Shader::DoCompile() { DCHECK(len == 0 || log_info_[len] == '\0'); log_info_.resize(len); } + LOG_IF(ERROR, translator) << "Shader translator allowed/produced an invalid shader " << "unless the driver is buggy:" + << "\n--Log from shader translator--\n" << translator_log << "\n--original-shader--\n" << last_compiled_source_ << "\n--translated-shader--\n" << source_for_driver << "\n--info-log--\n" << log_info_; |