i915tex: Make sure texture format fetch hooks are initialized.

This commit is contained in:
Michel Dänzer
2007-04-09 14:52:18 +02:00
parent 6461e91ac3
commit c96974f78c
3 changed files with 8 additions and 22 deletions
+1 -19
View File
@@ -329,25 +329,7 @@ intelTexImage(GLcontext * ctx,
texImage->TexFormat = intelChooseTextureFormat(ctx, internalFormat,
format, type);
assert(texImage->TexFormat);
switch (dims) {
case 1:
texImage->FetchTexelc = texImage->TexFormat->FetchTexel1D;
texImage->FetchTexelf = texImage->TexFormat->FetchTexel1Df;
break;
case 2:
texImage->FetchTexelc = texImage->TexFormat->FetchTexel2D;
texImage->FetchTexelf = texImage->TexFormat->FetchTexel2Df;
break;
case 3:
texImage->FetchTexelc = texImage->TexFormat->FetchTexel3D;
texImage->FetchTexelf = texImage->TexFormat->FetchTexel3Df;
break;
default:
assert(0);
break;
}
_mesa_set_fetch_functions(texImage, dims);
if (texImage->TexFormat->TexelBytes == 0) {
/* must be a compressed format */
+3 -3
View File
@@ -2771,8 +2771,8 @@ fetch_texel_chan_to_float(const struct gl_texture_image *texImage,
/**
* Initialize the texture image's FetchTexelc and FetchTexelf methods.
*/
static void
set_fetch_functions(struct gl_texture_image *texImage, GLuint dims)
void
_mesa_set_fetch_functions(struct gl_texture_image *texImage, GLuint dims)
{
ASSERT(dims == 1 || dims == 2 || dims == 3);
ASSERT(texImage->TexFormat);
@@ -2832,7 +2832,7 @@ choose_texture_format(GLcontext *ctx, struct gl_texture_image *texImage,
ASSERT(texImage->TexFormat);
set_fetch_functions(texImage, dims);
_mesa_set_fetch_functions(texImage, dims);
if (texImage->TexFormat->TexelBytes == 0) {
/* must be a compressed format */
+4
View File
@@ -85,6 +85,10 @@ _mesa_make_temp_chan_image(GLcontext *ctx, GLuint dims,
const struct gl_pixelstore_attrib *srcPacking);
extern void
_mesa_set_fetch_functions(struct gl_texture_image *texImage, GLuint dims);
extern void
_mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level,
GLint internalFormat,