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); |