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

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

Issue 640283003: Use NV_draw_buffers to implement EXT_draw_buffers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Created 6 years, 2 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 e853d9b59387fac65e910d0ca3fb0cdba2fcf157..9ff69100c359bef6ca468cc52150e620288f551a 100644
--- a/gpu/command_buffer/service/feature_info.cc
+++ b/gpu/command_buffer/service/feature_info.cc
@@ -132,6 +132,7 @@ FeatureInfo::FeatureFlags::FeatureFlags()
enable_shader_name_hashing(false),
enable_samplers(false),
ext_draw_buffers(false),
+ nv_draw_buffers(false),
ext_frag_depth(false),
ext_shader_texture_lod(false),
use_async_readpixels(false),
@@ -760,11 +761,15 @@ void FeatureInfo::InitializeFeatures() {
validators_.vertex_attribute.AddValue(GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE);
}
+ bool vendor_agnostic_draw_buffers =
+ extensions.Contains("GL_ARB_draw_buffers") ||
+ extensions.Contains("GL_EXT_draw_buffers");
if (!workarounds_.disable_ext_draw_buffers &&
- (extensions.Contains("GL_ARB_draw_buffers") ||
- extensions.Contains("GL_EXT_draw_buffers"))) {
+ (vendor_agnostic_draw_buffers ||
+ (extensions.Contains("GL_NV_draw_buffers") && is_es3))) {
AddExtensionString("GL_EXT_draw_buffers");
feature_flags_.ext_draw_buffers = true;
+ feature_flags_.nv_draw_buffers = !vendor_agnostic_draw_buffers;
GLint max_color_attachments = 0;
glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS_EXT, &max_color_attachments);

Powered by Google App Engine
This is Rietveld 408576698