Mesa (gallium-0.2): nv04-nv40: fix nv##_surface_copy() for flipped

Pekka Paalanen pq at kemper.freedesktop.org
Thu Feb 5 18:39:27 UTC 2009


Module: Mesa
Branch: gallium-0.2
Commit: a785a4ae2165c3b58c228f4de4b26b2c0800116c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a785a4ae2165c3b58c228f4de4b26b2c0800116c

Author: Pekka Paalanen <pq at iki.fi>
Date:   Thu Feb  5 19:45:33 2009 +0200

nv04-nv40: fix nv##_surface_copy() for flipped

If do_flipp is true, it would first do the proper copy, height would
wrap around to unsigned maximum, and then it attempts to do another
copy.

Return after doing the proper copy.

Signed-off-by: Pekka Paalanen <pq at iki.fi>

---

 src/gallium/drivers/nv04/nv04_surface.c |    1 +
 src/gallium/drivers/nv10/nv10_surface.c |    1 +
 src/gallium/drivers/nv20/nv20_surface.c |    1 +
 src/gallium/drivers/nv30/nv30_surface.c |    1 +
 src/gallium/drivers/nv40/nv40_surface.c |    1 +
 5 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/nv04/nv04_surface.c b/src/gallium/drivers/nv04/nv04_surface.c
index 1d11f53..14abf16 100644
--- a/src/gallium/drivers/nv04/nv04_surface.c
+++ b/src/gallium/drivers/nv04/nv04_surface.c
@@ -47,6 +47,7 @@ nv04_surface_copy(struct pipe_context *pipe, boolean do_flip,
 			eng2d->copy(eng2d, dest, destx, desty--, src,
 				    srcx, srcy++, width, 1);
 		}
+		return;
 	}
 
 	eng2d->copy(eng2d, dest, destx, desty, src, srcx, srcy, width, height);
diff --git a/src/gallium/drivers/nv10/nv10_surface.c b/src/gallium/drivers/nv10/nv10_surface.c
index 1093dfd..2538151 100644
--- a/src/gallium/drivers/nv10/nv10_surface.c
+++ b/src/gallium/drivers/nv10/nv10_surface.c
@@ -47,6 +47,7 @@ nv10_surface_copy(struct pipe_context *pipe, boolean do_flip,
 			eng2d->copy(eng2d, dest, destx, desty--, src,
 				    srcx, srcy++, width, 1);
 		}
+		return;
 	}
 
 	eng2d->copy(eng2d, dest, destx, desty, src, srcx, srcy, width, height);
diff --git a/src/gallium/drivers/nv20/nv20_surface.c b/src/gallium/drivers/nv20/nv20_surface.c
index a79974c..6cd6075 100644
--- a/src/gallium/drivers/nv20/nv20_surface.c
+++ b/src/gallium/drivers/nv20/nv20_surface.c
@@ -47,6 +47,7 @@ nv20_surface_copy(struct pipe_context *pipe, boolean do_flip,
 			eng2d->copy(eng2d, dest, destx, desty--, src,
 				    srcx, srcy++, width, 1);
 		}
+		return;
 	}
 
 	eng2d->copy(eng2d, dest, destx, desty, src, srcx, srcy, width, height);
diff --git a/src/gallium/drivers/nv30/nv30_surface.c b/src/gallium/drivers/nv30/nv30_surface.c
index b46b612..0f8dc12 100644
--- a/src/gallium/drivers/nv30/nv30_surface.c
+++ b/src/gallium/drivers/nv30/nv30_surface.c
@@ -47,6 +47,7 @@ nv30_surface_copy(struct pipe_context *pipe, boolean do_flip,
 			eng2d->copy(eng2d, dest, destx, desty--, src,
 				    srcx, srcy++, width, 1);
 		}
+		return;
 	}
 
 	eng2d->copy(eng2d, dest, destx, desty, src, srcx, srcy, width, height);
diff --git a/src/gallium/drivers/nv40/nv40_surface.c b/src/gallium/drivers/nv40/nv40_surface.c
index 68bbfce..c4a5fb2 100644
--- a/src/gallium/drivers/nv40/nv40_surface.c
+++ b/src/gallium/drivers/nv40/nv40_surface.c
@@ -47,6 +47,7 @@ nv40_surface_copy(struct pipe_context *pipe, boolean do_flip,
 			eng2d->copy(eng2d, dest, destx, desty--, src,
 				    srcx, srcy++, width, 1);
 		}
+		return;
 	}
 
 	eng2d->copy(eng2d, dest, destx, desty, src, srcx, srcy, width, height);




More information about the mesa-commit mailing list