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).
This commit is contained in:
Brian Paul 2010-07-27 17:40:00 -06:00
parent 6a20539580
commit 25472942c9

View file

@ -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]);