Allow glTexImage1/2/3D to specify width/height/depth = 0.

This allows texture state to be resettable to default state.
Not allowed according to the spec, but allowed by all other OpenGL libs.
This commit is contained in:
Brian Paul
2003-09-12 15:03:12 +00:00
parent 5c480a4887
commit 973da83f62
4 changed files with 21 additions and 11 deletions

View File

@@ -310,6 +310,15 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
return;
}
/* Check width/height/depth for zero */
if (t->Image[baseLevel]->Width == 0 ||
t->Image[baseLevel]->Height == 0 ||
t->Image[baseLevel]->Depth == 0) {
incomplete(t, "texture width = 0");
t->Complete = GL_FALSE;
return;
}
/* Compute _MaxLevel */
if (t->Target == GL_TEXTURE_1D) {
maxLog2 = t->Image[baseLevel]->WidthLog2;
@@ -559,7 +568,6 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
}
else if (t->Target == GL_TEXTURE_RECTANGLE_NV) {
/* XXX special checking? */
}
else {
/* Target = ??? */