summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_texture.c
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-05-27 16:17:06 +0100
committerJosé Fonseca <jfonseca@vmware.com>2010-05-30 16:38:46 +0100
commit82715bb2279b0ddd063d41dd7d52e8fd76c921f4 (patch)
tree7bb24db47f56544c7a8c756da193ca724055b2a2 /src/gallium/drivers/llvmpipe/lp_texture.c
parentb57e18c35cf651addecdfb2339768fbb29c257f5 (diff)
llvmpipe: Call llvmpipe_set_texture_tile_layout only when necessary.
Like the other places.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_texture.c')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_texture.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c
index 5696683f45..d86056ca34 100644
--- a/src/gallium/drivers/llvmpipe/lp_texture.c
+++ b/src/gallium/drivers/llvmpipe/lp_texture.c
@@ -1045,6 +1045,7 @@ llvmpipe_get_texture_image(struct llvmpipe_resource *lpr,
lpr->tiles_per_row[level]);
}
else {
+ assert(layout == LP_TEX_LAYOUT_LINEAR);
lp_tiled_to_linear(other_data, target_data,
x * TILE_SIZE, y * TILE_SIZE,
TILE_SIZE, TILE_SIZE,
@@ -1054,8 +1055,9 @@ llvmpipe_get_texture_image(struct llvmpipe_resource *lpr,
}
}
- llvmpipe_set_texture_tile_layout(lpr, face_slice, level, x, y,
- new_layout);
+ if (new_layout != cur_layout)
+ llvmpipe_set_texture_tile_layout(lpr, face_slice, level, x, y,
+ new_layout);
}
}
}