mesa: fix _mesa_get_fallback_texture() to handle all texture targets

Previously, this function only handled 2D textures.

The fallback texture is used when we try to sample from an incomplete
texture object.  GLSL says sampling an incomplete texture should return
(0,0,0,1).

v2: use a 1-texel texture image, per José.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
Brian Paul
2012-01-04 14:55:32 -07:00
parent 447071cfb0
commit c04db7f7fa
5 changed files with 111 additions and 35 deletions

View File

@@ -307,9 +307,11 @@ free_shared_state(struct gl_context *ctx, struct gl_shared_state *shared)
{
GLuint i;
/* Free the dummy/fallback texture object */
if (shared->FallbackTex)
ctx->Driver.DeleteTexture(ctx, shared->FallbackTex);
/* Free the dummy/fallback texture objects */
for (i = 0; i < NUM_TEXTURE_TARGETS; i++) {
if (shared->FallbackTex[i])
ctx->Driver.DeleteTexture(ctx, shared->FallbackTex[i]);
}
/*
* Free display lists