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 e4ae9c5111dee212cb1327ca2c94081b9ab4fe40..d51e279410454f75b1dc0dc5b9bf486cbb1ddf40 100644 |
--- a/gpu/command_buffer/service/feature_info.cc |
+++ b/gpu/command_buffer/service/feature_info.cc |
@@ -143,7 +143,8 @@ FeatureInfo::FeatureFlags::FeatureFlags() |
angle_texture_usage(false), |
ext_texture_storage(false), |
chromium_path_rendering(false), |
- ext_blend_minmax(false) { |
+ ext_blend_minmax(false), |
+ blend_equation_advanced(false) { |
} |
FeatureInfo::Workarounds::Workarounds() : |
@@ -852,6 +853,32 @@ void FeatureInfo::InitializeFeatures() { |
feature_flags_.chromium_sync_query = true; |
} |
+ if (extensions.Contains("GL_NV_blend_equation_advanced") || |
+ extensions.Contains("GL_KHR_blend_equation_advanced")) { |
+ const GLenum equations[] = { |
piman
2014/10/16 20:13:29
nit: indent looks wrong.
|
+ GL_MULTIPLY_NV, |
+ GL_SCREEN_NV, |
+ GL_OVERLAY_NV, |
+ GL_DARKEN_NV, |
+ GL_LIGHTEN_NV, |
+ GL_COLORDODGE_NV, |
+ GL_COLORBURN_NV, |
+ GL_HARDLIGHT_NV, |
+ GL_SOFTLIGHT_NV, |
+ GL_DIFFERENCE_NV, |
+ GL_EXCLUSION_NV, |
+ GL_HSL_HUE_NV, |
+ GL_HSL_SATURATION_NV, |
+ GL_HSL_COLOR_NV, |
+ GL_HSL_LUMINOSITY_NV |
piman
2014/10/16 20:13:29
If we don't support the whole range of enums, we s
Erik Dahlström (inactive)
2014/10/17 15:33:17
Done.
|
+ }; |
+ |
+ for (const GLenum& equation : equations) |
piman
2014/10/16 20:13:29
nit: const & superfluous?
Erik Dahlström (inactive)
2014/10/17 15:33:17
Done.
|
+ validators_.equation.AddValue(equation); |
+ AddExtensionString("GL_NV_blend_equation_advanced"); |
+ feature_flags_.blend_equation_advanced = true; |
+ } |
+ |
if (extensions.Contains("GL_NV_path_rendering")) { |
if (extensions.Contains("GL_EXT_direct_state_access") || is_es3) { |
AddExtensionString("GL_CHROMIUM_path_rendering"); |