From: Marek Olšák Date: Sun, 25 Oct 2009 08:57:53 +0000 (+0100) Subject: r300g: fix redefining mipmaps and fetching from them X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c2df759cd73e281c4698c717e0ab89757a7affd5;p=mesa.git r300g: fix redefining mipmaps and fetching from them --- 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;