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 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 ext_frag_depth(false), | 161 ext_frag_depth(false), |
162 ext_shader_texture_lod(false), | 162 ext_shader_texture_lod(false), |
163 use_async_readpixels(false), | 163 use_async_readpixels(false), |
164 map_buffer_range(false), | 164 map_buffer_range(false), |
165 ext_discard_framebuffer(false), | 165 ext_discard_framebuffer(false), |
166 angle_depth_texture(false), | 166 angle_depth_texture(false), |
167 is_swiftshader(false), | 167 is_swiftshader(false), |
168 angle_texture_usage(false), | 168 angle_texture_usage(false), |
169 ext_texture_storage(false), | 169 ext_texture_storage(false), |
170 chromium_path_rendering(false), | 170 chromium_path_rendering(false), |
| 171 chromium_framebuffer_mixed_samples(false), |
171 blend_equation_advanced(false), | 172 blend_equation_advanced(false), |
172 blend_equation_advanced_coherent(false), | 173 blend_equation_advanced_coherent(false), |
173 ext_texture_rg(false), | 174 ext_texture_rg(false), |
174 chromium_image_ycbcr_420v(false), | 175 chromium_image_ycbcr_420v(false), |
175 chromium_image_ycbcr_422(false), | 176 chromium_image_ycbcr_422(false), |
176 enable_subscribe_uniform(false), | 177 enable_subscribe_uniform(false), |
177 emulate_primitive_restart_fixed_index(false), | 178 emulate_primitive_restart_fixed_index(false), |
178 ext_render_buffer_format_bgra8888(false), | 179 ext_render_buffer_format_bgra8888(false), |
179 ext_multisample_compatibility(false), | 180 ext_multisample_compatibility(false), |
180 ext_blend_func_extended(false) {} | 181 ext_blend_func_extended(false) {} |
(...skipping 980 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1161 AddExtensionString("GL_CHROMIUM_path_rendering"); | 1162 AddExtensionString("GL_CHROMIUM_path_rendering"); |
1162 feature_flags_.chromium_path_rendering = true; | 1163 feature_flags_.chromium_path_rendering = true; |
1163 validators_.g_l_state.AddValue(GL_PATH_MODELVIEW_MATRIX_CHROMIUM); | 1164 validators_.g_l_state.AddValue(GL_PATH_MODELVIEW_MATRIX_CHROMIUM); |
1164 validators_.g_l_state.AddValue(GL_PATH_PROJECTION_MATRIX_CHROMIUM); | 1165 validators_.g_l_state.AddValue(GL_PATH_PROJECTION_MATRIX_CHROMIUM); |
1165 validators_.g_l_state.AddValue(GL_PATH_STENCIL_FUNC_CHROMIUM); | 1166 validators_.g_l_state.AddValue(GL_PATH_STENCIL_FUNC_CHROMIUM); |
1166 validators_.g_l_state.AddValue(GL_PATH_STENCIL_REF_CHROMIUM); | 1167 validators_.g_l_state.AddValue(GL_PATH_STENCIL_REF_CHROMIUM); |
1167 validators_.g_l_state.AddValue(GL_PATH_STENCIL_VALUE_MASK_CHROMIUM); | 1168 validators_.g_l_state.AddValue(GL_PATH_STENCIL_VALUE_MASK_CHROMIUM); |
1168 } | 1169 } |
1169 } | 1170 } |
1170 | 1171 |
| 1172 if (enable_gl_path_rendering_switch_ && |
| 1173 !workarounds_.disable_gl_path_rendering && |
| 1174 extensions.Contains("GL_NV_framebuffer_mixed_samples")) { |
| 1175 AddExtensionString("GL_CHROMIUM_framebuffer_mixed_samples"); |
| 1176 feature_flags_.chromium_framebuffer_mixed_samples = true; |
| 1177 validators_.g_l_state.AddValue(GL_COVERAGE_MODULATION_CHROMIUM); |
| 1178 } |
| 1179 |
1171 if ((gl_version_info_->is_es3 || gl_version_info_->is_desktop_core_profile || | 1180 if ((gl_version_info_->is_es3 || gl_version_info_->is_desktop_core_profile || |
1172 extensions.Contains("GL_EXT_texture_rg") || | 1181 extensions.Contains("GL_EXT_texture_rg") || |
1173 extensions.Contains("GL_ARB_texture_rg")) && | 1182 extensions.Contains("GL_ARB_texture_rg")) && |
1174 IsGL_REDSupportedOnFBOs()) { | 1183 IsGL_REDSupportedOnFBOs()) { |
1175 feature_flags_.ext_texture_rg = true; | 1184 feature_flags_.ext_texture_rg = true; |
1176 AddExtensionString("GL_EXT_texture_rg"); | 1185 AddExtensionString("GL_EXT_texture_rg"); |
1177 | 1186 |
1178 validators_.texture_format.AddValue(GL_RED_EXT); | 1187 validators_.texture_format.AddValue(GL_RED_EXT); |
1179 validators_.texture_format.AddValue(GL_RG_EXT); | 1188 validators_.texture_format.AddValue(GL_RG_EXT); |
1180 validators_.texture_internal_format.AddValue(GL_RED_EXT); | 1189 validators_.texture_internal_format.AddValue(GL_RED_EXT); |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1332 if (pos == std::string::npos) { | 1341 if (pos == std::string::npos) { |
1333 extensions_ += (extensions_.empty() ? "" : " ") + str; | 1342 extensions_ += (extensions_.empty() ? "" : " ") + str; |
1334 } | 1343 } |
1335 } | 1344 } |
1336 | 1345 |
1337 FeatureInfo::~FeatureInfo() { | 1346 FeatureInfo::~FeatureInfo() { |
1338 } | 1347 } |
1339 | 1348 |
1340 } // namespace gles2 | 1349 } // namespace gles2 |
1341 } // namespace gpu | 1350 } // namespace gpu |
OLD | NEW |