@@ -138,16 +138,25 @@ InferOpenGLPlatformViewCreationCallback(
138138 };
139139 }
140140
141+ shell::GPUSurfaceGLDelegate::GLProcResolver gl_proc_resolver = nullptr ;
142+ if (SAFE_ACCESS (open_gl_config, gl_proc_resolver, nullptr ) != nullptr ) {
143+ gl_proc_resolver = [ptr = config->open_gl .gl_proc_resolver ,
144+ user_data](const char * gl_proc_name) {
145+ return ptr (user_data, gl_proc_name);
146+ };
147+ }
148+
141149 bool fbo_reset_after_present =
142150 SAFE_ACCESS (open_gl_config, fbo_reset_after_present, false );
143151
144152 shell::EmbedderSurfaceGL::GLDispatchTable gl_dispatch_table = {
145- gl_make_current, // gl_make_current_callback
146- gl_clear_current, // gl_clear_current_callback
147- gl_present, // gl_present_callback
148- gl_fbo_callback, // gl_fbo_callback
149- gl_make_resource_current_callback, // gl_make_resource_current_callback
150- gl_surface_transformation_callback // gl_surface_transformation_callback
153+ gl_make_current, // gl_make_current_callback
154+ gl_clear_current, // gl_clear_current_callback
155+ gl_present, // gl_present_callback
156+ gl_fbo_callback, // gl_fbo_callback
157+ gl_make_resource_current_callback, // gl_make_resource_current_callback
158+ gl_surface_transformation_callback, // gl_surface_transformation_callback
159+ gl_proc_resolver, // gl_proc_resolver
151160 };
152161
153162 return [gl_dispatch_table, fbo_reset_after_present,
0 commit comments