compositor-x11: Use x11 egl platform

This commit is contained in:
Benjamin Franzke 2011-02-20 19:58:42 +01:00
parent b2d71852fd
commit 3b288afd1a
2 changed files with 9 additions and 12 deletions

View File

@ -34,6 +34,9 @@
#include <xcb/dri2.h>
#include <xcb/xfixes.h>
#include <X11/Xlib.h>
#include <X11/Xlib-xcb.h>
#define GL_GLEXT_PROTOTYPES
#define EGL_EGLEXT_PROTOTYPES
#include <GLES2/gl2.h>
@ -48,6 +51,7 @@
struct x11_compositor {
struct wlsc_compositor base;
Display *dpy;
xcb_connection_t *conn;
xcb_screen_t *screen;
xcb_cursor_t null_cursor;
@ -220,7 +224,6 @@ x11_compositor_init_egl(struct x11_compositor *c)
{
EGLint major, minor;
const char *extensions;
drm_magic_t magic;
static const EGLint context_attribs[] = {
EGL_CONTEXT_CLIENT_VERSION, 2,
EGL_NONE
@ -229,15 +232,7 @@ x11_compositor_init_egl(struct x11_compositor *c)
if (dri2_connect(c) < 0)
return -1;
if (drmGetMagic(c->base.drm.fd, &magic)) {
fprintf(stderr, "DRI2: failed to get drm magic\n");
return -1;
}
if (dri2_authenticate(c, magic) < 0)
return -1;
c->base.display = eglGetDRMDisplayMESA(c->base.drm.fd);
c->base.display = eglGetDisplay(c->dpy);
if (c->base.display == NULL) {
fprintf(stderr, "failed to create display\n");
return -1;
@ -754,7 +749,9 @@ x11_compositor_create(struct wl_display *display, int width, int height)
return NULL;
memset(c, 0, sizeof *c);
c->conn = xcb_connect(0, 0);
c->dpy = XOpenDisplay(NULL);
c->conn = XGetXCBConnection(c->dpy);
if (xcb_connection_has_error(c->conn))
return NULL;

View File

@ -18,7 +18,7 @@ AC_PROG_RANLIB
PKG_PROG_PKG_CONFIG()
PKG_CHECK_MODULES(COMPOSITOR,
[wayland-server wayland-client egl >= 7.10 glesv2 gdk-pixbuf-2.0 libudev >= 136 libdrm >= 2.4.23] pixman-1 xcb-dri2 xcb-xfixes)
[wayland-server wayland-client egl >= 7.10 glesv2 gdk-pixbuf-2.0 libudev >= 136 libdrm >= 2.4.23] pixman-1 x11 x11-xcb xcb xcb-dri2 xcb-xfixes)
PKG_CHECK_MODULES(SIMPLE_CLIENT, [egl >= 7.10 glesv2 wayland-client wayland-egl])
PKG_CHECK_MODULES(CLIENT, [wayland-client wayland-egl egl >= 7.10 gl cairo >= 1.10.0 gdk-pixbuf-2.0 glib-2.0 gobject-2.0 xkbcommon])
PKG_CHECK_MODULES(POPPLER, [poppler-glib gdk-2.0 gio-2.0],