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 943 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
954 validators_.texture_internal_format_storage.AddValue( | 954 validators_.texture_internal_format_storage.AddValue( |
955 GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG); | 955 GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG); |
956 validators_.texture_internal_format_storage.AddValue( | 956 validators_.texture_internal_format_storage.AddValue( |
957 GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG); | 957 GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG); |
958 validators_.texture_internal_format_storage.AddValue( | 958 validators_.texture_internal_format_storage.AddValue( |
959 GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG); | 959 GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG); |
960 validators_.texture_internal_format_storage.AddValue( | 960 validators_.texture_internal_format_storage.AddValue( |
961 GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG); | 961 GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG); |
962 } | 962 } |
963 | 963 |
964 // Ideally we would only expose this extension on Mac OS X, to | 964 // Ideally we would only expose this extension on Mac OS X, to support |
965 // support GL_CHROMIUM_iosurface and the compositor. We don't want | 965 // IOSurface backed textures. We don't want applications to start using it; |
966 // applications to start using it; they should use ordinary non- | 966 // they should use ordinary non-power-of-two textures. However, for unit |
967 // power-of-two textures. However, for unit testing purposes we | 967 // testing purposes we expose it on all supported platforms. |
968 // expose it on all supported platforms. | |
969 if (extensions.Contains("GL_ARB_texture_rectangle") || | 968 if (extensions.Contains("GL_ARB_texture_rectangle") || |
970 gl_version_info_->is_desktop_core_profile) { | 969 gl_version_info_->is_desktop_core_profile) { |
971 AddExtensionString("GL_ARB_texture_rectangle"); | 970 AddExtensionString("GL_ARB_texture_rectangle"); |
972 feature_flags_.arb_texture_rectangle = true; | 971 feature_flags_.arb_texture_rectangle = true; |
973 // Rectangle textures are used as samplers via glBindTexture, framebuffer | 972 // Rectangle textures are used as samplers via glBindTexture, framebuffer |
974 // textures via glFramebufferTexture2D, and copy destinations via | 973 // textures via glFramebufferTexture2D, and copy destinations via |
975 // glCopyPixels. | 974 // glCopyPixels. |
976 validators_.texture_bind_target.AddValue(GL_TEXTURE_RECTANGLE_ARB); | 975 validators_.texture_bind_target.AddValue(GL_TEXTURE_RECTANGLE_ARB); |
977 validators_.texture_target.AddValue(GL_TEXTURE_RECTANGLE_ARB); | 976 validators_.texture_target.AddValue(GL_TEXTURE_RECTANGLE_ARB); |
978 validators_.get_tex_param_target.AddValue(GL_TEXTURE_RECTANGLE_ARB); | 977 validators_.get_tex_param_target.AddValue(GL_TEXTURE_RECTANGLE_ARB); |
979 validators_.g_l_state.AddValue(GL_TEXTURE_BINDING_RECTANGLE_ARB); | 978 validators_.g_l_state.AddValue(GL_TEXTURE_BINDING_RECTANGLE_ARB); |
980 } | 979 } |
981 | 980 |
982 #if defined(OS_MACOSX) | 981 #if defined(OS_MACOSX) |
983 if (gl::GetGLImplementation() != gl::kGLImplementationOSMesaGL) { | 982 if (gl::GetGLImplementation() != gl::kGLImplementationOSMesaGL) { |
984 AddExtensionString("GL_CHROMIUM_iosurface"); | |
985 AddExtensionString("GL_CHROMIUM_ycbcr_420v_image"); | 983 AddExtensionString("GL_CHROMIUM_ycbcr_420v_image"); |
986 feature_flags_.chromium_image_ycbcr_420v = true; | 984 feature_flags_.chromium_image_ycbcr_420v = true; |
987 } | 985 } |
988 #endif | 986 #endif |
989 | 987 |
990 if (extensions.Contains("GL_APPLE_ycbcr_422")) { | 988 if (extensions.Contains("GL_APPLE_ycbcr_422")) { |
991 AddExtensionString("GL_CHROMIUM_ycbcr_422_image"); | 989 AddExtensionString("GL_CHROMIUM_ycbcr_422_image"); |
992 feature_flags_.chromium_image_ycbcr_422 = true; | 990 feature_flags_.chromium_image_ycbcr_422 = true; |
993 } | 991 } |
994 | 992 |
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1395 if (pos == std::string::npos) { | 1393 if (pos == std::string::npos) { |
1396 extensions_ += (extensions_.empty() ? "" : " ") + str; | 1394 extensions_ += (extensions_.empty() ? "" : " ") + str; |
1397 } | 1395 } |
1398 } | 1396 } |
1399 | 1397 |
1400 FeatureInfo::~FeatureInfo() { | 1398 FeatureInfo::~FeatureInfo() { |
1401 } | 1399 } |
1402 | 1400 |
1403 } // namespace gles2 | 1401 } // namespace gles2 |
1404 } // namespace gpu | 1402 } // namespace gpu |
OLD | NEW |