st: init the default texture to (0,0,0,1)

The default texture is used when a sampler uses an incomplete texture.
This change fixes the piglit fp-incomplete test.
This commit is contained in:
Brian Paul
2009-03-26 08:52:56 -06:00
parent 3673189326
commit 2002e03a52
+12 -2
View File
@@ -1471,9 +1471,19 @@ st_get_default_texture(struct st_context *st)
GLubyte pixels[16][16][4];
struct gl_texture_object *texObj;
struct gl_texture_image *texImg;
GLuint i, j;
/* init image to gray */
memset(pixels, 127, sizeof(pixels));
/* The ARB_fragment_program spec says (0,0,0,1) should be returned
* when attempting to sample incomplete textures.
*/
for (i = 0; i < 16; i++) {
for (j = 0; j < 16; j++) {
pixels[i][j][0] = 0;
pixels[i][j][1] = 0;
pixels[i][j][2] = 0;
pixels[i][j][3] = 255;
}
}
texObj = st->ctx->Driver.NewTextureObject(st->ctx, 0, target);