| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "gpu/command_buffer/service/feature_info.h" | 5 #include "gpu/command_buffer/service/feature_info.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 583 } | 583 } |
| 584 | 584 |
| 585 if (extensions.Contains("GL_ANGLE_instanced_arrays") || | 585 if (extensions.Contains("GL_ANGLE_instanced_arrays") || |
| 586 (extensions.Contains("GL_ARB_instanced_arrays") && | 586 (extensions.Contains("GL_ARB_instanced_arrays") && |
| 587 extensions.Contains("GL_ARB_draw_instanced"))) { | 587 extensions.Contains("GL_ARB_draw_instanced"))) { |
| 588 AddExtensionString("GL_ANGLE_instanced_arrays"); | 588 AddExtensionString("GL_ANGLE_instanced_arrays"); |
| 589 feature_flags_.angle_instanced_arrays = true; | 589 feature_flags_.angle_instanced_arrays = true; |
| 590 validators_.vertex_attribute.AddValue(GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE); | 590 validators_.vertex_attribute.AddValue(GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE); |
| 591 } | 591 } |
| 592 | 592 |
| 593 if (extensions.Contains("GL_ARB_draw_buffers")) { | 593 if (!workarounds_.disable_ext_draw_buffers && |
| 594 (extensions.Contains("GL_ARB_draw_buffers") || |
| 595 extensions.Contains("GL_EXT_draw_buffers"))) { |
| 594 AddExtensionString("GL_EXT_draw_buffers"); | 596 AddExtensionString("GL_EXT_draw_buffers"); |
| 595 feature_flags_.ext_draw_buffers = true; | 597 feature_flags_.ext_draw_buffers = true; |
| 596 | 598 |
| 597 GLint max_color_attachments = 0; | 599 GLint max_color_attachments = 0; |
| 598 glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS_EXT, &max_color_attachments); | 600 glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS_EXT, &max_color_attachments); |
| 599 for (GLenum i = GL_COLOR_ATTACHMENT1_EXT; | 601 for (GLenum i = GL_COLOR_ATTACHMENT1_EXT; |
| 600 i < static_cast<GLenum>(GL_COLOR_ATTACHMENT0 + max_color_attachments); | 602 i < static_cast<GLenum>(GL_COLOR_ATTACHMENT0 + max_color_attachments); |
| 601 ++i) { | 603 ++i) { |
| 602 validators_.attachment.AddValue(i); | 604 validators_.attachment.AddValue(i); |
| 603 } | 605 } |
| (...skipping 30 matching lines...) Expand all Loading... |
| 634 if (extensions_.find(str) == std::string::npos) { | 636 if (extensions_.find(str) == std::string::npos) { |
| 635 extensions_ += (extensions_.empty() ? "" : " ") + str; | 637 extensions_ += (extensions_.empty() ? "" : " ") + str; |
| 636 } | 638 } |
| 637 } | 639 } |
| 638 | 640 |
| 639 FeatureInfo::~FeatureInfo() { | 641 FeatureInfo::~FeatureInfo() { |
| 640 } | 642 } |
| 641 | 643 |
| 642 } // namespace gles2 | 644 } // namespace gles2 |
| 643 } // namespace gpu | 645 } // namespace gpu |
| OLD | NEW |