lib: Add a helper to write a png from a struct kmstest_fb
authorDamien Lespiau <damien.lespiau@intel.com>
Fri, 6 Sep 2013 17:22:53 +0000 (18:22 +0100)
committerDamien Lespiau <damien.lespiau@intel.com>
Mon, 30 Sep 2013 17:04:21 +0000 (18:04 +0100)
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
lib/drmtest.c
lib/drmtest.h

index cf442a0..5ff9b5f 100644 (file)
@@ -1648,6 +1648,17 @@ static cairo_t *create_cairo_ctx(int fd, struct kmstest_fb *fb)
        return cr;
 }
 
+void kmstest_write_fb(int fd, struct kmstest_fb *fb, const char *filename)
+{
+       cairo_surface_t *surface;
+       cairo_status_t status;
+
+       surface = create_image_surface(fd, fb);
+       status = cairo_surface_write_to_png(surface, filename);
+       assert(status == CAIRO_STATUS_SUCCESS);
+       cairo_surface_destroy(surface);
+}
+
 cairo_t *kmstest_get_cairo_ctx(int fd, struct kmstest_fb *fb)
 {
 
index b0b353f..296c500 100644 (file)
@@ -357,6 +357,7 @@ void kmstest_paint_color_gradient(cairo_t *cr, int x, int y, int w, int h,
 void kmstest_paint_test_pattern(cairo_t *cr, int width, int height);
 void kmstest_paint_image(cairo_t *cr, const char *filename,
                         int dst_x, int dst_y, int dst_width, int dst_height);
+void kmstest_write_fb(int fd, struct kmstest_fb *fb, const char *filename);
 void kmstest_dump_mode(drmModeModeInfo *mode);
 int kmstest_get_pipe_from_crtc_id(int fd, int crtc_id);
 const char *kmstest_format_str(uint32_t drm_format);