Module: Mesa Branch: master Commit: 0b994961ff58654f330c51caacf9698f7dafd6b6 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b994961ff58654f330c51caacf9698f7dafd6b6
Author: Brian Paul <[email protected]> Date: Mon Jun 24 16:15:02 2013 -0600 svga: allow 3D transfers in svga_texture_transfer_map() Reviewed-by: Jose Fonseca <[email protected]> --- src/gallium/drivers/svga/svga_resource_texture.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/svga/svga_resource_texture.c b/src/gallium/drivers/svga/svga_resource_texture.c index 4950930..4feca53 100644 --- a/src/gallium/drivers/svga/svga_resource_texture.c +++ b/src/gallium/drivers/svga/svga_resource_texture.c @@ -258,7 +258,6 @@ svga_texture_transfer_map(struct pipe_context *pipe, if (usage & PIPE_TRANSFER_MAP_DIRECTLY) return NULL; - assert(box->depth == 1); st = CALLOC_STRUCT(svga_transfer); if (!st) return NULL; @@ -268,19 +267,19 @@ svga_texture_transfer_map(struct pipe_context *pipe, st->base.usage = usage; st->base.box = *box; st->base.stride = nblocksx*util_format_get_blocksize(texture->format); - st->base.layer_stride = 0; + st->base.layer_stride = st->base.stride * nblocksy; st->hw_nblocksy = nblocksy; st->hwbuf = svga_winsys_buffer_create(svga, 1, 0, - st->hw_nblocksy*st->base.stride); + st->hw_nblocksy * st->base.stride * box->depth); while(!st->hwbuf && (st->hw_nblocksy /= 2)) { st->hwbuf = svga_winsys_buffer_create(svga, 1, 0, - st->hw_nblocksy*st->base.stride); + st->hw_nblocksy * st->base.stride * box->depth); } if(!st->hwbuf) _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
