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

Side by Side Diff: gpu/command_buffer/service/feature_info.cc

Issue 1301053002: gpu: introduce DISABLE_TEXTURE_STORAGE workaround for mesa (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: don't disable unittests Created 5 years, 3 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 unified diff | Download patch
OLDNEW
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 803 matching lines...) Expand 10 before | Expand all | Expand 10 after
814 // ES3's glTexStorage2D. We prefer support BGRA to texture storage. 814 // ES3's glTexStorage2D. We prefer support BGRA to texture storage.
815 // So we don't expose GL_EXT_texture_storage when ES3 + 815 // So we don't expose GL_EXT_texture_storage when ES3 +
816 // GL_EXT_texture_format_BGRA8888 because we fail the GL_BGRA8 requirement. 816 // GL_EXT_texture_format_BGRA8888 because we fail the GL_BGRA8 requirement.
817 // However we expose GL_EXT_texture_storage when just ES3 because we don't 817 // However we expose GL_EXT_texture_storage when just ES3 because we don't
818 // claim to handle GL_BGRA8. 818 // claim to handle GL_BGRA8.
819 bool support_texture_storage_on_es3 = 819 bool support_texture_storage_on_es3 =
820 (gl_version_info_->is_es3 && 820 (gl_version_info_->is_es3 &&
821 enable_immutable_texture_format_bgra_on_es3) || 821 enable_immutable_texture_format_bgra_on_es3) ||
822 (gl_version_info_->is_es3 && 822 (gl_version_info_->is_es3 &&
823 !enable_texture_format_bgra8888); 823 !enable_texture_format_bgra8888);
824 if (extensions.Contains("GL_EXT_texture_storage") || 824 if (!workarounds_.disable_texture_storage &&
825 extensions.Contains("GL_ARB_texture_storage") || 825 (extensions.Contains("GL_EXT_texture_storage") ||
826 support_texture_storage_on_es3 || 826 extensions.Contains("GL_ARB_texture_storage") ||
827 gl_version_info_->is_desktop_core_profile) { 827 support_texture_storage_on_es3 ||
828 gl_version_info_->is_desktop_core_profile)) {
828 feature_flags_.ext_texture_storage = true; 829 feature_flags_.ext_texture_storage = true;
829 AddExtensionString("GL_EXT_texture_storage"); 830 AddExtensionString("GL_EXT_texture_storage");
830 validators_.texture_parameter.AddValue(GL_TEXTURE_IMMUTABLE_FORMAT_EXT); 831 validators_.texture_parameter.AddValue(GL_TEXTURE_IMMUTABLE_FORMAT_EXT);
831 if (enable_texture_format_bgra8888) 832 if (enable_texture_format_bgra8888)
832 validators_.texture_internal_format_storage.AddValue(GL_BGRA8_EXT); 833 validators_.texture_internal_format_storage.AddValue(GL_BGRA8_EXT);
833 if (enable_texture_float) { 834 if (enable_texture_float) {
834 validators_.texture_internal_format_storage.AddValue(GL_RGBA32F_EXT); 835 validators_.texture_internal_format_storage.AddValue(GL_RGBA32F_EXT);
835 validators_.texture_internal_format_storage.AddValue(GL_RGB32F_EXT); 836 validators_.texture_internal_format_storage.AddValue(GL_RGB32F_EXT);
836 validators_.texture_internal_format_storage.AddValue(GL_ALPHA32F_EXT); 837 validators_.texture_internal_format_storage.AddValue(GL_ALPHA32F_EXT);
837 validators_.texture_internal_format_storage.AddValue( 838 validators_.texture_internal_format_storage.AddValue(
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
1155 if (pos == std::string::npos) { 1156 if (pos == std::string::npos) {
1156 extensions_ += (extensions_.empty() ? "" : " ") + str; 1157 extensions_ += (extensions_.empty() ? "" : " ") + str;
1157 } 1158 }
1158 } 1159 }
1159 1160
1160 FeatureInfo::~FeatureInfo() { 1161 FeatureInfo::~FeatureInfo() {
1161 } 1162 }
1162 1163
1163 } // namespace gles2 1164 } // namespace gles2
1164 } // namespace gpu 1165 } // namespace gpu
OLDNEW
« no previous file with comments | « no previous file | gpu/command_buffer/tests/gl_texture_storage_unittest.cc » ('j') | gpu/config/gpu_driver_bug_list_json.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698