Mesa (master): llvmpipe: pass face+slice to llvmpipe_unswizzle_cbuf_tile()
Brian Paul
brianp at kemper.freedesktop.org
Tue Jul 27 23:42:39 UTC 2010
Module: Mesa
Branch: master
Commit: 25472942c9640f6c0d252de2f013d04ac2355b1d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=25472942c9640f6c0d252de2f013d04ac2355b1d
Author: Brian Paul <brianp at vmware.com>
Date: Tue Jul 27 17:40:00 2010 -0600
llvmpipe: pass face+slice to llvmpipe_unswizzle_cbuf_tile()
Cube map faces and 3D texture slices are treated the same in llvmpipe
textures. Need to pass the sum of these fields to
llvmpipe_unswizzle_cbuf_tile() as we do elsewhere.
Fixes piglit fbo-3d test (fd.o bug 29135).
---
src/gallium/drivers/llvmpipe/lp_rast.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c
index 654f4ea..ba7b483 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -368,14 +368,15 @@ lp_rast_store_linear_color( struct lp_rasterizer_task *task,
for (buf = 0; buf < rast->state.nr_cbufs; buf++) {
struct pipe_surface *cbuf = scene->fb.cbufs[buf];
- const unsigned face = cbuf->face, level = cbuf->level;
+ const unsigned face_slice = cbuf->face + cbuf->zslice;
+ const unsigned level = cbuf->level;
struct llvmpipe_resource *lpt = llvmpipe_resource(cbuf->texture);
if (!task->color_tiles[buf])
continue;
llvmpipe_unswizzle_cbuf_tile(lpt,
- face,
+ face_slice,
level,
task->x, task->y,
task->color_tiles[buf]);
More information about the mesa-commit
mailing list