fix Height2/Depth2 init problem when using texture borders

This commit is contained in:
Brian
2008-03-10 17:41:00 -06:00
parent 7585b4ceb8
commit c813b545ab
+17 -6
View File
@@ -1214,19 +1214,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;