diff options
Diffstat (limited to 'src/mesa/main/teximage.c')
| -rw-r--r-- | src/mesa/main/teximage.c | 23 | 
1 files changed, 17 insertions, 6 deletions
| diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 9e968ba743..a5e0db736e 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -1217,19 +1217,30 @@ _mesa_init_teximage_fields(GLcontext *ctx, GLenum target,     img->Width = width;     img->Height = height;     img->Depth = depth; +     img->Width2 = width - 2 * border;   /* == 1 << img->WidthLog2; */ -   img->Height2 = height - 2 * border; /* == 1 << img->HeightLog2; */ -   img->Depth2 = depth - 2 * border;   /* == 1 << img->DepthLog2; */     img->WidthLog2 = logbase2(img->Width2); -   if (height == 1)  /* 1-D texture */ + +   if (height == 1) { /* 1-D texture */ +      img->Height2 = 1;        img->HeightLog2 = 0; -   else +   } +   else { +      img->Height2 = height - 2 * border; /* == 1 << img->HeightLog2; */        img->HeightLog2 = logbase2(img->Height2); -   if (depth == 1)   /* 2-D texture */ +   } + +   if (depth == 1) {  /* 2-D texture */ +      img->Depth2 = 1;        img->DepthLog2 = 0; -   else +   } +   else { +      img->Depth2 = depth - 2 * border;   /* == 1 << img->DepthLog2; */        img->DepthLog2 = logbase2(img->Depth2); +   } +     img->MaxLog2 = MAX2(img->WidthLog2, img->HeightLog2); +     img->IsCompressed = GL_FALSE;     img->CompressedSize = 0; | 
