summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv40
diff options
context:
space:
mode:
authorYounes Manton <[email protected]>2009-12-06 12:26:55 -0500
committerYounes Manton <[email protected]>2009-12-06 12:34:27 -0500
commitc574f515f0aa20ccc3841cf61a6124bc5996e7b2 (patch)
tree43440f5f295cf423069e00df77add30cda486a0d /src/gallium/drivers/nv40
parent07487643515edb731c6abc3e931c329a89dd9293 (diff)
nouveau: Work around nv04-nv40 miptrees not matching nouveau_miptree.
Thanks to Bob Gleitsmann for the patch. I'll clean this up in a better way later if noone else beats me to it.
Diffstat (limited to 'src/gallium/drivers/nv40')
-rw-r--r--src/gallium/drivers/nv40/nv40_miptree.c5
-rw-r--r--src/gallium/drivers/nv40/nv40_state.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/nv40/nv40_miptree.c b/src/gallium/drivers/nv40/nv40_miptree.c
index 8779c5572b9..89ddf373e9e 100644
--- a/src/gallium/drivers/nv40/nv40_miptree.c
+++ b/src/gallium/drivers/nv40/nv40_miptree.c
@@ -5,6 +5,8 @@
#include "nv40_context.h"
+
+
static void
nv40_miptree_layout(struct nv40_miptree *mt)
{
@@ -109,7 +111,7 @@ nv40_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *pt)
FREE(mt);
return NULL;
}
-
+ mt->bo = nouveau_bo(mt->buffer);
return &mt->base;
}
@@ -138,6 +140,7 @@ nv40_miptree_blanket(struct pipe_screen *pscreen, const struct pipe_texture *pt,
mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
pipe_buffer_reference(&mt->buffer, pb);
+ mt->bo = nouveau_bo(mt->buffer);
return &mt->base;
}
diff --git a/src/gallium/drivers/nv40/nv40_state.h b/src/gallium/drivers/nv40/nv40_state.h
index 8a9d8c8fdf6..192074e7471 100644
--- a/src/gallium/drivers/nv40/nv40_state.h
+++ b/src/gallium/drivers/nv40/nv40_state.h
@@ -75,6 +75,7 @@ struct nv40_fragment_program {
struct nv40_miptree {
struct pipe_texture base;
+ struct nouveau_bo *bo;
struct pipe_buffer *buffer;
uint total_size;