Blob Blame History Raw
diff -up cogl-1.14.0/cogl/winsys/cogl-winsys-glx.c.jx cogl-1.14.0/cogl/winsys/cogl-winsys-glx.c
--- cogl-1.14.0/cogl/winsys/cogl-winsys-glx.c.jx	2013-02-21 10:41:08.000000000 -0500
+++ cogl-1.14.0/cogl/winsys/cogl-winsys-glx.c	2014-01-29 16:16:00.501264635 -0500
@@ -698,30 +698,18 @@ update_winsys_features (CoglContext *con
   COGL_FLAGS_SET (context->features,
                   COGL_FEATURE_ID_ONSCREEN_MULTIPLE, TRUE);
 
-  if (glx_renderer->glXCopySubBuffer || context->glBlitFramebuffer)
+  /* our swrast has working CopySubBuffer, but not BlitFramebuffer */
+  if (context->gpu.architecture == COGL_GPU_INFO_ARCHITECTURE_LLVMPIPE ||
+      context->gpu.architecture == COGL_GPU_INFO_ARCHITECTURE_SOFTPIPE ||
+      context->gpu.architecture == COGL_GPU_INFO_ARCHITECTURE_SWRAST)
     {
-      CoglGpuInfoArchitecture arch;
+      context->glBlitFramebuffer = NULL;
+    }
 
-      /* XXX: ONGOING BUG:
-       * (Don't change the line above since we use this to grep for
-       * un-resolved bug workarounds as part of the release process.)
-       *
-       * "The "drisw" binding in Mesa for loading sofware renderers is
-       * broken, and neither glBlitFramebuffer nor glXCopySubBuffer
-       * work correctly."
-       * - ajax
-       * - https://bugzilla.gnome.org/show_bug.cgi?id=674208
-       *
-       * This is broken in software Mesa at least as of 7.10
-       */
-      arch = context->gpu.architecture;
-      if (arch != COGL_GPU_INFO_ARCHITECTURE_LLVMPIPE &&
-          arch != COGL_GPU_INFO_ARCHITECTURE_SOFTPIPE &&
-          arch != COGL_GPU_INFO_ARCHITECTURE_SWRAST)
-	{
-	  COGL_FLAGS_SET (context->winsys_features,
-			  COGL_WINSYS_FEATURE_SWAP_REGION, TRUE);
-	}
+  if (glx_renderer->glXCopySubBuffer || context->glBlitFramebuffer)
+    {
+      COGL_FLAGS_SET (context->winsys_features,
+		      COGL_WINSYS_FEATURE_SWAP_REGION, TRUE);
     }
 
   /* Note: glXCopySubBuffer and glBlitFramebuffer won't be throttled