Blame SOURCES/cogl-1.14.0-swrast-copy-sub-buffer.patch

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