From ba00f2f6f54cbc5ffdb0f0b94bcd672d147cdc36 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 28 Nov 2013 11:08:11 +1000 Subject: swrast* (gallium, classic): add MESA_copy_sub_buffer support (v3) This patches add MESA_copy_sub_buffer support to the dri sw loader and then to gallium state tracker, llvmpipe, softpipe and other bits. It reuses the dri1 driver extension interface, and it updates the swrast loader interface for a new putimage which can take a stride. I've tested this with gnome-shell with a cogl hacked to reenable sub copies for llvmpipe and the one piglit test. I could probably split this patch up as well. v2: pass a pipe_box, to reduce the entrypoints, as per Jose's review, add to p_screen doc comments. v3: finish off winsys interfaces, add swrast classic support as well. Reviewed-by: Jose Fonseca Signed-off-by: Dave Airlie swrast: add support for copy_sub_buffer --- src/gallium/drivers/rbug/rbug_screen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/gallium/drivers/rbug') diff --git a/src/gallium/drivers/rbug/rbug_screen.c b/src/gallium/drivers/rbug/rbug_screen.c index 2471fdb4661..8576e2f0897 100644 --- a/src/gallium/drivers/rbug/rbug_screen.c +++ b/src/gallium/drivers/rbug/rbug_screen.c @@ -190,7 +190,7 @@ static void rbug_screen_flush_frontbuffer(struct pipe_screen *_screen, struct pipe_resource *_resource, unsigned level, unsigned layer, - void *context_private) + void *context_private, struct pipe_box *sub_box) { struct rbug_screen *rb_screen = rbug_screen(_screen); struct rbug_resource *rb_resource = rbug_resource(_resource); @@ -200,7 +200,7 @@ rbug_screen_flush_frontbuffer(struct pipe_screen *_screen, screen->flush_frontbuffer(screen, resource, level, layer, - context_private); + context_private, sub_box); } static void -- cgit v1.2.3