summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/identity/id_context.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-09-13 00:12:22 +0200
committerMarek Olšák <[email protected]>2012-09-30 18:57:56 +0200
commit2a309dc2b4e78c9e49d5b679cae5cf802b772469 (patch)
tree716465b867b2048f335240bc621605f22c9fea67 /src/gallium/drivers/identity/id_context.c
parentab3070c5fa6d32521c867887288c30231ec5a688 (diff)
gallium: implement blit in driver wrappers
Tested-by: Michel Dänzer <[email protected]> Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/drivers/identity/id_context.c')
-rw-r--r--src/gallium/drivers/identity/id_context.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/drivers/identity/id_context.c b/src/gallium/drivers/identity/id_context.c
index f5c6a5cc4fa..cf0a3f9aa40 100644
--- a/src/gallium/drivers/identity/id_context.c
+++ b/src/gallium/drivers/identity/id_context.c
@@ -633,6 +633,20 @@ identity_resource_copy_region(struct pipe_context *_pipe,
}
static void
+identity_blit(struct pipe_context *_pipe,
+ const struct pipe_blit_info *info)
+{
+ struct identity_context *id_pipe = identity_context(_pipe);
+ struct pipe_context *pipe = id_pipe->pipe;
+ struct pipe_blit_info blit = *info;
+
+ blit.src.resource = identity_resource(blit.src.resource)->resource;
+ blit.dst.resource = identity_resource(blit.dst.resource)->resource;
+
+ pipe->blit(pipe, &blit);
+}
+
+static void
identity_clear(struct pipe_context *_pipe,
unsigned buffers,
const union pipe_color_union *color,
@@ -937,6 +951,7 @@ identity_context_create(struct pipe_screen *_screen, struct pipe_context *pipe)
id_pipe->base.transfer_unmap = identity_context_transfer_unmap;
id_pipe->base.transfer_flush_region = identity_context_transfer_flush_region;
id_pipe->base.transfer_inline_write = identity_context_transfer_inline_write;
+ id_pipe->base.blit = identity_blit;
id_pipe->pipe = pipe;