i965: Don't try to use HW blitter for glCopyPixels() when multisampled.
authorPaul Berry <stereotype441@gmail.com>
Tue, 3 Dec 2013 23:41:14 +0000 (15:41 -0800)
committerPaul Berry <stereotype441@gmail.com>
Mon, 9 Dec 2013 18:51:07 +0000 (10:51 -0800)
The hardware blitter doesn't understand multisampled layouts, so
there's no way this could possibly succeed.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/intel_pixel_copy.c

index d61940dda221cc37bc751381068430ad694bb502..e76b24bf9da672b17bb6fa92d1b38d90d4885e85 100644 (file)
@@ -102,6 +102,11 @@ do_blit_copypixels(struct gl_context * ctx,
       return false;
    }
 
+   if (draw_irb->mt->num_samples > 1 || read_irb->mt->num_samples > 1) {
+      perf_debug("glCopyPixels() fallback: multisampled buffers\n");
+      return false;
+   }
+
    if (ctx->_ImageTransferState) {
       perf_debug("glCopyPixels(): Unsupported image transfer state\n");
       return false;