Mesa (master): swrast: Move the check for fast_copy_pixels() ability to caller.

Eric Anholt anholt at kemper.freedesktop.org
Fri Jan 6 17:58:07 UTC 2012


Module: Mesa
Branch: master
Commit: cedbfc0050af7391b6c8ed54abaa60898208f99d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cedbfc0050af7391b6c8ed54abaa60898208f99d

Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan  4 15:59:39 2012 -0800

swrast: Move the check for fast_copy_pixels() ability to caller.

I'm going to reuse this function from glBlitFramebuffer() handling,
which wants to do the same thing.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/swrast/s_copypix.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/src/mesa/swrast/s_copypix.c b/src/mesa/swrast/s_copypix.c
index 1dc4286..8fae01f 100644
--- a/src/mesa/swrast/s_copypix.c
+++ b/src/mesa/swrast/s_copypix.c
@@ -438,14 +438,6 @@ fast_copy_pixels(struct gl_context *ctx,
    GLubyte *srcMap, *dstMap;
    GLint srcRowStride, dstRowStride;
 
-   if (SWRAST_CONTEXT(ctx)->_RasterMask != 0x0 ||
-       ctx->Pixel.ZoomX != 1.0F ||
-       ctx->Pixel.ZoomY != 1.0F ||
-       ctx->_ImageTransferState) {
-      /* can't handle these */
-      return GL_FALSE;
-   }
-
    if (type == GL_COLOR) {
       if (dstFb->_NumColorDrawBuffers != 1)
          return GL_FALSE;
@@ -582,7 +574,11 @@ _swrast_CopyPixels( struct gl_context *ctx,
    if (swrast->NewState)
       _swrast_validate_derived( ctx );
 
-   if (fast_copy_pixels(ctx, srcx, srcy, width, height, destx, desty, type)) {
+   if (!(SWRAST_CONTEXT(ctx)->_RasterMask != 0x0 ||
+	 ctx->Pixel.ZoomX != 1.0F ||
+	 ctx->Pixel.ZoomY != 1.0F ||
+	 ctx->_ImageTransferState) &&
+       fast_copy_pixels(ctx, srcx, srcy, width, height, destx, desty, type)) {
       /* all done */
       return;
    }




More information about the mesa-commit mailing list