diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/r300/r300_texture.c | 6 |
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 5750bc4329f..f7c167d1bfe 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); |