[igt-dev] [PATCH i-g-t v2 1/5] lib/igt_fb: Unref the renderecopy scratch bos

Ville Syrjala
2019-04-18T12:10:02Z

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

We're currently leaking all the temporary bos we construct
for rendercopy. That doesn't go so well when trying to test
with 1GiB framebuffers.

v2: Add fini_buf() (Chris)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/igt_fb.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 6a43fcc4735f..766e504d5fce 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -1628,6 +1628,11 @@ static void init_buf(struct fb_blit_upload *blit,
}
}

+static void fini_buf(struct igt_buf *buf)
+{
+ drm_intel_bo_unreference(buf->bo);
+}
+
static void rendercopy(struct fb_blit_upload *blit,
const struct igt_fb *dst_fb,
const struct igt_fb *src_fb)
@@ -1647,6 +1652,9 @@ static void rendercopy(struct fb_blit_upload *blit,
render_copy(blit->batch, NULL,
&src, 0, 0, dst_fb->plane_width[0], dst_fb->plane_height[0],
&dst, 0, 0);
+
+ fini_buf(&dst);
+ fini_buf(&src);
}

static void blitcopy(const struct igt_fb *dst_fb,
--
2.21.0