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

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: split extension binding loading from static binding loading; pass enabled 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..0bdb776b5ad3032166f710f405321af238f97659 100644
--- a/ui/gl/gl_bindings_autogen_gl.cc
+++ b/ui/gl/gl_bindings_autogen_gl.cc
@@ -437,102 +437,128 @@ void DriverGL::InitializeStaticBindings() {
fn.glWaitSyncFn = 0;
}
-void DriverGL::InitializeDynamicBindings(GLContext* context) {
+void DriverGL::InitializeExtensionBindings(
+ GLContext* context,
+ const std::set<std::string>& enabled_extensions) {
DCHECK(context && context->IsCurrent(NULL));
const GLVersionInfo* ver = context->GetVersionInfo();
ALLOW_UNUSED_LOCAL(ver);
- std::string extensions = context->GetExtensions() + " ";
- ALLOW_UNUSED_LOCAL(extensions);
-
ext.b_GL_ANGLE_framebuffer_blit =
- extensions.find("GL_ANGLE_framebuffer_blit ") != std::string::npos;
+ enabled_extensions.find("GL_ANGLE_framebuffer_blit") !=
+ enabled_extensions.end();
ext.b_GL_ANGLE_framebuffer_multisample =
- extensions.find("GL_ANGLE_framebuffer_multisample ") != std::string::npos;
+ enabled_extensions.find("GL_ANGLE_framebuffer_multisample") !=
+ enabled_extensions.end();
ext.b_GL_ANGLE_instanced_arrays =
- extensions.find("GL_ANGLE_instanced_arrays ") != std::string::npos;
+ enabled_extensions.find("GL_ANGLE_instanced_arrays") !=
+ enabled_extensions.end();
ext.b_GL_ANGLE_translated_shader_source =
- extensions.find("GL_ANGLE_translated_shader_source ") !=
- std::string::npos;
+ enabled_extensions.find("GL_ANGLE_translated_shader_source") !=
+ enabled_extensions.end();
ext.b_GL_APPLE_fence =
- extensions.find("GL_APPLE_fence ") != std::string::npos;
+ enabled_extensions.find("GL_APPLE_fence") != enabled_extensions.end();
ext.b_GL_APPLE_vertex_array_object =
- extensions.find("GL_APPLE_vertex_array_object ") != std::string::npos;
- ext.b_GL_ARB_draw_buffers =
- extensions.find("GL_ARB_draw_buffers ") != std::string::npos;
+ enabled_extensions.find("GL_APPLE_vertex_array_object") !=
+ enabled_extensions.end();
+ ext.b_GL_ARB_draw_buffers = enabled_extensions.find("GL_ARB_draw_buffers") !=
+ enabled_extensions.end();
ext.b_GL_ARB_draw_instanced =
- extensions.find("GL_ARB_draw_instanced ") != std::string::npos;
+ enabled_extensions.find("GL_ARB_draw_instanced") !=
+ enabled_extensions.end();
ext.b_GL_ARB_get_program_binary =
- extensions.find("GL_ARB_get_program_binary ") != std::string::npos;
+ enabled_extensions.find("GL_ARB_get_program_binary") !=
+ enabled_extensions.end();
ext.b_GL_ARB_instanced_arrays =
- extensions.find("GL_ARB_instanced_arrays ") != std::string::npos;
+ enabled_extensions.find("GL_ARB_instanced_arrays") !=
+ enabled_extensions.end();
ext.b_GL_ARB_map_buffer_range =
- extensions.find("GL_ARB_map_buffer_range ") != std::string::npos;
+ enabled_extensions.find("GL_ARB_map_buffer_range") !=
+ enabled_extensions.end();
ext.b_GL_ARB_occlusion_query =
- extensions.find("GL_ARB_occlusion_query ") != std::string::npos;
+ enabled_extensions.find("GL_ARB_occlusion_query") !=
+ enabled_extensions.end();
ext.b_GL_ARB_robustness =
- extensions.find("GL_ARB_robustness ") != std::string::npos;
- ext.b_GL_ARB_sync = extensions.find("GL_ARB_sync ") != std::string::npos;
+ enabled_extensions.find("GL_ARB_robustness") != enabled_extensions.end();
+ ext.b_GL_ARB_sync =
+ enabled_extensions.find("GL_ARB_sync") != enabled_extensions.end();
ext.b_GL_ARB_texture_storage =
- extensions.find("GL_ARB_texture_storage ") != std::string::npos;
+ enabled_extensions.find("GL_ARB_texture_storage") !=
+ enabled_extensions.end();
ext.b_GL_ARB_timer_query =
- extensions.find("GL_ARB_timer_query ") != std::string::npos;
+ enabled_extensions.find("GL_ARB_timer_query") != enabled_extensions.end();
ext.b_GL_ARB_vertex_array_object =
- extensions.find("GL_ARB_vertex_array_object ") != std::string::npos;
+ enabled_extensions.find("GL_ARB_vertex_array_object") !=
+ enabled_extensions.end();
ext.b_GL_CHROMIUM_gles_depth_binding_hack =
- extensions.find("GL_CHROMIUM_gles_depth_binding_hack ") !=
- std::string::npos;
+ enabled_extensions.find("GL_CHROMIUM_gles_depth_binding_hack") !=
+ enabled_extensions.end();
ext.b_GL_CHROMIUM_glgetstringi_hack =
- extensions.find("GL_CHROMIUM_glgetstringi_hack ") != std::string::npos;
- ext.b_GL_EXT_debug_marker =
- extensions.find("GL_EXT_debug_marker ") != std::string::npos;
+ enabled_extensions.find("GL_CHROMIUM_glgetstringi_hack") !=
+ enabled_extensions.end();
+ ext.b_GL_EXT_debug_marker = enabled_extensions.find("GL_EXT_debug_marker") !=
+ enabled_extensions.end();
ext.b_GL_EXT_direct_state_access =
- extensions.find("GL_EXT_direct_state_access ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_direct_state_access") !=
+ enabled_extensions.end();
ext.b_GL_EXT_discard_framebuffer =
- extensions.find("GL_EXT_discard_framebuffer ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_discard_framebuffer") !=
+ enabled_extensions.end();
ext.b_GL_EXT_disjoint_timer_query =
- extensions.find("GL_EXT_disjoint_timer_query ") != std::string::npos;
- ext.b_GL_EXT_draw_buffers =
- extensions.find("GL_EXT_draw_buffers ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_disjoint_timer_query") !=
+ enabled_extensions.end();
+ ext.b_GL_EXT_draw_buffers = enabled_extensions.find("GL_EXT_draw_buffers") !=
+ enabled_extensions.end();
ext.b_GL_EXT_framebuffer_blit =
- extensions.find("GL_EXT_framebuffer_blit ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_framebuffer_blit") !=
+ enabled_extensions.end();
ext.b_GL_EXT_framebuffer_multisample =
- extensions.find("GL_EXT_framebuffer_multisample ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_framebuffer_multisample") !=
+ enabled_extensions.end();
ext.b_GL_EXT_framebuffer_object =
- extensions.find("GL_EXT_framebuffer_object ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_framebuffer_object") !=
+ enabled_extensions.end();
ext.b_GL_EXT_map_buffer_range =
- extensions.find("GL_EXT_map_buffer_range ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_map_buffer_range") !=
+ enabled_extensions.end();
ext.b_GL_EXT_multisampled_render_to_texture =
- extensions.find("GL_EXT_multisampled_render_to_texture ") !=
- std::string::npos;
+ enabled_extensions.find("GL_EXT_multisampled_render_to_texture") !=
+ enabled_extensions.end();
ext.b_GL_EXT_occlusion_query_boolean =
- extensions.find("GL_EXT_occlusion_query_boolean ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_occlusion_query_boolean") !=
+ enabled_extensions.end();
ext.b_GL_EXT_robustness =
- extensions.find("GL_EXT_robustness ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_robustness") != enabled_extensions.end();
ext.b_GL_EXT_texture_storage =
- extensions.find("GL_EXT_texture_storage ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_texture_storage") !=
+ enabled_extensions.end();
ext.b_GL_EXT_timer_query =
- extensions.find("GL_EXT_timer_query ") != std::string::npos;
+ enabled_extensions.find("GL_EXT_timer_query") != enabled_extensions.end();
ext.b_GL_IMG_multisampled_render_to_texture =
- extensions.find("GL_IMG_multisampled_render_to_texture ") !=
- std::string::npos;
+ enabled_extensions.find("GL_IMG_multisampled_render_to_texture") !=
+ enabled_extensions.end();
ext.b_GL_KHR_blend_equation_advanced =
- extensions.find("GL_KHR_blend_equation_advanced ") != std::string::npos;
+ enabled_extensions.find("GL_KHR_blend_equation_advanced") !=
+ enabled_extensions.end();
ext.b_GL_KHR_robustness =
- extensions.find("GL_KHR_robustness ") != std::string::npos;
+ enabled_extensions.find("GL_KHR_robustness") != enabled_extensions.end();
ext.b_GL_NV_blend_equation_advanced =
- extensions.find("GL_NV_blend_equation_advanced ") != std::string::npos;
- ext.b_GL_NV_fence = extensions.find("GL_NV_fence ") != std::string::npos;
+ enabled_extensions.find("GL_NV_blend_equation_advanced") !=
+ enabled_extensions.end();
+ ext.b_GL_NV_fence =
+ enabled_extensions.find("GL_NV_fence") != enabled_extensions.end();
ext.b_GL_NV_path_rendering =
- extensions.find("GL_NV_path_rendering ") != std::string::npos;
+ enabled_extensions.find("GL_NV_path_rendering") !=
+ enabled_extensions.end();
ext.b_GL_OES_EGL_image =
- extensions.find("GL_OES_EGL_image ") != std::string::npos;
+ enabled_extensions.find("GL_OES_EGL_image") != enabled_extensions.end();
ext.b_GL_OES_get_program_binary =
- extensions.find("GL_OES_get_program_binary ") != std::string::npos;
+ enabled_extensions.find("GL_OES_get_program_binary") !=
+ enabled_extensions.end();
ext.b_GL_OES_mapbuffer =
- extensions.find("GL_OES_mapbuffer ") != std::string::npos;
+ enabled_extensions.find("GL_OES_mapbuffer") != enabled_extensions.end();
ext.b_GL_OES_vertex_array_object =
- extensions.find("GL_OES_vertex_array_object ") != std::string::npos;
-
+ enabled_extensions.find("GL_OES_vertex_array_object") !=
+ enabled_extensions.end();
debug_fn.glBeginQueryFn = 0;
if (!ver->is_es || ver->IsAtLeastGLES(3u, 0u)) {
fn.glBeginQueryFn =

Powered by Google App Engine
This is Rietveld 408576698