diff options
author | Brian Paul <[email protected]> | 2009-03-26 08:52:56 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2009-03-26 08:52:56 -0600 |
commit | 2002e03a5232c54988161cb629966bdce19d35de (patch) | |
tree | 1af7ff5126ae7be783958be80e21008d902eba80 | |
parent | 3673189326e348eb91e354017703fdfd9d6d8184 (diff) |
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.
-rw-r--r-- | src/mesa/state_tracker/st_cb_texture.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 311d812ccfb..d353241a7eb 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -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); |