summaryrefslogtreecommitdiffstats
path: root/src/gallium/tests/graw
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2013-11-28 11:08:11 +1000
committerDave Airlie <[email protected]>2013-12-13 14:37:01 +1000
commitba00f2f6f54cbc5ffdb0f0b94bcd672d147cdc36 (patch)
tree93cec2b58156f3fb87cbc425a7680253bb1fe82f /src/gallium/tests/graw
parent40070e72d4f27797d03986a68b1540339eb2b496 (diff)
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 <[email protected]> Signed-off-by: Dave Airlie <[email protected]> swrast: add support for copy_sub_buffer
Diffstat (limited to 'src/gallium/tests/graw')
-rw-r--r--src/gallium/tests/graw/clear.c2
-rw-r--r--src/gallium/tests/graw/fs-test.c2
-rw-r--r--src/gallium/tests/graw/graw_util.h2
-rw-r--r--src/gallium/tests/graw/gs-test.c2
-rw-r--r--src/gallium/tests/graw/quad-sample.c2
-rw-r--r--src/gallium/tests/graw/shader-leak.c2
-rw-r--r--src/gallium/tests/graw/tri-gs.c2
-rw-r--r--src/gallium/tests/graw/tri-instanced.c2
-rw-r--r--src/gallium/tests/graw/vs-test.c2
9 files changed, 9 insertions, 9 deletions
diff --git a/src/gallium/tests/graw/clear.c b/src/gallium/tests/graw/clear.c
index 77c59db8a3f..f38da47407f 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 4d38e084b80..0560e31723e 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 8557285e0ea..1856f0d7df4 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 3ada18a30ee..879bf3e8324 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 b4a29e101e4..2e248a8a6f4 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 4ef752b412f..754ada6cf10 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 37323aa0864..24de12b723c 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 f84463d8ce7..55bc3a551da 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 f7d4d7342ec..0e9fc53e1b8 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