| 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 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 chromium_framebuffer_mixed_samples(false), | 171 chromium_framebuffer_mixed_samples(false), |
| 172 blend_equation_advanced(false), | 172 blend_equation_advanced(false), |
| 173 blend_equation_advanced_coherent(false), | 173 blend_equation_advanced_coherent(false), |
| 174 ext_texture_rg(false), | 174 ext_texture_rg(false), |
| 175 chromium_image_ycbcr_420v(false), | 175 chromium_image_ycbcr_420v(false), |
| 176 chromium_image_ycbcr_422(false), | 176 chromium_image_ycbcr_422(false), |
| 177 enable_subscribe_uniform(false), | 177 enable_subscribe_uniform(false), |
| 178 emulate_primitive_restart_fixed_index(false), | 178 emulate_primitive_restart_fixed_index(false), |
| 179 ext_render_buffer_format_bgra8888(false), | 179 ext_render_buffer_format_bgra8888(false), |
| 180 ext_multisample_compatibility(false), | 180 ext_multisample_compatibility(false), |
| 181 ext_blend_func_extended(false) {} | 181 ext_blend_func_extended(false), |
| 182 ext_read_format_bgra(false) {} |
| 182 | 183 |
| 183 FeatureInfo::Workarounds::Workarounds() : | 184 FeatureInfo::Workarounds::Workarounds() : |
| 184 #define GPU_OP(type, name) name(false), | 185 #define GPU_OP(type, name) name(false), |
| 185 GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) | 186 GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) |
| 186 #undef GPU_OP | 187 #undef GPU_OP |
| 187 max_texture_size(0), | 188 max_texture_size(0), |
| 188 max_cube_map_texture_size(0), | 189 max_cube_map_texture_size(0), |
| 189 max_fragment_uniform_vectors(0), | 190 max_fragment_uniform_vectors(0), |
| 190 max_varying_vectors(0), | 191 max_varying_vectors(0), |
| 191 max_vertex_uniform_vectors(0), | 192 max_vertex_uniform_vectors(0), |
| (...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 640 | 641 |
| 641 if (enable_texture_format_bgra8888) { | 642 if (enable_texture_format_bgra8888) { |
| 642 feature_flags_.ext_texture_format_bgra8888 = true; | 643 feature_flags_.ext_texture_format_bgra8888 = true; |
| 643 AddExtensionString("GL_EXT_texture_format_BGRA8888"); | 644 AddExtensionString("GL_EXT_texture_format_BGRA8888"); |
| 644 validators_.texture_internal_format.AddValue(GL_BGRA_EXT); | 645 validators_.texture_internal_format.AddValue(GL_BGRA_EXT); |
| 645 validators_.texture_format.AddValue(GL_BGRA_EXT); | 646 validators_.texture_format.AddValue(GL_BGRA_EXT); |
| 646 validators_.texture_unsized_internal_format.AddValue(GL_BGRA_EXT); | 647 validators_.texture_unsized_internal_format.AddValue(GL_BGRA_EXT); |
| 647 } | 648 } |
| 648 | 649 |
| 649 if (enable_read_format_bgra) { | 650 if (enable_read_format_bgra) { |
| 651 feature_flags_.ext_read_format_bgra = true; |
| 650 AddExtensionString("GL_EXT_read_format_bgra"); | 652 AddExtensionString("GL_EXT_read_format_bgra"); |
| 651 validators_.read_pixel_format.AddValue(GL_BGRA_EXT); | 653 validators_.read_pixel_format.AddValue(GL_BGRA_EXT); |
| 652 } | 654 } |
| 653 | 655 |
| 654 // glGetInteger64v for timestamps is implemented on the client side in a way | 656 // glGetInteger64v for timestamps is implemented on the client side in a way |
| 655 // that it does not depend on a driver-level implementation of | 657 // that it does not depend on a driver-level implementation of |
| 656 // glGetInteger64v. The GPUTimer class which implements timer queries can also | 658 // glGetInteger64v. The GPUTimer class which implements timer queries can also |
| 657 // fallback to an implementation that does not depend on glGetInteger64v on | 659 // fallback to an implementation that does not depend on glGetInteger64v on |
| 658 // ES2. Thus we can enable GL_EXT_disjoint_timer_query on ES2 contexts even | 660 // ES2. Thus we can enable GL_EXT_disjoint_timer_query on ES2 contexts even |
| 659 // though it does not support glGetInteger64v due to a specification bug. | 661 // though it does not support glGetInteger64v due to a specification bug. |
| (...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1433 if (pos == std::string::npos) { | 1435 if (pos == std::string::npos) { |
| 1434 extensions_ += (extensions_.empty() ? "" : " ") + str; | 1436 extensions_ += (extensions_.empty() ? "" : " ") + str; |
| 1435 } | 1437 } |
| 1436 } | 1438 } |
| 1437 | 1439 |
| 1438 FeatureInfo::~FeatureInfo() { | 1440 FeatureInfo::~FeatureInfo() { |
| 1439 } | 1441 } |
| 1440 | 1442 |
| 1441 } // namespace gles2 | 1443 } // namespace gles2 |
| 1442 } // namespace gpu | 1444 } // namespace gpu |
| OLD | NEW |