diff options
author | Marek Olšák <[email protected]> | 2012-12-20 03:54:33 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2013-01-04 14:06:17 +0100 |
commit | 85cb4f299d8a0a0ebc8fe14d0ccd327375eda99e (patch) | |
tree | 62170c507a488bc8adbade076f671c6cd7ac4fdc /src/gallium/auxiliary/util | |
parent | 538d3a2d46314bbdd415234f988bcaf49dcd219a (diff) |
st/mesa: fix GetTexImage for compressed 2D array textures
This uses a 3D blit to decompress the texture and then a 3D transfer
to read it.
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/util')
-rw-r--r-- | src/gallium/auxiliary/util/u_inlines.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_inlines.h b/src/gallium/auxiliary/util/u_inlines.h index 582aacdca1e..2ff90c982d8 100644 --- a/src/gallium/auxiliary/util/u_inlines.h +++ b/src/gallium/auxiliary/util/u_inlines.h @@ -421,6 +421,24 @@ pipe_transfer_map(struct pipe_context *context, &box, transfer); } +static INLINE void * +pipe_transfer_map_3d(struct pipe_context *context, + struct pipe_resource *resource, + unsigned level, + enum pipe_transfer_usage usage, + unsigned x, unsigned y, unsigned z, + unsigned w, unsigned h, unsigned d, + struct pipe_transfer **transfer) +{ + struct pipe_box box; + u_box_3d(x, y, z, w, h, d, &box); + return context->transfer_map(context, + resource, + level, + usage, + &box, transfer); +} + static INLINE void pipe_transfer_unmap( struct pipe_context *context, struct pipe_transfer *transfer ) |