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

Unified Diff: ui/gl/gl_bindings_autogen_gl.cc

Issue 1203513004: Respect the disabled extension list during binding initialization. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: only apply disabled extensions list to GL and EGL extensions Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: ui/gl/gl_bindings_autogen_gl.cc
diff --git a/ui/gl/gl_bindings_autogen_gl.cc b/ui/gl/gl_bindings_autogen_gl.cc
index 391fe6f8929acf8d800e88ccf07131c1286d904f..46b4bcba6c1983824166737c9f570348b7cc0f9e 100644
--- a/ui/gl/gl_bindings_autogen_gl.cc
+++ b/ui/gl/gl_bindings_autogen_gl.cc
@@ -437,7 +437,9 @@ void DriverGL::InitializeStaticBindings() {
fn.glWaitSyncFn = 0;
}
-void DriverGL::InitializeDynamicBindings(GLContext* context) {
+void DriverGL::InitializeDynamicBindings(
+ GLContext* context,
+ const std::vector<std::string>& disabled_extensions) {
DCHECK(context && context->IsCurrent(NULL));
const GLVersionInfo* ver = context->GetVersionInfo();
ALLOW_UNUSED_LOCAL(ver);
@@ -445,94 +447,189 @@ void DriverGL::InitializeDynamicBindings(GLContext* context) {
ALLOW_UNUSED_LOCAL(extensions);
ext.b_GL_ANGLE_framebuffer_blit =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ANGLE_framebuffer_blit") == disabled_extensions.end() &&
extensions.find("GL_ANGLE_framebuffer_blit ") != std::string::npos;
ext.b_GL_ANGLE_framebuffer_multisample =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ANGLE_framebuffer_multisample") ==
+ disabled_extensions.end() &&
extensions.find("GL_ANGLE_framebuffer_multisample ") != std::string::npos;
ext.b_GL_ANGLE_instanced_arrays =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ANGLE_instanced_arrays") == disabled_extensions.end() &&
extensions.find("GL_ANGLE_instanced_arrays ") != std::string::npos;
ext.b_GL_ANGLE_translated_shader_source =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ANGLE_translated_shader_source") ==
+ disabled_extensions.end() &&
extensions.find("GL_ANGLE_translated_shader_source ") !=
- std::string::npos;
+ std::string::npos;
ext.b_GL_APPLE_fence =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_APPLE_fence") == disabled_extensions.end() &&
extensions.find("GL_APPLE_fence ") != std::string::npos;
ext.b_GL_APPLE_vertex_array_object =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_APPLE_vertex_array_object") == disabled_extensions.end() &&
extensions.find("GL_APPLE_vertex_array_object ") != std::string::npos;
ext.b_GL_ARB_draw_buffers =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_draw_buffers") == disabled_extensions.end() &&
extensions.find("GL_ARB_draw_buffers ") != std::string::npos;
ext.b_GL_ARB_draw_instanced =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_draw_instanced") == disabled_extensions.end() &&
extensions.find("GL_ARB_draw_instanced ") != std::string::npos;
ext.b_GL_ARB_get_program_binary =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_get_program_binary") == disabled_extensions.end() &&
extensions.find("GL_ARB_get_program_binary ") != std::string::npos;
ext.b_GL_ARB_instanced_arrays =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_instanced_arrays") == disabled_extensions.end() &&
extensions.find("GL_ARB_instanced_arrays ") != std::string::npos;
ext.b_GL_ARB_map_buffer_range =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_map_buffer_range") == disabled_extensions.end() &&
extensions.find("GL_ARB_map_buffer_range ") != std::string::npos;
ext.b_GL_ARB_occlusion_query =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_occlusion_query") == disabled_extensions.end() &&
extensions.find("GL_ARB_occlusion_query ") != std::string::npos;
ext.b_GL_ARB_robustness =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_robustness") == disabled_extensions.end() &&
extensions.find("GL_ARB_robustness ") != std::string::npos;
- ext.b_GL_ARB_sync = extensions.find("GL_ARB_sync ") != std::string::npos;
+ ext.b_GL_ARB_sync =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_sync") == disabled_extensions.end() &&
+ extensions.find("GL_ARB_sync ") != std::string::npos;
ext.b_GL_ARB_texture_storage =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_texture_storage") == disabled_extensions.end() &&
extensions.find("GL_ARB_texture_storage ") != std::string::npos;
ext.b_GL_ARB_timer_query =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_timer_query") == disabled_extensions.end() &&
extensions.find("GL_ARB_timer_query ") != std::string::npos;
ext.b_GL_ARB_vertex_array_object =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_ARB_vertex_array_object") == disabled_extensions.end() &&
extensions.find("GL_ARB_vertex_array_object ") != std::string::npos;
ext.b_GL_CHROMIUM_gles_depth_binding_hack =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_CHROMIUM_gles_depth_binding_hack") ==
+ disabled_extensions.end() &&
extensions.find("GL_CHROMIUM_gles_depth_binding_hack ") !=
- std::string::npos;
+ std::string::npos;
ext.b_GL_CHROMIUM_glgetstringi_hack =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_CHROMIUM_glgetstringi_hack") == disabled_extensions.end() &&
extensions.find("GL_CHROMIUM_glgetstringi_hack ") != std::string::npos;
ext.b_GL_EXT_debug_marker =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_debug_marker") == disabled_extensions.end() &&
extensions.find("GL_EXT_debug_marker ") != std::string::npos;
ext.b_GL_EXT_direct_state_access =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_direct_state_access") == disabled_extensions.end() &&
extensions.find("GL_EXT_direct_state_access ") != std::string::npos;
ext.b_GL_EXT_discard_framebuffer =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_discard_framebuffer") == disabled_extensions.end() &&
extensions.find("GL_EXT_discard_framebuffer ") != std::string::npos;
ext.b_GL_EXT_disjoint_timer_query =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_disjoint_timer_query") == disabled_extensions.end() &&
extensions.find("GL_EXT_disjoint_timer_query ") != std::string::npos;
ext.b_GL_EXT_draw_buffers =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_draw_buffers") == disabled_extensions.end() &&
extensions.find("GL_EXT_draw_buffers ") != std::string::npos;
ext.b_GL_EXT_framebuffer_blit =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_framebuffer_blit") == disabled_extensions.end() &&
extensions.find("GL_EXT_framebuffer_blit ") != std::string::npos;
ext.b_GL_EXT_framebuffer_multisample =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_framebuffer_multisample") ==
+ disabled_extensions.end() &&
extensions.find("GL_EXT_framebuffer_multisample ") != std::string::npos;
ext.b_GL_EXT_framebuffer_object =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_framebuffer_object") == disabled_extensions.end() &&
extensions.find("GL_EXT_framebuffer_object ") != std::string::npos;
ext.b_GL_EXT_map_buffer_range =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_map_buffer_range") == disabled_extensions.end() &&
extensions.find("GL_EXT_map_buffer_range ") != std::string::npos;
ext.b_GL_EXT_multisampled_render_to_texture =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_multisampled_render_to_texture") ==
+ disabled_extensions.end() &&
extensions.find("GL_EXT_multisampled_render_to_texture ") !=
- std::string::npos;
+ std::string::npos;
ext.b_GL_EXT_occlusion_query_boolean =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_occlusion_query_boolean") ==
+ disabled_extensions.end() &&
extensions.find("GL_EXT_occlusion_query_boolean ") != std::string::npos;
ext.b_GL_EXT_robustness =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_robustness") == disabled_extensions.end() &&
extensions.find("GL_EXT_robustness ") != std::string::npos;
ext.b_GL_EXT_texture_storage =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_texture_storage") == disabled_extensions.end() &&
extensions.find("GL_EXT_texture_storage ") != std::string::npos;
ext.b_GL_EXT_timer_query =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_EXT_timer_query") == disabled_extensions.end() &&
extensions.find("GL_EXT_timer_query ") != std::string::npos;
ext.b_GL_IMG_multisampled_render_to_texture =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_IMG_multisampled_render_to_texture") ==
+ disabled_extensions.end() &&
extensions.find("GL_IMG_multisampled_render_to_texture ") !=
- std::string::npos;
+ std::string::npos;
ext.b_GL_KHR_blend_equation_advanced =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_KHR_blend_equation_advanced") ==
+ disabled_extensions.end() &&
extensions.find("GL_KHR_blend_equation_advanced ") != std::string::npos;
ext.b_GL_KHR_robustness =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_KHR_robustness") == disabled_extensions.end() &&
extensions.find("GL_KHR_robustness ") != std::string::npos;
ext.b_GL_NV_blend_equation_advanced =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_NV_blend_equation_advanced") == disabled_extensions.end() &&
extensions.find("GL_NV_blend_equation_advanced ") != std::string::npos;
- ext.b_GL_NV_fence = extensions.find("GL_NV_fence ") != std::string::npos;
+ ext.b_GL_NV_fence =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_NV_fence") == disabled_extensions.end() &&
+ extensions.find("GL_NV_fence ") != std::string::npos;
ext.b_GL_NV_path_rendering =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_NV_path_rendering") == disabled_extensions.end() &&
extensions.find("GL_NV_path_rendering ") != std::string::npos;
ext.b_GL_OES_EGL_image =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_OES_EGL_image") == disabled_extensions.end() &&
extensions.find("GL_OES_EGL_image ") != std::string::npos;
ext.b_GL_OES_get_program_binary =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_OES_get_program_binary") == disabled_extensions.end() &&
extensions.find("GL_OES_get_program_binary ") != std::string::npos;
ext.b_GL_OES_mapbuffer =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_OES_mapbuffer") == disabled_extensions.end() &&
extensions.find("GL_OES_mapbuffer ") != std::string::npos;
ext.b_GL_OES_vertex_array_object =
+ std::find(disabled_extensions.begin(), disabled_extensions.end(),
+ "GL_OES_vertex_array_object") == disabled_extensions.end() &&
extensions.find("GL_OES_vertex_array_object ") != std::string::npos;
-
debug_fn.glBeginQueryFn = 0;
if (!ver->is_es || ver->IsAtLeastGLES(3u, 0u)) {
fn.glBeginQueryFn =

Powered by Google App Engine
This is Rietveld 408576698