i915tex: Make sure texture format fetch hooks are initialized.
This commit is contained in:
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user