Mesa (master): r300g: fix redefining mipmaps and fetching from them

Joakim Sindholt jsindholt at kemper.freedesktop.org
Sun Oct 25 09:17:47 UTC 2009


Module: Mesa
Branch: master
Commit: c2df759cd73e281c4698c717e0ab89757a7affd5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2df759cd73e281c4698c717e0ab89757a7affd5

Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Oct 25 09:57:53 2009 +0100

r300g: fix redefining mipmaps and fetching from them

---

 src/gallium/drivers/r300/r300_texture.c |    9 +++++++--
 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 37c7910..7628068 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;




More information about the mesa-commit mailing list