summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/igt_fb.c18
-rw-r--r--lib/igt_fb.h2
-rwxr-xr-xtests/kms_flip.c6
-rw-r--r--tests/kms_frontbuffer_tracking.c6
4 files changed, 22 insertions, 10 deletions
diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 415a3d65..5dc74a00 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -1415,6 +1415,8 @@ void igt_paint_image(cairo_t *cr, const char *filename,
* @height: height of the framebuffer in pixel
* @format: drm fourcc pixel format code
* @modifier: tiling layout of the framebuffer (as framebuffer modifier)
+ * @color_encoding: color encoding for YCbCr formats (ignored otherwise)
+ * @color_range: color range for YCbCr formats (ignored otherwise)
* @fb: pointer to an #igt_fb structure
* @bo_size: size of the backing bo (0 for automatic size)
* @bo_stride: stride of the backing bo (0 for automatic stride)
@@ -1432,12 +1434,11 @@ void igt_paint_image(cairo_t *cr, const char *filename,
unsigned int
igt_create_fb_with_bo_size(int fd, int width, int height,
uint32_t format, uint64_t modifier,
+ enum igt_color_encoding color_encoding,
+ enum igt_color_range color_range,
struct igt_fb *fb, uint64_t bo_size,
unsigned bo_stride)
{
- /* FIXME allow the caller to pass these in */
- enum igt_color_encoding color_encoding = IGT_COLOR_YCBCR_BT709;
- enum igt_color_range color_range = IGT_COLOR_YCBCR_LIMITED_RANGE;
uint32_t flags = 0;
fb_init(fb, fd, width, height, format, modifier,
@@ -1493,8 +1494,10 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
unsigned int igt_create_fb(int fd, int width, int height, uint32_t format,
uint64_t modifier, struct igt_fb *fb)
{
- return igt_create_fb_with_bo_size(fd, width, height, format, modifier, fb,
- 0, 0);
+ return igt_create_fb_with_bo_size(fd, width, height, format, modifier,
+ IGT_COLOR_YCBCR_BT709,
+ IGT_COLOR_YCBCR_LIMITED_RANGE,
+ fb, 0, 0);
}
/**
@@ -3329,7 +3332,10 @@ unsigned int igt_fb_convert_with_stride(struct igt_fb *dst, struct igt_fb *src,
fb_id = igt_create_fb_with_bo_size(src->fd, src->width,
src->height, dst_fourcc,
- dst_modifier, dst, 0,
+ dst_modifier,
+ IGT_COLOR_YCBCR_BT709,
+ IGT_COLOR_YCBCR_LIMITED_RANGE,
+ dst, 0,
dst_stride);
igt_assert(fb_id > 0);
diff --git a/lib/igt_fb.h b/lib/igt_fb.h
index be786911..e19cc5d4 100644
--- a/lib/igt_fb.h
+++ b/lib/igt_fb.h
@@ -120,6 +120,8 @@ void igt_calc_fb_size(int fd, int width, int height, uint32_t format, uint64_t m
unsigned int
igt_create_fb_with_bo_size(int fd, int width, int height,
uint32_t format, uint64_t modifier,
+ enum igt_color_encoding color_encoding,
+ enum igt_color_range color_range,
struct igt_fb *fb, uint64_t bo_size,
unsigned bo_stride);
unsigned int igt_create_fb(int fd, int width, int height, uint32_t format,
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 0a8d1c55..ef2521f2 100755
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -1247,8 +1247,10 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
igt_bpp_depth_to_drm_format(o->bpp, o->depth),
tiling, &o->fb_info[0]);
o->fb_ids[1] = igt_create_fb_with_bo_size(drm_fd, o->fb_width, o->fb_height,
- igt_bpp_depth_to_drm_format(o->bpp, o->depth),
- tiling, &o->fb_info[1], bo_size, 0);
+ igt_bpp_depth_to_drm_format(o->bpp, o->depth),
+ tiling, IGT_COLOR_YCBCR_BT709,
+ IGT_COLOR_YCBCR_LIMITED_RANGE,
+ &o->fb_info[1], bo_size, 0);
igt_assert(o->fb_ids[0]);
igt_assert(o->fb_ids[1]);
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 1037faf8..c788b59e 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -491,8 +491,10 @@ static void create_fb(enum pixel_format pformat, int width, int height,
igt_calc_fb_size(drm.fd, width, height, format, tiling_for_size, &size,
&stride);
- igt_create_fb_with_bo_size(drm.fd, width, height, format, tiling, fb,
- size, stride);
+ igt_create_fb_with_bo_size(drm.fd, width, height, format, tiling,
+ IGT_COLOR_YCBCR_BT709,
+ IGT_COLOR_YCBCR_LIMITED_RANGE,
+ fb, size, stride);
}
static uint32_t pick_color(struct igt_fb *fb, enum color ecolor)