summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2011-09-22 17:01:18 +0200
committerMarek Olšák <maraeo@gmail.com>2011-10-02 03:45:36 +0200
commit726ce042f8a88003b34fd2c068691a0f67427c58 (patch)
tree1b38d96dcd86021743321109d5e465c8f42cc005
parent4ebd2c7c09d8c699d386727d8066abff43922383 (diff)
st/mesa: Convert size assertions to conditionals in st_texture_image_copy.
Prevents potential assertion failures in piglit fbo-incomplete-texture-03 test. NOTE: This is a candidate for the 7.11 branch. (cherry picked from commit 4beb8f9e9d0d45d64a9d60ef48ede95b4723c9a5)
-rw-r--r--src/mesa/state_tracker/st_texture.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mesa/state_tracker/st_texture.c b/src/mesa/state_tracker/st_texture.c
index ffe7e256a56..f40bbdc06f2 100644
--- a/src/mesa/state_tracker/st_texture.c
+++ b/src/mesa/state_tracker/st_texture.c
@@ -367,9 +367,15 @@ st_texture_image_copy(struct pipe_context *pipe,
struct pipe_box src_box;
GLuint i;
- assert(u_minify(src->width0, srcLevel) == width);
- assert(u_minify(src->height0, srcLevel) == height);
- assert(u_minify(src->depth0, srcLevel) == depth);
+ if (u_minify(src->width0, srcLevel) != width ||
+ u_minify(src->height0, srcLevel) != height ||
+ u_minify(src->depth0, srcLevel) != depth) {
+ /* The source image size doesn't match the destination image size.
+ * This can happen in some degenerate situations such as rendering to a
+ * cube map face which was set up with mismatched texture sizes.
+ */
+ return;
+ }
src_box.x = 0;
src_box.y = 0;