|
|
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
|