diff options
author | Marek Olšák <[email protected]> | 2012-09-13 00:12:22 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-09-30 18:57:56 +0200 |
commit | 2a309dc2b4e78c9e49d5b679cae5cf802b772469 (patch) | |
tree | 716465b867b2048f335240bc621605f22c9fea67 /src/gallium/drivers/identity | |
parent | ab3070c5fa6d32521c867887288c30231ec5a688 (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')
-rw-r--r-- | src/gallium/drivers/identity/id_context.c | 15 |
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; |