pack_data->force_unique = force_unique_free_id++;
// Default context attributes
- pack_data->attrib_list.context_major_version = EGL_DONT_CARE;
- pack_data->attrib_list.context_minor_version = EGL_DONT_CARE;
+ pack_data->attrib_list.context_major_version = 1;
+ pack_data->attrib_list.context_minor_version = 0;
pack_data->attrib_list.context_flags = EGL_DONT_CARE;
pack_data->attrib_list.context_opengl_profile_mask = EGL_DONT_CARE;
pack_data->attrib_list.opengl_reset_notification_strategy = EGL_DONT_CARE;
current = glctx_list;
while (current != NULL) {
EGLDisplay cur_dpy = EGL_NO_DISPLAY;
- AST(_unpack_egl_context_option(current->option, &cur_dpy, NULL, NULL, NULL,
- 0) == 1);
+ EGLint attribs[11];
+ _unpack_egl_context_option(current->option, &cur_dpy, NULL, NULL, attribs, 11);
if (cur_dpy == dpy) {
+ if(attribs[0] == EGL_CONTEXT_MAJOR_VERSION_KHR &&
+ attribs[1] != real_ctx_option->attrib_list.context_major_version) {
+ current = current->next;
+ continue;
+ }
+
AST(current->cstate != NULL);
real_share_context = current->cstate->rctx;
break;
finish:
return cstate;
-
}
}
cstate = _egl_create_context(real_ctx_option, &cstate_new, &ctx, dpy, config,
attrib_list);
- AST(cstate != NULL);
+ if(cstate == NULL)
+ goto finish;
// Pack shared context options
real_ctx_sharable_option = (EGL_packed_sharable_option *)calloc(1,
}
_COREGL_FASTPATH_FUNC_END();
+
return (EGLContext)gctx;
}