summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_texture.c
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2010-07-24 03:07:45 +0200
committerMarek Olšák <maraeo@gmail.com>2010-07-25 10:25:21 +0200
commit3adb5c7d45f4a38b0fbb66633c808f69082918cc (patch)
tree659843cedc1a6aa0fa47085659b6dc2d0f5d98c6 /src/gallium/drivers/r300/r300_texture.c
parent5603d2e4c4dd64f8d8ba265dde216bf42a9ac945 (diff)
r300g: do not align texture height to 2^n for 1D and 2D non-mipmapped textures
I don't remember why the alignment was there, but it seems to be no longer needed. I guess it was a dirty fix for some other bug.
Diffstat (limited to 'src/gallium/drivers/r300/r300_texture.c')
-rw-r--r--src/gallium/drivers/r300/r300_texture.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/r300/r300_texture.c b/src/gallium/drivers/r300/r300_texture.c
index 5750bc4329..f7c167d1bf 100644
--- a/src/gallium/drivers/r300/r300_texture.c
+++ b/src/gallium/drivers/r300/r300_texture.c
@@ -774,7 +774,11 @@ static unsigned r300_texture_get_nblocksy(struct r300_texture* tex,
height = align(height, tile_height);
/* This is needed for the kernel checker, unfortunately. */
- height = util_next_power_of_two(height);
+ if ((tex->b.b.target != PIPE_TEXTURE_1D &&
+ tex->b.b.target != PIPE_TEXTURE_2D) ||
+ tex->b.b.last_level != 0) {
+ height = util_next_power_of_two(height);
+ }
}
return util_format_get_nblocksy(tex->b.b.format, height);