summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-03-19 17:08:16 -0600
committerBrian Paul <[email protected]>2008-03-19 17:15:14 -0600
commit4984487bc3338fc351a0631eaa4515e4adbb86a9 (patch)
tree38ff9c2b2bac8cee6c6fc992c4be7fbe18d0b91e /src/gallium/auxiliary
parent11c34dc644fe58b8178ab9142929a6685e3c0848 (diff)
gallium: add face, dirtyLevels params to pipe->texture_update()
This provides better information about which images in texture object have changed. Also, call texture_update() from more places previously missed.
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r--src/gallium/auxiliary/draw/draw_aaline.c1
-rw-r--r--src/gallium/auxiliary/draw/draw_pstipple.c2
-rw-r--r--src/gallium/auxiliary/util/u_gen_mipmap.c3
3 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/draw/draw_aaline.c b/src/gallium/auxiliary/draw/draw_aaline.c
index f2b983374e6..b4fa6bd9670 100644
--- a/src/gallium/auxiliary/draw/draw_aaline.c
+++ b/src/gallium/auxiliary/draw/draw_aaline.c
@@ -410,6 +410,7 @@ aaline_create_texture(struct aaline_stage *aaline)
/* unmap */
pipe_surface_unmap(surface);
pipe_surface_reference(&surface, NULL);
+ pipe->texture_update(pipe, aaline->texture, 0, (1 << level));
}
}
diff --git a/src/gallium/auxiliary/draw/draw_pstipple.c b/src/gallium/auxiliary/draw/draw_pstipple.c
index 09d542002f0..9d154a68381 100644
--- a/src/gallium/auxiliary/draw/draw_pstipple.c
+++ b/src/gallium/auxiliary/draw/draw_pstipple.c
@@ -374,7 +374,7 @@ pstip_update_texture(struct pstip_stage *pstip)
/* unmap */
pipe_surface_unmap(surface);
pipe_surface_reference(&surface, NULL);
- pipe->texture_update(pipe, pstip->texture);
+ pipe->texture_update(pipe, pstip->texture, 0, 0x1);
}
diff --git a/src/gallium/auxiliary/util/u_gen_mipmap.c b/src/gallium/auxiliary/util/u_gen_mipmap.c
index 27141c4d13f..028b180a777 100644
--- a/src/gallium/auxiliary/util/u_gen_mipmap.c
+++ b/src/gallium/auxiliary/util/u_gen_mipmap.c
@@ -872,7 +872,8 @@ util_gen_mipmap(struct gen_mipmap_state *ctx,
pipe->flush(pipe, PIPE_FLUSH_WAIT);
- /*pipe->texture_update(pipe, pt); not really needed */
+ /* need to signal that the texture has changed _after_ rendering to it */
+ pipe->texture_update(pipe, pt, face, (1 << dstLevel));
}
/* restore state we changed */