From: Dana Jansens Date: Mon, 10 Mar 2008 05:37:26 +0000 (-0400) Subject: i dont know why the pixmap creation fails but it does. bed time :( X-Git-Url: http://git.openbox.org/?p=dana%2Fdcompmgr.git;a=commitdiff_plain;h=d17cf82baaa596a9c8b0d7875f5a089c4bc018cc i dont know why the pixmap creation fails but it does. bed time :( --- diff --git a/glxrender.c b/glxrender.c index 3aa3b0c..511bdb1 100644 --- a/glxrender.c +++ b/glxrender.c @@ -332,6 +332,10 @@ glxrender_find_fb_config(d_screen_t *sc, data_t *d) if (val != vid) continue; val = glxrender_fbconfig_info(fbprops, k, nfbprops, + GLX_BIND_TO_TEXTURE_TARGETS_EXT); + printf("BIND TO TARGETS %x\n", val); + + val = glxrender_fbconfig_info(fbprops, k, nfbprops, GLX_DOUBLEBUFFER); printf("dbl buffer %s\n", val ? "yes" : "no"); if (val) continue; @@ -505,7 +509,7 @@ glxrender_update_window_pixmap(d_window_t *w, data_t *d, window_data_t *wd) static const uint32_t attrs[] = { GLX_TEXTURE_FORMAT_EXT, - GLX_TEXTURE_FORMAT_RGBA_EXT, + GLX_TEXTURE_FORMAT_RGBA_EXT }; px = window_get_pixmap(w); @@ -513,12 +517,26 @@ glxrender_update_window_pixmap(d_window_t *w, data_t *d, window_data_t *wd) if (px && d->fbconfig[depth]) { wd->glpixmap = xcb_generate_id(w->sc->dpy->conn); printf("creating pixmap fbcon 0x%x\n", d->fbconfig[depth]); - xcb_glx_create_pixmap(w->sc->dpy->conn, w->sc->num, d->fbconfig[depth], - px, wd->glpixmap, 2, attrs); + + xcb_void_cookie_t ck = + xcb_glx_create_pixmap_checked(w->sc->dpy->conn, w->sc->num, + d->fbconfig[depth], + px, wd->glpixmap, + sizeof(attrs)/sizeof(attrs[0]), + attrs); + { + xcb_generic_error_t *err; + err = xcb_request_check(w->sc->dpy->conn, ck); + if (err) { + printf("error creating pixmap\n"); + display_error(w->sc->dpy, err); + free(err); + } + } glBindTexture(GL_TEXTURE_2D, wd->texname); - if (0) { + { /* BindTexImageEXT 1 CARD8 opcode (X assigned) @@ -531,12 +549,11 @@ glxrender_update_window_pixmap(d_window_t *w, data_t *d, window_data_t *wd) 4 CARD32 num_attributes 4*n LISTofATTRIBUTE_PAIR attribute, value pairs. */ - unsigned int len = (4 + 0) * sizeof(uint32_t); + unsigned int len = (3 + 0) * sizeof(uint32_t); uint32_t data[] = { wd->glpixmap, GLX_FRONT_LEFT_EXT, - 0, - NULL + 0 }; xcb_glx_vendor_private(w->sc->dpy->conn, 1330,