From: Younes Manton Date: Wed, 11 Feb 2009 16:52:32 +0000 (-0500) Subject: nouveau: 1xN, Nx1 levels of a swizzled mip tree shouldn't be aligned. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=36b83f519864e20a8ddd69b7ced55e89624a390a;p=mesa.git nouveau: 1xN, Nx1 levels of a swizzled mip tree shouldn't be aligned. --- diff --git a/src/gallium/drivers/nv30/nv30_miptree.c b/src/gallium/drivers/nv30/nv30_miptree.c index fe13f50ebb3..510c94d4e64 100644 --- a/src/gallium/drivers/nv30/nv30_miptree.c +++ b/src/gallium/drivers/nv30/nv30_miptree.c @@ -50,7 +50,8 @@ nv30_miptree_layout(struct nv30_miptree *nv30mt) for (l = 0; l < pt->last_level; l++) { nv30mt->level[l].image_offset[f] = offset; - if (!(pt->tex_usage & NOUVEAU_TEXTURE_USAGE_LINEAR)) + if (!(pt->tex_usage & NOUVEAU_TEXTURE_USAGE_LINEAR) && + pt->width[l + 1] > 1 && pt->height[l + 1] > 1) offset += align(nv30mt->level[l].pitch * pt->height[l], 64); else offset += nv30mt->level[l].pitch * pt->height[l]; diff --git a/src/gallium/drivers/nv40/nv40_miptree.c b/src/gallium/drivers/nv40/nv40_miptree.c index e4f8df910a9..e38b1e7f5ca 100644 --- a/src/gallium/drivers/nv40/nv40_miptree.c +++ b/src/gallium/drivers/nv40/nv40_miptree.c @@ -50,7 +50,8 @@ nv40_miptree_layout(struct nv40_miptree *mt) for (l = 0; l < pt->last_level; l++) { mt->level[l].image_offset[f] = offset; - if (!(pt->tex_usage & NOUVEAU_TEXTURE_USAGE_LINEAR)) + if (!(pt->tex_usage & NOUVEAU_TEXTURE_USAGE_LINEAR) && + pt->width[l + 1] > 1 && pt->height[l + 1] > 1) offset += align(mt->level[l].pitch * pt->height[l], 64); else offset += mt->level[l].pitch * pt->height[l];