summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/util/u_blitter.h
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-07-25 12:38:22 +0200
committerMarek Olšák <[email protected]>2012-08-15 19:20:57 +0200
commit825b45366d5308fd3e8e71c0c1943cb6ca8f69ea (patch)
treecc921b420803f4af43eca89212f4e1d1caaa4fd1 /src/gallium/auxiliary/util/u_blitter.h
parentdacf5dc9ac1a700b86e0dc385513afaff41e7aea (diff)
gallium/u_blitter: implement blitting multisample resources
It can blit only one sample at a time (it should be called in a loop).
Diffstat (limited to 'src/gallium/auxiliary/util/u_blitter.h')
-rw-r--r--src/gallium/auxiliary/util/u_blitter.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/util/u_blitter.h b/src/gallium/auxiliary/util/u_blitter.h
index 7600391c511..cccdc061e08 100644
--- a/src/gallium/auxiliary/util/u_blitter.h
+++ b/src/gallium/auxiliary/util/u_blitter.h
@@ -178,6 +178,10 @@ boolean util_blitter_is_copy_supported(struct blitter_context *blitter,
* a software fallback path is taken and both surfaces must be of the same
* format.
*
+ * Only one sample of a multisample texture can be copied and is specified by
+ * src_sample. If the destination is a multisample resource, dst_sample_mask
+ * specifies the sample mask. For single-sample resources, set dst_sample_mask
+ * to ~0.
*
* These states must be saved in the blitter in addition to the state objects
* already required to be saved:
@@ -190,10 +194,10 @@ boolean util_blitter_is_copy_supported(struct blitter_context *blitter,
*/
void util_blitter_copy_texture(struct blitter_context *blitter,
struct pipe_resource *dst,
- unsigned dst_level,
+ unsigned dst_level, unsigned dst_sample_mask,
unsigned dstx, unsigned dsty, unsigned dstz,
struct pipe_resource *src,
- unsigned src_level,
+ unsigned src_level, unsigned src_sample,
const struct pipe_box *srcbox);
/**
@@ -218,8 +222,10 @@ void util_blitter_copy_texture(struct blitter_context *blitter,
*/
void util_blitter_copy_texture_view(struct blitter_context *blitter,
struct pipe_surface *dst,
+ unsigned dst_sample_mask,
unsigned dstx, unsigned dsty,
struct pipe_sampler_view *src,
+ unsigned src_sample,
const struct pipe_box *srcbox,
unsigned src_width0, unsigned src_height0,
unsigned mask);