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 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
838 // ES3's glTexStorage2D. We prefer support BGRA to texture storage. | 838 // ES3's glTexStorage2D. We prefer support BGRA to texture storage. |
839 // So we don't expose GL_EXT_texture_storage when ES3 + | 839 // So we don't expose GL_EXT_texture_storage when ES3 + |
840 // GL_EXT_texture_format_BGRA8888 because we fail the GL_BGRA8 requirement. | 840 // GL_EXT_texture_format_BGRA8888 because we fail the GL_BGRA8 requirement. |
841 // However we expose GL_EXT_texture_storage when just ES3 because we don't | 841 // However we expose GL_EXT_texture_storage when just ES3 because we don't |
842 // claim to handle GL_BGRA8. | 842 // claim to handle GL_BGRA8. |
843 bool support_texture_storage_on_es3 = | 843 bool support_texture_storage_on_es3 = |
844 (gl_version_info_->is_es3 && | 844 (gl_version_info_->is_es3 && |
845 enable_immutable_texture_format_bgra_on_es3) || | 845 enable_immutable_texture_format_bgra_on_es3) || |
846 (gl_version_info_->is_es3 && | 846 (gl_version_info_->is_es3 && |
847 !enable_texture_format_bgra8888); | 847 !enable_texture_format_bgra8888); |
848 if (extensions.Contains("GL_EXT_texture_storage") || | 848 if (!workarounds_.disable_texture_storage && |
849 extensions.Contains("GL_ARB_texture_storage") || | 849 (extensions.Contains("GL_EXT_texture_storage") || |
850 support_texture_storage_on_es3 || | 850 extensions.Contains("GL_ARB_texture_storage") || |
851 gl_version_info_->is_desktop_core_profile) { | 851 support_texture_storage_on_es3 || |
| 852 gl_version_info_->is_desktop_core_profile)) { |
852 feature_flags_.ext_texture_storage = true; | 853 feature_flags_.ext_texture_storage = true; |
853 AddExtensionString("GL_EXT_texture_storage"); | 854 AddExtensionString("GL_EXT_texture_storage"); |
854 validators_.texture_parameter.AddValue(GL_TEXTURE_IMMUTABLE_FORMAT_EXT); | 855 validators_.texture_parameter.AddValue(GL_TEXTURE_IMMUTABLE_FORMAT_EXT); |
855 if (enable_texture_format_bgra8888) | 856 if (enable_texture_format_bgra8888) |
856 validators_.texture_internal_format_storage.AddValue(GL_BGRA8_EXT); | 857 validators_.texture_internal_format_storage.AddValue(GL_BGRA8_EXT); |
857 if (enable_texture_float) { | 858 if (enable_texture_float) { |
858 validators_.texture_internal_format_storage.AddValue(GL_RGBA32F_EXT); | 859 validators_.texture_internal_format_storage.AddValue(GL_RGBA32F_EXT); |
859 validators_.texture_internal_format_storage.AddValue(GL_RGB32F_EXT); | 860 validators_.texture_internal_format_storage.AddValue(GL_RGB32F_EXT); |
860 validators_.texture_internal_format_storage.AddValue(GL_ALPHA32F_EXT); | 861 validators_.texture_internal_format_storage.AddValue(GL_ALPHA32F_EXT); |
861 validators_.texture_internal_format_storage.AddValue( | 862 validators_.texture_internal_format_storage.AddValue( |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1179 if (pos == std::string::npos) { | 1180 if (pos == std::string::npos) { |
1180 extensions_ += (extensions_.empty() ? "" : " ") + str; | 1181 extensions_ += (extensions_.empty() ? "" : " ") + str; |
1181 } | 1182 } |
1182 } | 1183 } |
1183 | 1184 |
1184 FeatureInfo::~FeatureInfo() { | 1185 FeatureInfo::~FeatureInfo() { |
1185 } | 1186 } |
1186 | 1187 |
1187 } // namespace gles2 | 1188 } // namespace gles2 |
1188 } // namespace gpu | 1189 } // namespace gpu |
OLD | NEW |