Commit f0cfd74c authored by geofflang's avatar geofflang Committed by Commit bot

Implement GetTranslatedShaderSource in the passthrough cmd decoder.

Many WebGL tests use this function.

BUG=668223
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2532543002
Cr-Commit-Position: refs/heads/master@{#434877}
parent 8e8f0e5d
......@@ -2594,7 +2594,21 @@ error::Error GLES2DecoderPassthroughImpl::DoGetUniformsES3CHROMIUM(
error::Error GLES2DecoderPassthroughImpl::DoGetTranslatedShaderSourceANGLE(
GLuint shader,
std::string* source) {
NOTIMPLEMENTED();
FlushErrors();
GLuint service_id = GetShaderServiceID(shader, resources_);
GLint translated_source_length = 0;
glGetShaderiv(service_id, GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE,
&translated_source_length);
if (FlushErrors()) {
return error::kNoError;
}
if (translated_source_length > 0) {
std::vector<char> buffer(translated_source_length, 0);
glGetTranslatedShaderSourceANGLE(service_id, translated_source_length,
nullptr, buffer.data());
*source = std::string(buffer.data());
}
return error::kNoError;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment