summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2019-04-17 21:52:30 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2019-04-18 21:13:45 +0300
commit9b63498756875e8166e10d728056e5f4ac036da6 (patch)
treeea5ba3d3c291d97aca71c4a7d47e1f2ace193b4d
parent25e99ccdde4a65f3f4c72ba85cebb18af815151a (diff)
lib/igt_fb: Nuke redundant rendercopy cairo surface variant
The blit and rendercopy implementations are now identical. Kill one. v2: s/__blit/__gpu/ (Chris) Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--lib/igt_fb.c51
1 files changed, 6 insertions, 45 deletions
diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 766e504d..292c19d2 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -1708,18 +1708,7 @@ static void free_linear_mapping(struct fb_blit_upload *blit)
}
}
-static void destroy_cairo_surface__blit(void *arg)
-{
- struct fb_blit_upload *blit = arg;
-
- blit->fb->cairo_surface = NULL;
-
- free_linear_mapping(blit);
-
- free(blit);
-}
-
-static void destroy_cairo_surface__rendercopy(void *arg)
+static void destroy_cairo_surface__gpu(void *arg)
{
struct fb_blit_upload *blit = arg;
@@ -1775,7 +1764,7 @@ static void setup_linear_mapping(struct fb_blit_upload *blit)
0, linear->fb.size, PROT_READ | PROT_WRITE);
}
-static void create_cairo_surface__blit(int fd, struct igt_fb *fb)
+static void create_cairo_surface__gpu(int fd, struct igt_fb *fb)
{
struct fb_blit_upload *blit;
cairo_format_t cairo_format;
@@ -1796,34 +1785,8 @@ static void create_cairo_surface__blit(int fd, struct igt_fb *fb)
fb->domain = I915_GEM_DOMAIN_GTT;
cairo_surface_set_user_data(fb->cairo_surface,
- (cairo_user_data_key_t *)create_cairo_surface__blit,
- blit, destroy_cairo_surface__blit);
-}
-
-static void create_cairo_surface__rendercopy(int fd, struct igt_fb *fb)
-{
- struct fb_blit_upload *blit;
- cairo_format_t cairo_format;
-
- blit = calloc(1, sizeof(*blit));
- igt_assert(blit);
-
- blit->fd = fd;
- blit->fb = fb;
-
- setup_linear_mapping(blit);
-
- cairo_format = drm_format_to_cairo(fb->drm_format);
- fb->cairo_surface =
- cairo_image_surface_create_for_data(blit->linear.map,
- cairo_format,
- fb->width, fb->height,
- blit->linear.fb.strides[0]);
- fb->domain = I915_GEM_DOMAIN_GTT;
-
- cairo_surface_set_user_data(fb->cairo_surface,
- (cairo_user_data_key_t *)create_cairo_surface__rendercopy,
- blit, destroy_cairo_surface__rendercopy);
+ (cairo_user_data_key_t *)create_cairo_surface__gpu,
+ blit, destroy_cairo_surface__gpu);
}
/**
@@ -2885,10 +2848,8 @@ cairo_surface_t *igt_get_cairo_surface(int fd, struct igt_fb *fb)
((f->cairo_id == CAIRO_FORMAT_INVALID) &&
(f->pixman_id != PIXMAN_invalid)))
create_cairo_surface__convert(fd, fb);
- else if (use_rendercopy(fb))
- create_cairo_surface__rendercopy(fd, fb);
- else if (use_blitter(fb))
- create_cairo_surface__blit(fd, fb);
+ else if (use_blitter(fb) || use_rendercopy(fb))
+ create_cairo_surface__gpu(fd, fb);
else
create_cairo_surface__gtt(fd, fb);