Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Unified Diff: gpu/command_buffer/service/feature_info.cc

Issue 2055713003: gpu: Implement GL_INTEL_framebuffer_CMAA via shaders in the GPU Service (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Fix component & windows build. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 06bb6646f61cc5525726844da0c10be7ecb5f537..ee805dd1bf5e7f9ef4809e737033e1216251cb98 100644
--- a/gpu/command_buffer/service/feature_info.cc
+++ b/gpu/command_buffer/service/feature_info.cc
@@ -89,6 +89,7 @@ FeatureInfo::FeatureFlags::FeatureFlags()
multisampled_render_to_texture(false),
use_img_for_multisampled_render_to_texture(false),
chromium_screen_space_antialiasing(false),
+ use_chromium_screen_space_antialiasing_via_shaders(false),
oes_standard_derivatives(false),
oes_egl_image_external(false),
nv_egl_stream_consumer_external(false),
@@ -179,6 +180,9 @@ void FeatureInfo::InitializeBasicState(const base::CommandLine* command_line) {
disable_shader_translator_ =
command_line->HasSwitch(switches::kDisableGLSLTranslator);
+ enable_cmaa_shaders_switch_ =
+ command_line->HasSwitch(switches::kEnableCMAAShaders);
+
unsafe_es3_apis_enabled_ = false;
// Default context_type_ to a GLES2 Context.
@@ -881,6 +885,17 @@ void FeatureInfo::InitializeFeatures() {
if (extensions.Contains("GL_INTEL_framebuffer_CMAA")) {
feature_flags_.chromium_screen_space_antialiasing = true;
AddExtensionString("GL_CHROMIUM_screen_space_antialiasing");
+ } else if (enable_cmaa_shaders_switch_ &&
+ (gl_version_info_->IsAtLeastGLES(3, 1) ||
+ (gl_version_info_->IsAtLeastGL(3, 0) &&
+ extensions.Contains("GL_ARB_shading_language_420pack") &&
+ extensions.Contains("GL_ARB_texture_gather") &&
+ extensions.Contains("GL_ARB_explicit_uniform_location") &&
+ extensions.Contains("GL_ARB_explicit_attrib_location") &&
+ extensions.Contains("GL_ARB_shader_image_load_store")))) {
+ feature_flags_.chromium_screen_space_antialiasing = true;
+ feature_flags_.use_chromium_screen_space_antialiasing_via_shaders = true;
+ AddExtensionString("GL_CHROMIUM_screen_space_antialiasing");
}
if (extensions.Contains("GL_OES_depth24") || gl::HasDesktopGLFeatures() ||

Powered by Google App Engine
This is Rietveld 408576698