| Index: gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| ===================================================================
|
| --- gpu/command_buffer/service/gles2_cmd_decoder.cc (revision 250145)
|
| +++ gpu/command_buffer/service/gles2_cmd_decoder.cc (working copy)
|
| @@ -5442,13 +5442,12 @@
|
| if (program->Link(shader_manager(),
|
| vertex_translator,
|
| fragment_translator,
|
| - feature_info_.get(),
|
| shader_cache_callback_)) {
|
| if (program == state_.current_program.get()) {
|
| - if (workarounds().use_current_program_after_successful_link) {
|
| + if (workarounds().use_current_program_after_successful_link)
|
| glUseProgram(program->service_id());
|
| - }
|
| - program_manager()->ClearUniforms(program);
|
| + if (workarounds().clear_uniforms_before_first_program_use)
|
| + program_manager()->ClearUniforms(program);
|
| }
|
| }
|
| };
|
| @@ -5914,6 +5913,8 @@
|
| glUseProgram(service_id);
|
| if (state_.current_program.get()) {
|
| program_manager()->UseProgram(state_.current_program.get());
|
| + if (workarounds().clear_uniforms_before_first_program_use)
|
| + program_manager()->ClearUniforms(program);
|
| }
|
| }
|
|
|
| @@ -6663,7 +6664,11 @@
|
| vertex_translator_.get() : fragment_translator_.get();
|
| }
|
|
|
| - program_manager()->DoCompileShader(shader, translator, feature_info_.get());
|
| + program_manager()->DoCompileShader(
|
| + shader,
|
| + translator,
|
| + feature_info_->feature_flags().angle_translated_shader_source ?
|
| + ProgramManager::kANGLE : ProgramManager::kGL);
|
| };
|
|
|
| void GLES2DecoderImpl::DoGetShaderiv(
|
|
|