Chromium Code Reviews| Index: gpu/command_buffer/service/feature_info.cc |
| diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc |
| index 279772f55cc9bf2aae87d970220e3d024c6b3249..4c52de0dff3d94c95b37d352e023823cd4a4a9fd 100644 |
| --- a/gpu/command_buffer/service/feature_info.cc |
| +++ b/gpu/command_buffer/service/feature_info.cc |
| @@ -1249,9 +1249,16 @@ void FeatureInfo::InitializeFeatures() { |
| gl_version_info_->IsAtLeastGL(3, 3) || |
| (gl_version_info_->IsAtLeastGL(3, 2) && |
| extensions.Contains("GL_ARB_blend_func_extended")); |
| + |
| + if (gl_version_info_->IsAtLeastGLES(3, 0) || |
| + has_opengl_dual_source_blending) { |
| + // NOTE: SRC_ALPHA_SATURATE is valid for ES2 src blend factor. |
| + // SRC_ALPHA_SATURATE is valid for ES3 src and dst blend factor. |
| + validators_.dst_blend_factor.AddValue(GL_SRC_ALPHA_SATURATE); |
|
Zhenyao Mo
2016/05/31 02:05:30
This isn't the right fix for this.
Instead, you s
|
| + } |
| + |
| if (!disable_shader_translator_ && |
| - ((gl_version_info_->IsAtLeastGL(3, 2) && |
| - has_opengl_dual_source_blending) || |
| + (has_opengl_dual_source_blending || |
| (gl_version_info_->IsAtLeastGLES(3, 0) && |
| extensions.Contains("GL_EXT_blend_func_extended")))) { |
| // Note: to simplify the code, we do not expose EXT_blend_func_extended |
| @@ -1260,10 +1267,6 @@ void FeatureInfo::InitializeFeatures() { |
| feature_flags_.ext_blend_func_extended = true; |
| AddExtensionString("GL_EXT_blend_func_extended"); |
| - // NOTE: SRC_ALPHA_SATURATE is valid for ES2 src blend factor. |
| - // SRC_ALPHA_SATURATE is valid for ES3 src and dst blend factor. |
| - validators_.dst_blend_factor.AddValue(GL_SRC_ALPHA_SATURATE_EXT); |
| - |
| validators_.src_blend_factor.AddValue(GL_SRC1_ALPHA_EXT); |
| validators_.dst_blend_factor.AddValue(GL_SRC1_ALPHA_EXT); |
| validators_.src_blend_factor.AddValue(GL_SRC1_COLOR_EXT); |