kms_flip: Exercise flip-vs-render

For machine with split BCS/RCS rings, we also need to test whether we
correctly wait upon outstanding render work before flipping and changing
modes. This should also serve to exercise the ring selection code for
flips.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson
2013-08-29 15:11:47 +01:00
parent 59f134450d
commit d0ed912107
4 changed files with 103 additions and 32 deletions
+2
View File
@@ -1304,6 +1304,7 @@ unsigned int kmstest_create_fb(int fd, int width, int height, int bpp,
fb->width = width;
fb->height = height;
fb->tiling = tiled;
fb->drm_format = bpp_depth_to_drm_format(bpp, depth);
return fb->fb_id;
@@ -1352,6 +1353,7 @@ unsigned int kmstest_create_fb2(int fd, int width, int height, uint32_t format,
fb->width = width;
fb->height = height;
fb->tiling = tiled;
fb->drm_format = format;
fb->fb_id = fb_id;
+6
View File
@@ -25,6 +25,9 @@
*
*/
#ifndef DRMTEST_H
#define DRMTEST_H
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -269,6 +272,7 @@ struct kmstest_fb {
int height;
int depth;
unsigned stride;
unsigned tiling;
unsigned size;
cairo_t *cairo_ctx;
};
@@ -326,3 +330,5 @@ int igt_enable_prefault(void);
/* suspend and auto-resume system */
void igt_system_suspend_autoresume(void);
#endif /* DRMTEST_H */
+5
View File
@@ -1,3 +1,6 @@
#ifndef RENDERCOPY_H
#define RENDERCOPY_H
#include <stdlib.h>
#include <sys/ioctl.h>
#include <stdio.h>
@@ -81,3 +84,5 @@ void gen2_render_copyfunc(struct intel_batchbuffer *batch,
struct scratch_buf *src, unsigned src_x, unsigned src_y,
unsigned width, unsigned height,
struct scratch_buf *dst, unsigned dst_x, unsigned dst_y);
#endif /* RENDERCOPY_H */