| Index: gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| index adf0519ff20625930df637e3a224e00c117f0045..e8680bc2470d427459b0bf27dfe0fd53f4b72b33 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| @@ -4462,7 +4462,11 @@ void GLES2DecoderImpl::DoLinkProgram(GLuint program) {
|
| return;
|
| }
|
|
|
| - info->Link();
|
| + if (info->Link()) {
|
| + if (info == current_program_.get()) {
|
| + program_manager()->ClearUniforms(info);
|
| + }
|
| + }
|
| };
|
|
|
| void GLES2DecoderImpl::DoTexParameterf(
|
| @@ -4776,10 +4780,10 @@ void GLES2DecoderImpl::DoUseProgram(GLuint program) {
|
| program_manager()->UnuseProgram(shader_manager(), current_program_);
|
| }
|
| current_program_ = info;
|
| + glUseProgram(service_id);
|
| if (current_program_) {
|
| program_manager()->UseProgram(current_program_);
|
| }
|
| - glUseProgram(service_id);
|
| }
|
|
|
| GLenum GLES2DecoderImpl::GetGLError() {
|
|
|