diff options
author | Dave Airlie <airlied@gmail.com> | 2013-11-28 11:08:11 +1000 |
---|---|---|
committer | Dave Airlie <airlied@gmail.com> | 2013-12-13 14:37:01 +1000 |
commit | ba00f2f6f54cbc5ffdb0f0b94bcd672d147cdc36 (patch) | |
tree | 93cec2b58156f3fb87cbc425a7680253bb1fe82f /src/gallium/tests | |
parent | 40070e72d4f27797d03986a68b1540339eb2b496 (diff) | |
download | external_mesa3d-ba00f2f6f54cbc5ffdb0f0b94bcd672d147cdc36.zip external_mesa3d-ba00f2f6f54cbc5ffdb0f0b94bcd672d147cdc36.tar.gz external_mesa3d-ba00f2f6f54cbc5ffdb0f0b94bcd672d147cdc36.tar.bz2 |
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 <jfonseca@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
swrast: add support for copy_sub_buffer
Diffstat (limited to 'src/gallium/tests')
-rw-r--r-- | src/gallium/tests/graw/clear.c | 2 | ||||
-rw-r--r-- | src/gallium/tests/graw/fs-test.c | 2 | ||||
-rw-r--r-- | src/gallium/tests/graw/graw_util.h | 2 | ||||
-rw-r--r-- | src/gallium/tests/graw/gs-test.c | 2 | ||||
-rw-r--r-- | src/gallium/tests/graw/quad-sample.c | 2 | ||||
-rw-r--r-- | src/gallium/tests/graw/shader-leak.c | 2 | ||||
-rw-r--r-- | src/gallium/tests/graw/tri-gs.c | 2 | ||||
-rw-r--r-- | src/gallium/tests/graw/tri-instanced.c | 2 | ||||
-rw-r--r-- | src/gallium/tests/graw/vs-test.c | 2 |
9 files changed, 9 insertions, 9 deletions
diff --git a/src/gallium/tests/graw/clear.c b/src/gallium/tests/graw/clear.c index 77c59db..f38da47 100644 --- a/src/gallium/tests/graw/clear.c +++ b/src/gallium/tests/graw/clear.c @@ -33,7 +33,7 @@ static void draw( void ) graw_save_surface_to_file(ctx, surf, NULL); - screen->flush_frontbuffer(screen, tex, 0, 0, window); + screen->flush_frontbuffer(screen, tex, 0, 0, window, NULL); } static void init( void ) diff --git a/src/gallium/tests/graw/fs-test.c b/src/gallium/tests/graw/fs-test.c index 4d38e08..0560e31 100644 --- a/src/gallium/tests/graw/fs-test.c +++ b/src/gallium/tests/graw/fs-test.c @@ -240,7 +240,7 @@ static void draw( void ) graw_save_surface_to_file(ctx, surf, NULL); - screen->flush_frontbuffer(screen, rttex, 0, 0, window); + screen->flush_frontbuffer(screen, rttex, 0, 0, window, NULL); } #define SIZE 16 diff --git a/src/gallium/tests/graw/graw_util.h b/src/gallium/tests/graw/graw_util.h index 8557285..1856f0d 100644 --- a/src/gallium/tests/graw/graw_util.h +++ b/src/gallium/tests/graw/graw_util.h @@ -211,7 +211,7 @@ static INLINE void graw_util_flush_front(const struct graw_info *info) { info->screen->flush_frontbuffer(info->screen, info->color_buf[0], - 0, 0, info->window); + 0, 0, info->window, NULL); } diff --git a/src/gallium/tests/graw/gs-test.c b/src/gallium/tests/graw/gs-test.c index 3ada18a..879bf3e 100644 --- a/src/gallium/tests/graw/gs-test.c +++ b/src/gallium/tests/graw/gs-test.c @@ -347,7 +347,7 @@ static void draw( void ) graw_save_surface_to_file(ctx, surf, NULL); - screen->flush_frontbuffer(screen, rttex, 0, 0, window); + screen->flush_frontbuffer(screen, rttex, 0, 0, window, NULL); } #define SIZE 16 diff --git a/src/gallium/tests/graw/quad-sample.c b/src/gallium/tests/graw/quad-sample.c index b4a29e1..2e248a8 100644 --- a/src/gallium/tests/graw/quad-sample.c +++ b/src/gallium/tests/graw/quad-sample.c @@ -156,7 +156,7 @@ static void draw( void ) graw_save_surface_to_file(ctx, surf, NULL); - screen->flush_frontbuffer(screen, rttex, 0, 0, window); + screen->flush_frontbuffer(screen, rttex, 0, 0, window, NULL); } #define SIZE 16 diff --git a/src/gallium/tests/graw/shader-leak.c b/src/gallium/tests/graw/shader-leak.c index 4ef752b..754ada6 100644 --- a/src/gallium/tests/graw/shader-leak.c +++ b/src/gallium/tests/graw/shader-leak.c @@ -158,7 +158,7 @@ static void draw( void ) ctx->delete_fs_state(ctx, fs); } - screen->flush_frontbuffer(screen, tex, 0, 0, window); + screen->flush_frontbuffer(screen, tex, 0, 0, window, NULL); ctx->destroy(ctx); exit(0); diff --git a/src/gallium/tests/graw/tri-gs.c b/src/gallium/tests/graw/tri-gs.c index 37323aa..24de12b 100644 --- a/src/gallium/tests/graw/tri-gs.c +++ b/src/gallium/tests/graw/tri-gs.c @@ -168,7 +168,7 @@ static void draw( void ) util_draw_arrays(ctx, PIPE_PRIM_TRIANGLES, 0, 3); ctx->flush(ctx, NULL, 0); - screen->flush_frontbuffer(screen, tex, 0, 0, window); + screen->flush_frontbuffer(screen, tex, 0, 0, window, NULL); } diff --git a/src/gallium/tests/graw/tri-instanced.c b/src/gallium/tests/graw/tri-instanced.c index f84463d..55bc3a5 100644 --- a/src/gallium/tests/graw/tri-instanced.c +++ b/src/gallium/tests/graw/tri-instanced.c @@ -219,7 +219,7 @@ static void draw( void ) graw_save_surface_to_file(ctx, surf, NULL); - screen->flush_frontbuffer(screen, tex, 0, 0, window); + screen->flush_frontbuffer(screen, tex, 0, 0, window, NULL); } diff --git a/src/gallium/tests/graw/vs-test.c b/src/gallium/tests/graw/vs-test.c index f7d4d73..0e9fc53 100644 --- a/src/gallium/tests/graw/vs-test.c +++ b/src/gallium/tests/graw/vs-test.c @@ -234,7 +234,7 @@ static void draw( void ) graw_save_surface_to_file(ctx, surf, NULL); - screen->flush_frontbuffer(screen, rttex, 0, 0, window); + screen->flush_frontbuffer(screen, rttex, 0, 0, window, NULL); } #define SIZE 16 |