File cogl-1.8.2-lp-no-framebuffer-blit.patch of Package cogl
diff -up cogl-1.8.2/cogl/winsys/cogl-winsys-glx.c.jx cogl-1.8.2/cogl/winsys/cogl-winsys-glx.c
--- cogl-1.8.2/cogl/winsys/cogl-winsys-glx.c.jx 2011-11-03 16:58:15.000000000 -0400
+++ cogl-1.8.2/cogl/winsys/cogl-winsys-glx.c 2011-11-03 17:28:23.313469639 -0400
@@ -418,8 +418,15 @@ update_winsys_features (CoglContext *con
TRUE);
if (glx_renderer->pf_glXCopySubBuffer || context->glBlitFramebuffer)
- COGL_FLAGS_SET (context->winsys_features,
- COGL_WINSYS_FEATURE_SWAP_REGION, TRUE);
+ {
+ /* hack hack hack hack. llvmpipe's support for both is broken */
+ const GLubyte *renderer = context->glGetString (GL_RENDERER);
+ if (!strstr (renderer, "llvmpipe"))
+ {
+ COGL_FLAGS_SET (context->winsys_features,
+ COGL_WINSYS_FEATURE_SWAP_REGION, TRUE);
+ }
+ }
/* Note: glXCopySubBuffer and glBlitFramebuffer won't be throttled
* by the SwapInterval so we have to throttle swap_region requests