diff options
-rw-r--r-- | src/gallium/drivers/nv30/nv30_miptree.c | 3 | ||||
-rw-r--r-- | src/gallium/drivers/nv40/nv40_miptree.c | 3 |
2 files changed, 4 insertions, 2 deletions
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]; |