| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <set> | 9 #include <set> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 1034 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1045 validators_.texture_internal_format_storage.AddValue(GL_RGBA16F_EXT); | 1045 validators_.texture_internal_format_storage.AddValue(GL_RGBA16F_EXT); |
| 1046 validators_.texture_internal_format_storage.AddValue(GL_RGB16F_EXT); | 1046 validators_.texture_internal_format_storage.AddValue(GL_RGB16F_EXT); |
| 1047 validators_.texture_internal_format_storage.AddValue(GL_ALPHA16F_EXT); | 1047 validators_.texture_internal_format_storage.AddValue(GL_ALPHA16F_EXT); |
| 1048 validators_.texture_internal_format_storage.AddValue( | 1048 validators_.texture_internal_format_storage.AddValue( |
| 1049 GL_LUMINANCE16F_EXT); | 1049 GL_LUMINANCE16F_EXT); |
| 1050 validators_.texture_internal_format_storage.AddValue( | 1050 validators_.texture_internal_format_storage.AddValue( |
| 1051 GL_LUMINANCE_ALPHA16F_EXT); | 1051 GL_LUMINANCE_ALPHA16F_EXT); |
| 1052 } | 1052 } |
| 1053 } | 1053 } |
| 1054 | 1054 |
| 1055 bool have_es3_occlusion_query = | 1055 bool have_occlusion_query = |
| 1056 gl_version_info_->IsAtLeastGLES(3, 0); | 1056 gl_version_info_->IsAtLeastGLES(3, 0) || |
| 1057 gl_version_info_->IsAtLeastGL(3, 3); |
| 1057 bool have_ext_occlusion_query_boolean = | 1058 bool have_ext_occlusion_query_boolean = |
| 1058 extensions.Contains("GL_EXT_occlusion_query_boolean"); | 1059 extensions.Contains("GL_EXT_occlusion_query_boolean"); |
| 1059 bool have_arb_occlusion_query2 = | 1060 bool have_arb_occlusion_query2 = |
| 1060 extensions.Contains("GL_ARB_occlusion_query2"); | 1061 extensions.Contains("GL_ARB_occlusion_query2"); |
| 1061 bool have_arb_occlusion_query = | 1062 bool have_arb_occlusion_query = |
| 1062 extensions.Contains("GL_ARB_occlusion_query"); | 1063 extensions.Contains("GL_ARB_occlusion_query"); |
| 1063 | 1064 |
| 1064 if (have_es3_occlusion_query || | 1065 if (have_occlusion_query || |
| 1065 have_ext_occlusion_query_boolean || | 1066 have_ext_occlusion_query_boolean || |
| 1066 have_arb_occlusion_query2 || | 1067 have_arb_occlusion_query2 || |
| 1067 have_arb_occlusion_query) { | 1068 have_arb_occlusion_query) { |
| 1068 if (context_type_ == CONTEXT_TYPE_OPENGLES2) { | 1069 if (context_type_ == CONTEXT_TYPE_OPENGLES2) { |
| 1069 AddExtensionString("GL_EXT_occlusion_query_boolean"); | 1070 AddExtensionString("GL_EXT_occlusion_query_boolean"); |
| 1070 } | 1071 } |
| 1071 feature_flags_.occlusion_query_boolean = true; | 1072 feature_flags_.occlusion_query_boolean = true; |
| 1072 feature_flags_.use_arb_occlusion_query2_for_occlusion_query_boolean = | 1073 feature_flags_.use_arb_occlusion_query2_for_occlusion_query_boolean = |
| 1073 !have_ext_occlusion_query_boolean && have_arb_occlusion_query2; | 1074 !have_ext_occlusion_query_boolean && (have_arb_occlusion_query2 || |
| 1075 (gl_version_info_->IsAtLeastGL(3, 3) && |
| 1076 gl_version_info_->IsLowerThanGL(4, 3))); |
| 1074 feature_flags_.use_arb_occlusion_query_for_occlusion_query_boolean = | 1077 feature_flags_.use_arb_occlusion_query_for_occlusion_query_boolean = |
| 1075 !have_ext_occlusion_query_boolean && have_arb_occlusion_query && | 1078 !have_ext_occlusion_query_boolean && have_arb_occlusion_query && |
| 1076 !have_arb_occlusion_query2; | 1079 !have_arb_occlusion_query2; |
| 1077 } | 1080 } |
| 1078 | 1081 |
| 1079 if (!workarounds_.disable_angle_instanced_arrays && | 1082 if (!workarounds_.disable_angle_instanced_arrays && |
| 1080 (extensions.Contains("GL_ANGLE_instanced_arrays") || | 1083 (extensions.Contains("GL_ANGLE_instanced_arrays") || |
| 1081 (extensions.Contains("GL_ARB_instanced_arrays") && | 1084 (extensions.Contains("GL_ARB_instanced_arrays") && |
| 1082 extensions.Contains("GL_ARB_draw_instanced")) || | 1085 extensions.Contains("GL_ARB_draw_instanced")) || |
| 1083 gl_version_info_->is_es3 || | 1086 gl_version_info_->is_es3 || |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1429 if (pos == std::string::npos) { | 1432 if (pos == std::string::npos) { |
| 1430 extensions_ += (extensions_.empty() ? "" : " ") + str; | 1433 extensions_ += (extensions_.empty() ? "" : " ") + str; |
| 1431 } | 1434 } |
| 1432 } | 1435 } |
| 1433 | 1436 |
| 1434 FeatureInfo::~FeatureInfo() { | 1437 FeatureInfo::~FeatureInfo() { |
| 1435 } | 1438 } |
| 1436 | 1439 |
| 1437 } // namespace gles2 | 1440 } // namespace gles2 |
| 1438 } // namespace gpu | 1441 } // namespace gpu |
| OLD | NEW |