summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2009-10-25 09:57:53 +0100
committerJoakim Sindholt <opensource@zhasha.com>2009-10-25 10:16:59 +0100
commitc2df759cd73e281c4698c717e0ab89757a7affd5 (patch)
treeee78194fa802665fba567f80061e22eacea3df25
parent118dfe16887d1ec4d3b96d49b76fffa0d2924132 (diff)
r300g: fix redefining mipmaps and fetching from them
-rw-r--r--src/gallium/drivers/r300/r300_texture.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/drivers/r300/r300_texture.c b/src/gallium/drivers/r300/r300_texture.c
index 37c7910d800..762806822c2 100644
--- a/src/gallium/drivers/r300/r300_texture.c
+++ b/src/gallium/drivers/r300/r300_texture.c
@@ -36,8 +36,9 @@ static void r300_setup_texture_state(struct r300_texture* tex)
state->format0 = R300_TX_WIDTH((pt->width[0] - 1) & 0x7ff) |
R300_TX_HEIGHT((pt->height[0] - 1) & 0x7ff) |
R300_TX_DEPTH(util_logbase2(pt->depth[0]) & 0xf) |
- R300_TX_NUM_LEVELS(pt->last_level & 0xf) |
- R300_TX_PITCH_EN;
+ R300_TX_NUM_LEVELS(pt->last_level & 0xf);/* |
+ R300_TX_PITCH_EN;*/
+ /* XXX TX_PITCH_EN breaks rendering mipmap levels > 0, weard */
/* XXX */
state->format1 = r300_translate_texformat(pt->format);
@@ -194,6 +195,10 @@ static struct pipe_surface* r300_get_tex_surface(struct pipe_screen* screen,
surface->height = texture->height[level];
surface->offset = offset;
surface->usage = flags;
+ surface->zslice = zslice;
+ surface->texture = texture;
+ surface->face = face;
+ surface->level = level;
}
return surface;