Bind GLES2 API, not OpenGL
authorKristian Høgsberg <krh@bitplanet.net>
Thu, 29 Jul 2010 03:47:54 +0000 (23:47 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 29 Jul 2010 03:51:05 +0000 (23:51 -0400)
compositor-drm.c
compositor-x11.c

index 00e10c5..05ab02a 100644 (file)
@@ -307,6 +307,10 @@ init_egl(struct drm_compositor *ec, struct udev_device *device)
 {
        EGLint major, minor;
        const char *extensions;
+       static const EGLint context_attribs[] = {
+               EGL_CONTEXT_CLIENT_VERSION, 2,
+               EGL_NONE
+       };
 
        ec->base.base.device = strdup(udev_device_get_devnode(device));
        ec->drm_fd = open(ec->base.base.device, O_RDWR);
@@ -334,9 +338,9 @@ init_egl(struct drm_compositor *ec, struct udev_device *device)
                return -1;
        }
 
-       eglBindAPI(EGL_OPENGL_API);
-       ec->base.context = eglCreateContext(ec->base.display,
-                                           NULL, EGL_NO_CONTEXT, NULL);
+       eglBindAPI(EGL_OPENGL_ES_API);
+       ec->base.context = eglCreateContext(ec->base.display, NULL,
+                                           EGL_NO_CONTEXT, context_attribs);
        if (ec->base.context == NULL) {
                fprintf(stderr, "failed to create context\n");
                return -1;
index 76d9585..3cb73b4 100644 (file)
@@ -200,6 +200,10 @@ x11_compositor_init_egl(struct x11_compositor *c)
 {
        EGLint major, minor;
        const char *extensions;
+       static const EGLint context_attribs[] = {
+               EGL_CONTEXT_CLIENT_VERSION, 2,
+               EGL_NONE
+       };
 
        if (dri2_connect(c) < 0)
                return -1;
@@ -232,9 +236,9 @@ x11_compositor_init_egl(struct x11_compositor *c)
                return -1;
        }
 
-       eglBindAPI(EGL_OPENGL_API);
-       c->base.context = eglCreateContext(c->base.display,
-                                          NULL, EGL_NO_CONTEXT, NULL);
+       eglBindAPI(EGL_OPENGL_ES_API);
+       c->base.context = eglCreateContext(c->base.display, NULL,
+                                          EGL_NO_CONTEXT, context_attribs);
        if (c->base.context == NULL) {
                fprintf(stderr, "failed to create context\n");
                return -1;