summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGareth Hughes <[email protected]>2001-03-28 21:36:31 +0000
committerGareth Hughes <[email protected]>2001-03-28 21:36:31 +0000
commit16a8e986cebae6560d00992b6b9f54549e1d03c6 (patch)
tree7cd0d5527effe3b5a15ef5832bd82309ee604133
parentd082417daeb3f8a35a490eb44b6c88463289fa5d (diff)
- Restore texImage->IntFormat.
- Fix FX driver texture image conversions.
-rw-r--r--src/mesa/drivers/glide/fxddtex.c24
-rw-r--r--src/mesa/main/mtypes.h3
-rw-r--r--src/mesa/main/teximage.c6
-rw-r--r--src/mesa/main/texstate.c4
4 files changed, 20 insertions, 17 deletions
diff --git a/src/mesa/drivers/glide/fxddtex.c b/src/mesa/drivers/glide/fxddtex.c
index 99af41df5da..f15fcf88b60 100644
--- a/src/mesa/drivers/glide/fxddtex.c
+++ b/src/mesa/drivers/glide/fxddtex.c
@@ -1211,7 +1211,7 @@ fxDDTexImage2D(GLcontext * ctx, GLenum target, GLint level,
success = GL_FALSE;
}
else {
- success = _mesa_convert_texsubimage2d(mesaTexFormat->IntFormat,
+ success = _mesa_convert_texsubimage2d(mesaTexFormat->MesaFormat,
0, 0, /* xoffset, yoffset */
mml->width, mml->height,
mml->width, /* destImageWidth */
@@ -1256,7 +1256,7 @@ fxDDTexImage2D(GLcontext * ctx, GLenum target, GLint level,
_mesa_rescale_teximage2d(texFormat,
width, height, mml->width, mml->height,
tempImage, rescaledImage);
- success = _mesa_convert_texsubimage2d(mesaTexFormat->IntFormat,
+ success = _mesa_convert_texsubimage2d(mesaTexFormat->MesaFormat,
0, 0, /* xoffset, yoffset */
mml->width, mml->height,
mml->width, /* destImageWidth */
@@ -1267,7 +1267,7 @@ fxDDTexImage2D(GLcontext * ctx, GLenum target, GLint level,
FREE(rescaledImage);
}
else {
- success = _mesa_convert_texsubimage2d(mesaTexFormat->IntFormat,
+ success = _mesa_convert_texsubimage2d(mesaTexFormat->MesaFormat,
0, 0, /* xoffset, yoffset */
mml->width, mml->height,
mml->width, /* destImageWidth */
@@ -1326,7 +1326,7 @@ fxDDTexSubImage2D(GLcontext * ctx, GLenum target, GLint level,
success = GL_FALSE;
}
else {
- success = _mesa_convert_texsubimage2d(texImage->TexFormat->IntFormat,
+ success = _mesa_convert_texsubimage2d(texImage->TexFormat->MesaFormat,
xoffset, yoffset,
width, height,
mml->width,
@@ -1376,7 +1376,7 @@ fxDDTexSubImage2D(GLcontext * ctx, GLenum target, GLint level,
_mesa_rescale_teximage2d(texImage->TexFormat,
width, height, newWidth, newHeight,
tempImage, rescaledImage);
- success = _mesa_convert_texsubimage2d(texImage->TexFormat->IntFormat,
+ success = _mesa_convert_texsubimage2d(texImage->TexFormat->MesaFormat,
xoffset * wScale, yoffset * hScale,
newWidth, newHeight,
mml->width, /* destImageWidth */
@@ -1387,13 +1387,13 @@ fxDDTexSubImage2D(GLcontext * ctx, GLenum target, GLint level,
FREE(rescaledImage);
}
else {
- success = _mesa_convert_texsubimage2d(texImage->TexFormat->IntFormat,
- xoffset, yoffset,
- width, height,
- mml->width,
- simpleFormat, CHAN_TYPE,
- &_mesa_native_packing,
- tempImage, texImage->Data);
+ success = _mesa_convert_texsubimage2d(texImage->TexFormat->MesaFormat,
+ xoffset, yoffset,
+ width, height,
+ mml->width,
+ simpleFormat, CHAN_TYPE,
+ &_mesa_native_packing,
+ tempImage, texImage->Data);
}
/* the conversion had better of worked! */
assert(success);
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 6ecb33d32e1..32bf65c3f59 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1,4 +1,4 @@
-/* $Id: mtypes.h,v 1.34 2001/03/28 20:40:51 gareth Exp $ */
+/* $Id: mtypes.h,v 1.35 2001/03/28 21:36:31 gareth Exp $ */
/*
* Mesa 3-D graphics library
@@ -804,6 +804,7 @@ struct gl_texture_image {
* GL_INTENSITY, GL_RGB, GL_RGBA,
* GL_COLOR_INDEX or GL_DEPTH_COMPONENT only.
*/
+ GLint IntFormat; /* Internal format as given by the user */
GLuint Border; /* 0 or 1 */
GLuint Width; /* = 2^WidthLog2 + 2*Border */
GLuint Height; /* = 2^HeightLog2 + 2*Border */
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 4f9e2761ae6..d14f5779fb4 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -1,4 +1,4 @@
-/* $Id: teximage.c,v 1.88 2001/03/28 20:40:51 gareth Exp $ */
+/* $Id: teximage.c,v 1.89 2001/03/28 21:36:31 gareth Exp $ */
/*
* Mesa 3-D graphics library
@@ -558,6 +558,7 @@ clear_teximage_fields(struct gl_texture_image *img)
{
ASSERT(img);
img->Format = 0;
+ img->IntFormat = 0;
img->Border = 0;
img->Width = 0;
img->Height = 0;
@@ -587,6 +588,7 @@ init_teximage_fields(GLcontext *ctx,
{
ASSERT(img);
img->Format = _mesa_base_tex_format( ctx, internalFormat );
+ img->IntFormat = internalFormat;
img->Border = border;
img->Width = width;
img->Height = height;
@@ -872,7 +874,7 @@ subtexture_error_check( GLcontext *ctx, GLuint dimensions,
}
}
- if (!is_compressed_format(ctx, destTex->TexFormat->IntFormat) &&
+ if (!is_compressed_format(ctx, destTex->IntFormat) &&
!_mesa_is_legal_format_and_type(format, type)) {
char message[100];
sprintf(message, "glTexSubImage%dD(format or type)", dimensions);
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c
index 5e98965730a..398e23d0a89 100644
--- a/src/mesa/main/texstate.c
+++ b/src/mesa/main/texstate.c
@@ -1,4 +1,4 @@
-/* $Id: texstate.c,v 1.40 2001/03/28 20:40:51 gareth Exp $ */
+/* $Id: texstate.c,v 1.41 2001/03/28 21:36:31 gareth Exp $ */
/*
* Mesa 3-D graphics library
@@ -957,7 +957,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
*params = img->Depth;
return;
case GL_TEXTURE_INTERNAL_FORMAT:
- *params = img->TexFormat->IntFormat;
+ *params = img->IntFormat;
return;
case GL_TEXTURE_BORDER:
*params = img->Border;