All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/4] lib/igt_kms: Return the first overlay not the last one
@ 2020-01-31 20:15 Ville Syrjala
  2020-01-31 20:15 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_legacy_colorkey: Test a lot more things Ville Syrjala
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Ville Syrjala @ 2020-01-31 20:15 UTC (permalink / raw)
  To: igt-dev

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

For some reason igt_pipe_get_plane_type() returns the last overlay
plane it can find. I'd prefer it to do the opposite since on
Intel hw the set of features supported by the plane generally
goes down the further up you go.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_kms.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index d20daaad7764..645e6c54c041 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -2293,9 +2293,12 @@ igt_plane_t *igt_pipe_get_plane_type(igt_pipe_t *pipe, int plane_type)
 		plane_idx = pipe->plane_primary;
 		break;
 	case DRM_PLANE_TYPE_OVERLAY:
-		for(i = 0; i < pipe->n_planes; i++)
-			if (pipe->planes[i].type == DRM_PLANE_TYPE_OVERLAY)
-			    plane_idx = i;
+		for(i = 0; i < pipe->n_planes; i++) {
+			if (pipe->planes[i].type == DRM_PLANE_TYPE_OVERLAY) {
+				plane_idx = i;
+				break;
+			}
+		}
 		break;
 	default:
 		break;
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [igt-dev] [PATCH i-g-t 2/4] tests/kms_legacy_colorkey: Test a lot more things
  2020-01-31 20:15 [igt-dev] [PATCH i-g-t 1/4] lib/igt_kms: Return the first overlay not the last one Ville Syrjala
@ 2020-01-31 20:15 ` Ville Syrjala
  2020-01-31 20:15 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_legacy_colorkey: Rename to kms_legacy_colorkey_basic Ville Syrjala
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjala @ 2020-01-31 20:15 UTC (permalink / raw)
  To: igt-dev

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

Try to test that we can actually use the colorkey ioctl to
ask for different colorkeying modes, and make sure the kernel
rejects invalid/unsupported flags, etc.

What we're still missing is looking at the crc to make sure
the color keying actually works. But let's leave that for
the future.

v2: Refactor each subtest into its own function
v3: Rework the expected_ret stuff to handle multiple
    sprite planes

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/kms_legacy_colorkey.c | 167 ++++++++++++++++++++++++++++++------
 1 file changed, 143 insertions(+), 24 deletions(-)

diff --git a/tests/kms_legacy_colorkey.c b/tests/kms_legacy_colorkey.c
index de9610a75e5c..b0168a917517 100644
--- a/tests/kms_legacy_colorkey.c
+++ b/tests/kms_legacy_colorkey.c
@@ -22,49 +22,168 @@
  */
 
 #include "igt.h"
+#include "i915_drm.h"
 #include <errno.h>
 
 
-IGT_TEST_DESCRIPTION("Check that the legacy set colorkey ioctl only works on sprite planes.");
+IGT_TEST_DESCRIPTION("Check that the legacy set colorkey ioctl works.");
 
-static int drm_fd;
-static igt_display_t display;
-static int p;
-static igt_plane_t *plane;
-static uint32_t max_id;
+struct data {
+	igt_display_t display;
+	igt_plane_t *plane;
+	int drm_fd;
+	enum pipe pipe;
+	uint32_t devid;
+};
 
-static void test_plane(uint32_t plane_id, int expected_ret)
+static void test_plane(struct data *data,
+		       uint32_t plane_id,
+		       uint32_t flags,
+		       int expected_ret)
 {
 	struct drm_intel_sprite_colorkey ckey = {
 		.plane_id = plane_id,
+		.flags = flags,
 	};
 
-	igt_assert(drmCommandWrite(drm_fd, DRM_I915_SET_SPRITE_COLORKEY, &ckey,
+	igt_assert(drmCommandWrite(data->drm_fd,
+				   DRM_I915_SET_SPRITE_COLORKEY, &ckey,
 				   sizeof(ckey)) == expected_ret);
 }
 
-igt_simple_main
+static uint32_t max_plane_id(struct data *data)
 {
-	drm_fd = drm_open_driver_master(DRIVER_INTEL);
+	uint32_t max_id = 0;
+	igt_plane_t *plane;
+	enum pipe pipe;
 
-	kmstest_set_vt_graphics_mode();
+	for_each_pipe(&data->display, pipe) {
+		for_each_plane_on_pipe(&data->display, pipe, plane)
+			max_id = max(max_id, plane->drm_plane->plane_id);
+	}
 
-	igt_display_require(&display, drm_fd);
+	return max_id;
+}
 
-	for_each_pipe(&display, p) {
-		for_each_plane_on_pipe(&display, p, plane) {
-			bool is_valid = (plane->type == DRM_PLANE_TYPE_PRIMARY ||
-			                 plane->type == DRM_PLANE_TYPE_CURSOR);
-			test_plane(plane->drm_plane->plane_id,
-				   is_valid ? -ENOENT : 0);
+static void test_invalid_plane_id(struct data *data)
+{
+	/* try some invalid plane IDs */
+	test_plane(data, 0, 0, -ENOENT);
+	test_plane(data, max_plane_id(data) + 1, 0, -ENOENT);
+}
 
-			max_id = max(max_id, plane->drm_plane->plane_id);
-		}
+static int expected_ret(struct data *data, uint32_t flags)
+{
+	igt_plane_t *plane = data->plane;
+
+	switch (flags) {
+	case 0:
+	case I915_SET_COLORKEY_NONE:
+	case I915_SET_COLORKEY_SOURCE:
+		if (plane->type != DRM_PLANE_TYPE_OVERLAY)
+			return -ENOENT;
+
+		return 0;
+	case I915_SET_COLORKEY_DESTINATION:
+		if (plane->type != DRM_PLANE_TYPE_OVERLAY)
+			return -ENOENT;
+
+		/* VLV/CHV don't support dst colorkey (yet) */
+		if (IS_VALLEYVIEW(data->devid) ||
+		    IS_CHERRYVIEW(data->devid))
+			return -EINVAL;
+
+		/*
+		 * Only the first sprite plane gets to
+		 * use destination colorkeying.
+		 */
+		return plane->index == 1 ? 0 : -EINVAL;
+	default:
+		return -EINVAL;
+	}
+}
+
+static void test_overlays(struct data *data, uint32_t flags)
+{
+	for_each_plane_on_pipe(&data->display, data->pipe, data->plane) {
+		uint32_t plane_id = data->plane->drm_plane->plane_id;
+
+		test_plane(data, plane_id, flags, expected_ret(data, flags));
+		test_plane(data, plane_id, 0, expected_ret(data, 0));
+	}
+}
+
+static void test_invalid_flags(struct data *data)
+{
+	igt_skip_on(data->pipe >= data->display.n_pipes);
+
+	/* dst + src keying is not supported */
+	test_overlays(data, I915_SET_COLORKEY_DESTINATION |
+		      I915_SET_COLORKEY_SOURCE);
+
+	/* test some undefined flags */
+	test_overlays(data, 1 << 3);
+	test_overlays(data, 1 << 31);
+}
+
+static void test_no_colorkey(struct data *data)
+{
+	igt_skip_on(data->pipe >= data->display.n_pipes);
+
+	/* no flags should work */
+	test_overlays(data, 0);
+
+	/* the "none" flag should be ignore by the kernel */
+	test_overlays(data, I915_SET_COLORKEY_NONE);
+}
+
+static void test_src_colorkey(struct data *data)
+{
+	igt_skip_on(data->pipe >= data->display.n_pipes);
+
+	test_overlays(data, I915_SET_COLORKEY_SOURCE);
+}
+
+static void test_dst_colorkey(struct data *data)
+{
+	igt_skip_on(data->pipe >= data->display.n_pipes);
+
+	test_overlays(data, I915_SET_COLORKEY_DESTINATION);
+}
+
+static struct data data;
+
+igt_main
+{
+	igt_skip_on_simulation();
+
+	igt_fixture {
+		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+
+		data.devid = intel_get_drm_devid(data.drm_fd);
+
+		kmstest_set_vt_graphics_mode();
+
+		igt_display_require(&data.display, data.drm_fd);
 	}
 
-	/* try some invalid IDs too */
-	test_plane(0, -ENOENT);
-	test_plane(max_id + 1, -ENOENT);
+	igt_subtest("invalid-plane-id")
+		test_invalid_plane_id(&data);
+
+	for_each_pipe_static(data.pipe) {
+		igt_subtest_f("pipe-%s-invalid-flags", kmstest_pipe_name(data.pipe))
+			test_invalid_flags(&data);
+
+		igt_subtest_f("pipe-%s-no-colorkey", kmstest_pipe_name(data.pipe))
+			test_no_colorkey(&data);
+
+		igt_subtest_f("pipe-%s-src-colorkey", kmstest_pipe_name(data.pipe))
+			test_src_colorkey(&data);
+
+		igt_subtest_f("pipe-%s-dst-colorkey", kmstest_pipe_name(data.pipe))
+			test_dst_colorkey(&data);
+	}
 
-	igt_display_fini(&display);
+	igt_fixture
+		igt_display_fini(&data.display);
 }
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [igt-dev] [PATCH i-g-t 3/4] tests/kms_legacy_colorkey: Rename to kms_legacy_colorkey_basic
  2020-01-31 20:15 [igt-dev] [PATCH i-g-t 1/4] lib/igt_kms: Return the first overlay not the last one Ville Syrjala
  2020-01-31 20:15 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_legacy_colorkey: Test a lot more things Ville Syrjala
@ 2020-01-31 20:15 ` Ville Syrjala
  2020-01-31 20:15 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_legacy_colorkey: Add a real colorkey test Ville Syrjala
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjala @ 2020-01-31 20:15 UTC (permalink / raw)
  To: igt-dev

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

Rename the kms_legacy_colorkey test to kms_legacy_colorkey_basic since
it only tests the basic uapi interactions via the ioctl. Actual
verification of the visual results will be a separate test.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/Makefile.sources                                       | 2 +-
 tests/{kms_legacy_colorkey.c => kms_legacy_colorkey_basic.c} | 0
 tests/meson.build                                            | 2 +-
 3 files changed, 2 insertions(+), 2 deletions(-)
 rename tests/{kms_legacy_colorkey.c => kms_legacy_colorkey_basic.c} (100%)

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 74f87849a0ad..7452688e5616 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -56,7 +56,7 @@ TESTS_progs = \
 	kms_hdmi_inject \
 	kms_invalid_dotclock \
 	kms_lease \
-	kms_legacy_colorkey \
+	kms_legacy_colorkey_basic \
 	kms_mmap_write_crc \
 	kms_panel_fitting \
 	kms_pipe_b_c_ivb \
diff --git a/tests/kms_legacy_colorkey.c b/tests/kms_legacy_colorkey_basic.c
similarity index 100%
rename from tests/kms_legacy_colorkey.c
rename to tests/kms_legacy_colorkey_basic.c
diff --git a/tests/meson.build b/tests/meson.build
index 670250a7c1f9..481282487e15 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -40,7 +40,7 @@ test_progs = [
 	'kms_hdmi_inject',
 	'kms_invalid_dotclock',
 	'kms_lease',
-	'kms_legacy_colorkey',
+	'kms_legacy_colorkey_basic',
 	'kms_mmap_write_crc',
 	'kms_panel_fitting',
 	'kms_pipe_b_c_ivb',
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [igt-dev] [PATCH i-g-t 4/4] tests/kms_legacy_colorkey: Add a real colorkey test
  2020-01-31 20:15 [igt-dev] [PATCH i-g-t 1/4] lib/igt_kms: Return the first overlay not the last one Ville Syrjala
  2020-01-31 20:15 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_legacy_colorkey: Test a lot more things Ville Syrjala
  2020-01-31 20:15 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_legacy_colorkey: Rename to kms_legacy_colorkey_basic Ville Syrjala
@ 2020-01-31 20:15 ` Ville Syrjala
  2020-01-31 20:39 ` [igt-dev] ✗ GitLab.Pipeline: failure for series starting with [i-g-t,1/4] lib/igt_kms: Return the first overlay not the last one Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjala @ 2020-01-31 20:15 UTC (permalink / raw)
  To: igt-dev

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

Let's test that the colorkeying really works in hardware. As per
the usual pattern we generate a reference fb with software,
reproduce the same visual effect with the hardware keying, and
compare the crc between the two.

Some difficulty comes from having to use different formats for
each involved plane, and we can't always use the LUT to chop off
extra bits because C8 might be involved.

v2: Use igt_format_is_yuv() so that we may
    try to test more than one yuv format

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/Makefile.sources      |   1 +
 tests/kms_legacy_colorkey.c | 808 ++++++++++++++++++++++++++++++++++++
 tests/meson.build           |   1 +
 3 files changed, 810 insertions(+)
 create mode 100644 tests/kms_legacy_colorkey.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 7452688e5616..6df5d021aaf3 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -56,6 +56,7 @@ TESTS_progs = \
 	kms_hdmi_inject \
 	kms_invalid_dotclock \
 	kms_lease \
+	kms_legacy_colorkey \
 	kms_legacy_colorkey_basic \
 	kms_mmap_write_crc \
 	kms_panel_fitting \
diff --git a/tests/kms_legacy_colorkey.c b/tests/kms_legacy_colorkey.c
new file mode 100644
index 000000000000..6699b6198fff
--- /dev/null
+++ b/tests/kms_legacy_colorkey.c
@@ -0,0 +1,808 @@
+/*
+ * Copyright © 2019 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+#include "igt.h"
+#include "i915_drm.h"
+#include <errno.h>
+
+
+IGT_TEST_DESCRIPTION("Check that colorkeying works.");
+
+#define LUT_MASK 0xf800
+/* We need lower precision with fp16 for some reason */
+#define LUT_MASK_FP16 0xf000
+
+struct color {
+	float r, g, b;
+};
+
+struct rect {
+	int x1, y1, x2, y2;
+};
+
+struct plane {
+	igt_plane_t *plane;
+	uint32_t format;
+	struct igt_fb fb;
+	struct rect rect;
+	const struct color *color;
+};
+
+static int rect_width(const struct rect *r)
+{
+	return r->x2 - r->x1;
+}
+
+static int rect_height(const struct rect *r)
+{
+	return r->y2 - r->y1;
+}
+
+static void rect_init(struct rect *r,
+		      int x, int y, int w, int h)
+{
+	r->x1 = x;
+	r->y1 = y;
+	r->x2 = x + w;
+	r->y2 = y + h;
+}
+
+static void rect_translate(struct rect *r,
+			   int x, int y)
+{
+	r->x1 += x;
+	r->y1 += y;
+	r->x2 += x;
+	r->y2 += y;
+}
+
+static void rect_intersect(struct rect *r,
+			   const struct rect *a,
+			   const struct rect *b)
+{
+	r->x1 = max(a->x1, b->x1);
+	r->y1 = max(a->y1, b->y1);
+	r->x2 = min(a->x2, b->x2);
+	r->y2 = min(a->y2, b->y2);
+}
+
+struct data {
+	igt_display_t display;
+	int drm_fd;
+	enum pipe pipe;
+	uint32_t devid;
+	igt_output_t *output;
+	struct plane primary, sprite;
+	struct igt_fb ref_fb;
+	igt_pipe_crc_t *pipe_crc;
+	igt_crc_t ref_crc, crc;
+};
+
+static void rgb_to_ycbcr(struct color *yuv_color,
+			 const struct color *rgb_color)
+{
+	struct igt_vec4 rgb, yuv;
+	struct igt_mat4 m;
+
+	rgb.d[0] = rgb_color->r * 0xff + 0.5f;
+	rgb.d[1] = rgb_color->g * 0xff + 0.5f;
+	rgb.d[2] = rgb_color->b * 0xff + 0.5f;
+	rgb.d[3] = 1.0f;
+
+	m = igt_rgb_to_ycbcr_matrix(DRM_FORMAT_XRGB8888,
+				    DRM_FORMAT_YUYV,
+				    IGT_COLOR_YCBCR_BT709,
+				    IGT_COLOR_YCBCR_LIMITED_RANGE);
+
+	yuv = igt_matrix_transform(&m, &rgb);
+
+	yuv_color->r = yuv.d[2];
+	yuv_color->g = yuv.d[0];
+	yuv_color->b = yuv.d[1];
+}
+
+static uint32_t ckey_val(uint32_t format, const struct color *color)
+{
+	struct color yuv;
+	uint32_t r, g, b;
+
+	if (igt_format_is_yuv(format)) {
+		rgb_to_ycbcr(&yuv, color);
+
+		r = yuv.r + 0.5f;
+		g = yuv.g + 0.5f;
+		b = yuv.b + 0.5f;
+	} else if (format == DRM_FORMAT_C8) {
+		r = color->r * 0x7 + 0.5f;
+		g = color->g * 0x7 + 0.5f;
+		b = color->b * 0x3 + 0.5f;
+
+		r = g = b = r << 5 | g << 2 | b;
+	} else if (format == DRM_FORMAT_RGB565) {
+		r = color->r * 0x1f + 0.5f;
+		g = color->g * 0x3f + 0.5f;
+		b = color->b * 0x1f + 0.5f;
+
+		r = (r << 3) | (r >> 2);
+		g = (g << 2) | (g >> 4);
+		b = (b << 3) | (b >> 2);
+	} else {
+		r = color->r * 0xff + 0.5f;
+		g = color->g * 0xff + 0.5f;
+		b = color->b * 0xff + 0.5f;
+	}
+
+	igt_debug("key %f %f %f -> %x %x %x\n",
+		  color->r, color->g, color->b, r, g, b);
+
+	return r << 16 | g << 8 | b;
+}
+
+static uint32_t dst_key_mask(uint32_t format)
+{
+	uint32_t r, g, b;
+
+	switch (format) {
+	case DRM_FORMAT_C8:
+		r = g = b = 0xff;
+		break;
+	case DRM_FORMAT_XRGB1555:
+		r = g = b = 0xf8;
+		break;
+	case DRM_FORMAT_RGB565:
+		r = b = 0xf8;
+		g = 0xfc;
+		break;
+	default:
+		r = g = b = 0xff;
+		break;
+	}
+	igt_debug("mask %x %x %x\n", r, g, b);
+
+	return r << 16 | g << 8 | b;
+}
+
+static uint32_t src_key_mask(void)
+{
+	bool r = true, g = true, b = true;
+
+	return r << 26 | g << 25 | b << 24;
+}
+
+static bool set_ckey(struct data *data, uint32_t flags,
+		     uint32_t min, uint32_t max, uint32_t mask)
+{
+	struct drm_intel_sprite_colorkey ckey = {
+		.plane_id = data->sprite.plane->drm_plane->plane_id,
+		.flags = flags,
+		.min_value = min,
+		.max_value = max,
+		.channel_mask = mask,
+	};
+
+	return drmCommandWrite(data->drm_fd,
+			       DRM_I915_SET_SPRITE_COLORKEY, &ckey,
+			       sizeof(ckey)) == 0;
+}
+
+static void paint_keyholes(struct data *data,
+			   struct igt_fb *fb,
+			   const struct rect key_rect[],
+			   int num_key_rect,
+			   const struct color *key_color)
+{
+	cairo_t *cr;
+
+	cr = igt_get_cairo_ctx(data->drm_fd, fb);
+
+	for (int i = 0; i < num_key_rect; i++) {
+		igt_paint_color(cr,
+				key_rect[i].x1, key_rect[i].y1,
+				rect_width(&key_rect[i]),
+				rect_height(&key_rect[i]),
+				key_color->r, key_color->g, key_color->b);
+	}
+
+	igt_put_cairo_ctx(data->drm_fd, fb, cr);
+}
+
+static void create_color_fb(struct data *data, struct plane *plane)
+{
+	igt_create_color_fb(data->drm_fd,
+			    rect_width(&plane->rect),
+			    rect_height(&plane->rect),
+			    plane->format, DRM_FORMAT_MOD_LINEAR,
+			    plane->color->r,
+			    plane->color->g,
+			    plane->color->b,
+			    &plane->fb);
+}
+
+static void create_color_pattern_fb(struct data *data, struct plane *plane)
+{
+	igt_create_color_pattern_fb(data->drm_fd,
+				    rect_width(&plane->rect),
+				    rect_height(&plane->rect),
+				    plane->format, DRM_FORMAT_MOD_LINEAR,
+				    plane->color->r,
+				    plane->color->g,
+				    plane->color->b,
+				    &plane->fb);
+}
+
+static void blit(struct data *data, cairo_t *cr,
+		 struct igt_fb *src_fb,
+		 const struct rect *src_rect,
+		 const struct rect rect[],
+		 int num_rect)
+{
+	cairo_surface_t *surface;
+
+	surface = igt_get_cairo_surface(data->drm_fd, src_fb);
+
+	for (int i = 0; i < num_rect; i++) {
+		struct rect r;
+		int sx, sy;
+
+		rect_intersect(&r, &rect[i], src_rect);
+
+		sx = r.x1 - src_rect->x1;
+		sy = r.y1 - src_rect->y1;
+
+		cairo_set_source_surface(cr, surface,
+					 r.x1 - sx, r.y1 - sy);
+		cairo_rectangle(cr, r.x1, r.y1,
+				rect_width(&r), rect_height(&r));
+		cairo_fill (cr);
+	}
+
+	cairo_surface_destroy(surface);
+}
+
+static void create_dst_key_ref_fb(struct data *data,
+				  struct plane *primary,
+				  struct plane *sprite,
+				  const struct rect key_rect[],
+				  int num_key_rect,
+				  struct igt_fb *fb)
+{
+	cairo_t *cr;
+
+	igt_create_fb(data->drm_fd,
+		      primary->fb.width, primary->fb.height,
+		      primary->fb.drm_format, DRM_FORMAT_MOD_LINEAR, fb);
+
+	cr = igt_get_cairo_ctx(data->drm_fd, fb);
+
+	/* start with primary fb */
+	blit(data, cr, &primary->fb, &primary->rect,
+	     &primary->rect, 1);
+
+	/* cover keyholes with sprite fb */
+	blit(data, cr, &sprite->fb, &sprite->rect,
+	     key_rect, num_key_rect);
+
+	igt_put_cairo_ctx(data->drm_fd, fb, cr);
+}
+
+static void create_src_key_ref_fb(struct data *data,
+				  struct plane *primary,
+				  struct plane *sprite,
+				  const struct rect key_rect[],
+				  int num_key_rect,
+				  struct igt_fb *fb)
+{
+	cairo_t *cr;
+
+	igt_create_fb(data->drm_fd,
+		      primary->fb.width, primary->fb.height,
+		      primary->fb.drm_format, DRM_FORMAT_MOD_LINEAR, fb);
+
+	cr = igt_get_cairo_ctx(data->drm_fd, fb);
+
+	/* start with primary fb */
+	blit(data, cr, &primary->fb, &primary->rect,
+	     &primary->rect, 1);
+
+	/* overlay the full sprite fb */
+	blit(data, cr, &sprite->fb, &sprite->rect,
+	     &sprite->rect, 1);
+
+	/* cover keyholes again with primary fb */
+	blit(data, cr, &primary->fb, &primary->rect,
+	     key_rect, num_key_rect);
+
+	igt_put_cairo_ctx(data->drm_fd, fb, cr);
+}
+
+static void set_ycbcr_encoding(igt_plane_t *plane)
+{
+	enum igt_color_encoding e = IGT_COLOR_YCBCR_BT709;
+	enum igt_color_range r = IGT_COLOR_YCBCR_LIMITED_RANGE;
+
+	igt_plane_try_prop_enum(plane, IGT_PLANE_COLOR_ENCODING,
+				igt_color_encoding_to_str(e));
+
+	igt_plane_try_prop_enum(plane, IGT_PLANE_COLOR_RANGE,
+				igt_color_range_to_str(r));
+}
+
+static void set_legacy_lut(struct data *data, uint16_t mask)
+{
+	igt_pipe_t *pipe_obj = &data->display.pipes[data->pipe];
+	drmModeCrtc *crtc;
+	struct drm_color_lut *lut;
+	int i, lut_size;
+
+	crtc = drmModeGetCrtc(data->drm_fd, pipe_obj->crtc_id);
+	lut_size = crtc->gamma_size;
+	drmModeFreeCrtc(crtc);
+
+	lut = calloc(lut_size, sizeof(lut[0]));
+
+	for (i = 0; i < lut_size; i++) {
+		uint16_t v = (i * 0xffff / (lut_size - 1)) & mask;
+
+		lut[i].red = v;
+		lut[i].green = v;
+		lut[i].blue = v;
+	}
+
+	igt_pipe_obj_replace_prop_blob(pipe_obj, IGT_CRTC_GAMMA_LUT, lut,
+				       lut_size * sizeof(lut[0]));
+	free(lut);
+}
+
+static void set_c8_legacy_lut(struct data *data, uint16_t mask)
+{
+	igt_pipe_t *pipe_obj = &data->display.pipes[data->pipe];
+	drmModeCrtc *crtc;
+	struct drm_color_lut *lut;
+	int i, lut_size;
+
+	crtc = drmModeGetCrtc(data->drm_fd, pipe_obj->crtc_id);
+	lut_size = crtc->gamma_size;
+	drmModeFreeCrtc(crtc);
+
+	lut = calloc(lut_size, sizeof(lut[0]));
+
+	/* igt_fb uses RGB332 for C8 */
+	for (i = 0; i < lut_size; i++) {
+		lut[i].red = (((i & 0xe0) >> 5) * 0xffff / 0x7) & mask;
+		lut[i].green = (((i & 0x1c) >> 2) * 0xffff / 0x7) & mask;
+		lut[i].blue = (((i & 0x03) >> 0) * 0xffff / 0x3) & mask;
+	}
+
+	igt_pipe_obj_replace_prop_blob(pipe_obj, IGT_CRTC_GAMMA_LUT, lut,
+				       lut_size * sizeof(lut[0]));
+	free(lut);
+}
+
+static void init_plane(struct data *data,
+		       struct plane *plane, uint32_t type)
+{
+	igt_pipe_t *pipe_obj = &data->display.pipes[data->pipe];
+
+	plane->plane = igt_pipe_get_plane_type(pipe_obj, type);
+
+	igt_require(igt_plane_has_format_mod(plane->plane, plane->format, DRM_FORMAT_MOD_LINEAR));
+}
+
+static void configure_plane(struct data *data, struct plane *plane)
+{
+	igt_plane_set_fb(plane->plane, &plane->fb);
+	if (igt_format_is_yuv(plane->format))
+		set_ycbcr_encoding(plane->plane);
+	igt_plane_set_position(plane->plane,
+			       plane->rect.x1, plane->rect.y1);
+}
+
+static void do_test_dst_colorkey(struct data *data)
+{
+	drmModeModeInfo *mode;
+	static const struct color key_color = {
+		.r = 1.0f,
+		.g = 0.125f,
+		.b = 0.250f,
+	};
+	static const struct color sprite_color = {
+		.r = 0.5f,
+		.g = 0.0f,
+		.b = 1.0f,
+	};
+	static const struct color sprite_color_c8 = {
+		.r = 0.125,
+		.g = 0.125,
+		.b = 0.0,
+	};
+	static const struct color primary_color = {
+		.r = 1.0f,
+		.g = 0.5f,
+		.b = 0.0f,
+	};
+	struct rect key_rect[5];
+	struct igt_fb temp_fb = {};
+	bool supported = false;
+
+	igt_output_set_pipe(data->output, data->pipe);
+
+	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+					  INTEL_PIPE_CRC_SOURCE_AUTO);
+
+	mode = igt_output_get_mode(data->output);
+
+	init_plane(data, &data->primary, DRM_PLANE_TYPE_PRIMARY);
+	rect_init(&data->primary.rect, 0, 0,
+		  mode->hdisplay, mode->vdisplay);
+
+	init_plane(data, &data->sprite, DRM_PLANE_TYPE_OVERLAY);
+	rect_init(&data->sprite.rect,
+		  ALIGN(mode->hdisplay / 3, 2),
+		  ALIGN(mode->vdisplay / 4, 2),
+		  ALIGN(mode->hdisplay / 3, 2),
+		  ALIGN(mode->vdisplay / 2, 2));
+
+	/*
+	 * Straddle each sprite corner with keyholes
+	 * and put one extra keyhole in the middle.
+	 */
+	for (int i = 0; i < ARRAY_SIZE(key_rect); i++)
+		rect_init(&key_rect[i], 0, 0, 64, 64);
+
+	rect_translate(&key_rect[0],
+		       data->sprite.rect.x1 - 32,
+		       data->sprite.rect.y1 - 32);
+	rect_translate(&key_rect[1],
+		       data->sprite.rect.x2 - 32,
+		       data->sprite.rect.y1 - 32);
+	rect_translate(&key_rect[2],
+		       data->sprite.rect.x1 - 32,
+		       data->sprite.rect.y2 - 32);
+	rect_translate(&key_rect[3],
+		       data->sprite.rect.x2 - 32,
+		       data->sprite.rect.y2 - 32);
+	rect_translate(&key_rect[4],
+		       ALIGN((data->sprite.rect.x1 + data->sprite.rect.x2) / 2 - 32, 2),
+		       ALIGN((data->sprite.rect.y1 + data->sprite.rect.y2) / 2 - 32, 2));
+
+	/* select colors to use */
+	data->primary.color = &primary_color;
+	if (data->primary.format == DRM_FORMAT_C8)
+		data->sprite.color = &sprite_color_c8;
+	else
+		data->sprite.color = &sprite_color;
+
+	/* create framebuffers */
+	if (igt_format_is_yuv(data->primary.format))
+		create_color_fb(data, &data->primary);
+	else
+		create_color_pattern_fb(data, &data->primary);
+	paint_keyholes(data, &data->primary.fb,
+		       key_rect, ARRAY_SIZE(key_rect), &key_color);
+
+	if (data->primary.format == DRM_FORMAT_C8 ||
+	    igt_format_is_yuv(data->primary.format) ||
+	    igt_format_is_yuv(data->sprite.format))
+		create_color_fb(data, &data->sprite);
+	else
+		create_color_pattern_fb(data, &data->sprite);
+
+	create_dst_key_ref_fb(data, &data->primary, &data->sprite,
+			      key_rect, ARRAY_SIZE(key_rect),
+			      &data->ref_fb);
+
+	/*
+	 * Need some fb to light up the crtc, but it can't be
+	 * C8 since we've not yet set the LUT.
+	 */
+	if (!data->display.is_atomic &&
+	    data->primary.format == DRM_FORMAT_C8) {
+		igt_create_fb(data->drm_fd,
+			      mode->hdisplay, mode->vdisplay,
+			      DRM_FORMAT_XRGB8888,
+			      DRM_FORMAT_MOD_LINEAR, &temp_fb);
+		igt_plane_set_fb(data->primary.plane, &temp_fb);
+		igt_display_commit2(&data->display, COMMIT_LEGACY);
+	}
+
+	if (data->primary.format == DRM_FORMAT_C8)
+		set_c8_legacy_lut(data, LUT_MASK);
+	else if (data->primary.format == DRM_FORMAT_XBGR16161616F)
+		set_legacy_lut(data, LUT_MASK_FP16);
+	else
+		set_legacy_lut(data, LUT_MASK);
+
+	/* collect reference crc */
+	igt_plane_set_fb(data->primary.plane, &data->ref_fb);
+
+	igt_display_commit2(&data->display, data->display.is_atomic ?
+			    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
+	igt_pipe_crc_collect_crc(data->pipe_crc, &data->ref_crc);
+
+	/* collect test crc */
+	supported = set_ckey(data, I915_SET_COLORKEY_DESTINATION,
+			     ckey_val(data->primary.format, &key_color), 0,
+			     dst_key_mask(data->primary.format));
+	if (supported) {
+		configure_plane(data, &data->primary);
+		configure_plane(data, &data->sprite);
+
+		igt_display_commit2(&data->display, data->display.is_atomic ?
+				    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
+		igt_pipe_crc_collect_crc(data->pipe_crc, &data->crc);
+	}
+
+	/* cleanup */
+	igt_plane_set_fb(data->primary.plane, NULL);
+	igt_plane_set_fb(data->sprite.plane, NULL);
+	igt_display_commit2(&data->display, data->display.is_atomic ?
+			    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
+
+	igt_assert(set_ckey(data, 0, 0, 0, 0));
+
+	igt_output_set_pipe(data->output, PIPE_ANY);
+
+	igt_remove_fb(data->drm_fd, &data->ref_fb);
+	igt_remove_fb(data->drm_fd, &data->sprite.fb);
+	igt_remove_fb(data->drm_fd, &data->primary.fb);
+	igt_remove_fb(data->drm_fd, &temp_fb);
+
+	igt_pipe_crc_free(data->pipe_crc);
+
+	igt_require(supported);
+	if (supported)
+		igt_assert_crc_equal(&data->ref_crc, &data->crc);
+}
+
+static void do_test_src_colorkey(struct data *data)
+{
+	drmModeModeInfo *mode;
+	static const struct color key_color = {
+		.r = 1.0f,
+		.g = 0.250f,
+		.b = 0.125f,
+	};
+	static const struct color sprite_color = {
+		.r = 0.5f,
+		.g = 0.0f,
+		.b = 1.0f,
+	};
+	static const struct color primary_color = {
+		.r = 1.0f,
+		.g = 0.5f,
+		.b = 0.0f,
+	};
+	struct rect key_rect[5];
+	uint32_t ckey, min, max;
+	bool supported = false;
+
+	igt_output_set_pipe(data->output, data->pipe);
+
+	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+					  INTEL_PIPE_CRC_SOURCE_AUTO);
+
+	mode = igt_output_get_mode(data->output);
+
+	init_plane(data, &data->primary, DRM_PLANE_TYPE_PRIMARY);
+	rect_init(&data->primary.rect, 0, 0,
+		  mode->hdisplay, mode->vdisplay);
+
+	init_plane(data, &data->sprite, DRM_PLANE_TYPE_OVERLAY);
+	rect_init(&data->sprite.rect,
+		  ALIGN(mode->hdisplay / 3, 2),
+		  ALIGN(mode->vdisplay / 4, 2),
+		  ALIGN(mode->hdisplay / 3, 2),
+		  ALIGN(mode->vdisplay / 2, 2));
+
+	/* Keyholes in sprite corners and middle */
+	for (int i = 0; i < ARRAY_SIZE(key_rect); i++)
+		rect_init(&key_rect[i], 0, 0, 64, 64);
+
+	rect_translate(&key_rect[0],
+		       0, 0);
+	rect_translate(&key_rect[1],
+		       rect_width(&data->sprite.rect) - 64, 0);
+	rect_translate(&key_rect[2],
+		       0,
+		       rect_height(&data->sprite.rect) - 64);
+	rect_translate(&key_rect[3],
+		       rect_width(&data->sprite.rect) - 64,
+		       rect_height(&data->sprite.rect) - 64);
+	rect_translate(&key_rect[4],
+		       ALIGN(rect_width(&data->sprite.rect) / 2 - 32, 2),
+		       ALIGN(rect_height(&data->sprite.rect) / 2 - 32, 2));
+
+	/* select colors */
+	data->primary.color = &primary_color;
+	data->sprite.color = &sprite_color;
+
+	/* create framebuffers */
+	if (igt_format_is_yuv(data->primary.format))
+		create_color_fb(data, &data->primary);
+	else
+		create_color_pattern_fb(data, &data->primary);
+
+	if (igt_format_is_yuv(data->sprite.format))
+		create_color_fb(data, &data->sprite);
+	else
+		create_color_fb(data, &data->sprite);
+	paint_keyholes(data, &data->sprite.fb,
+		       key_rect, ARRAY_SIZE(key_rect),
+		       &key_color);
+
+	/*
+	 * Translate keyholes to primary coordinate space so
+	 * they appear in the correct spot in the reference fb
+	 */
+	for (int i = 0; i < ARRAY_SIZE(key_rect); i++)
+		rect_translate(&key_rect[i],
+			       data->sprite.rect.x1,
+			       data->sprite.rect.y1);
+
+	create_src_key_ref_fb(data, &data->primary, &data->sprite,
+			      key_rect, ARRAY_SIZE(key_rect),
+			      &data->ref_fb);
+
+	/* collect reference crc */
+	igt_plane_set_fb(data->primary.plane, &data->ref_fb);
+	if (!data->display.is_atomic)
+		igt_display_commit2(&data->display, COMMIT_LEGACY);
+
+	if (data->sprite.format == DRM_FORMAT_XBGR16161616F)
+		set_legacy_lut(data, LUT_MASK_FP16);
+	else if (data->sprite.format != DRM_FORMAT_C8)
+		set_legacy_lut(data, LUT_MASK);
+
+	igt_display_commit2(&data->display, data->display.is_atomic ?
+			    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
+	igt_pipe_crc_collect_crc(data->pipe_crc, &data->ref_crc);
+
+	/* collect test crc */
+	ckey = ckey_val(data->sprite.format, &key_color);
+	if (igt_format_is_yuv(data->sprite.format)) {
+		min = ckey - 0x020202;
+		max = ckey + 0x010101;
+	} else {
+		min = ckey;
+		max = 0;
+	}
+	igt_assert(set_ckey(data, I915_SET_COLORKEY_SOURCE,
+			    min, max, src_key_mask()));
+
+	if (data->sprite.format == DRM_FORMAT_C8)
+		set_c8_legacy_lut(data, 0xff00);
+
+	configure_plane(data, &data->primary);
+	configure_plane(data, &data->sprite);
+
+	supported = igt_display_try_commit2(&data->display, data->display.is_atomic ?
+					    COMMIT_ATOMIC : COMMIT_UNIVERSAL) == 0;
+	if (supported)
+		igt_pipe_crc_collect_crc(data->pipe_crc, &data->crc);
+
+	/* cleanup */
+	igt_plane_set_fb(data->primary.plane, NULL);
+	igt_plane_set_fb(data->sprite.plane, NULL);
+	igt_display_commit2(&data->display, data->display.is_atomic ?
+			    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
+
+	igt_assert(set_ckey(data, 0, 0, 0, 0));
+
+	igt_output_set_pipe(data->output, PIPE_ANY);
+
+	igt_remove_fb(data->drm_fd, &data->ref_fb);
+	igt_remove_fb(data->drm_fd, &data->sprite.fb);
+	igt_remove_fb(data->drm_fd, &data->primary.fb);
+
+	igt_pipe_crc_free(data->pipe_crc);
+
+	igt_require(supported);
+	if (supported)
+		igt_assert_crc_equal(&data->ref_crc, &data->crc);
+}
+
+static bool test_dst_colorkey(struct data *data)
+{
+	for_each_pipe_with_valid_output(&data->display,
+					data->pipe, data->output) {
+		do_test_dst_colorkey(data);
+		return true;
+	}
+
+	return false;
+}
+
+static bool test_src_colorkey(struct data *data)
+{
+	for_each_pipe_with_valid_output(&data->display,
+					data->pipe, data->output) {
+		do_test_src_colorkey(data);
+		return true;
+	}
+
+	return false;
+}
+
+static struct data data;
+
+static const uint32_t formats[] = {
+	DRM_FORMAT_C8,
+	DRM_FORMAT_RGB565,
+	DRM_FORMAT_XRGB8888,
+	DRM_FORMAT_XBGR2101010,
+	DRM_FORMAT_XBGR16161616F,
+	DRM_FORMAT_YUYV,
+#if 0
+	/*
+	 * Chroma upsampling makes these
+	 * impossible to to test with crcs :(
+	 */
+	DRM_FORMAT_NV12,
+	DRM_FORMAT_P010,
+#endif
+};
+
+igt_main
+{
+	igt_skip_on_simulation();
+
+	igt_fixture {
+		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+
+		data.devid = intel_get_drm_devid(data.drm_fd);
+
+		kmstest_set_vt_graphics_mode();
+
+		igt_display_require(&data.display, data.drm_fd);
+	}
+
+	/*
+	 * FIXME test that key mask/min/max have the
+	 * expected effect beyond the basics
+	 */
+
+	for (int i = 0; i < ARRAY_SIZE(formats); i++) {
+		if (formats[i] != DRM_FORMAT_C8 &&
+		    !igt_fb_supported_format(formats[i]))
+			continue;
+
+		data.primary.format = DRM_FORMAT_XRGB8888;
+		data.sprite.format = formats[i];
+
+		igt_subtest_f("src-colorkey-%s",
+			      igt_format_str(data.sprite.format)) {
+			igt_require(test_src_colorkey(&data));
+		}
+
+		data.primary.format = formats[i];
+		data.sprite.format = DRM_FORMAT_XRGB8888;
+
+		igt_subtest_f("dst-colorkey-%s",
+			      igt_format_str(data.primary.format)) {
+			igt_require(test_dst_colorkey(&data));
+		}
+	}
+
+	igt_fixture
+		igt_display_fini(&data.display);
+}
diff --git a/tests/meson.build b/tests/meson.build
index 481282487e15..fe4c5107524c 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -40,6 +40,7 @@ test_progs = [
 	'kms_hdmi_inject',
 	'kms_invalid_dotclock',
 	'kms_lease',
+	'kms_legacy_colorkey',
 	'kms_legacy_colorkey_basic',
 	'kms_mmap_write_crc',
 	'kms_panel_fitting',
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [igt-dev] ✗ GitLab.Pipeline: failure for series starting with [i-g-t,1/4] lib/igt_kms: Return the first overlay not the last one
  2020-01-31 20:15 [igt-dev] [PATCH i-g-t 1/4] lib/igt_kms: Return the first overlay not the last one Ville Syrjala
                   ` (2 preceding siblings ...)
  2020-01-31 20:15 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_legacy_colorkey: Add a real colorkey test Ville Syrjala
@ 2020-01-31 20:39 ` Patchwork
  2020-01-31 20:52 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
  2020-02-04 16:20 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  5 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-01-31 20:39 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/4] lib/igt_kms: Return the first overlay not the last one
URL   : https://patchwork.freedesktop.org/series/72844/
State : failure

== Summary ==

ERROR! This series introduces new undocumented tests:

kms_legacy_colorkey@dst-colorkey-C8
kms_legacy_colorkey@dst-colorkey-RGB565
kms_legacy_colorkey@dst-colorkey-XBGR2101010
kms_legacy_colorkey@dst-colorkey-XRGB8888
kms_legacy_colorkey@dst-colorkey-YUYV
kms_legacy_colorkey@src-colorkey-C8
kms_legacy_colorkey@src-colorkey-RGB565
kms_legacy_colorkey@src-colorkey-XBGR2101010
kms_legacy_colorkey@src-colorkey-XRGB8888
kms_legacy_colorkey@src-colorkey-YUYV
kms_legacy_colorkey_basic@invalid-plane-id
kms_legacy_colorkey_basic@pipe-A-dst-colorkey
kms_legacy_colorkey_basic@pipe-A-invalid-flags
kms_legacy_colorkey_basic@pipe-A-no-colorkey
kms_legacy_colorkey_basic@pipe-A-src-colorkey
kms_legacy_colorkey_basic@pipe-B-dst-colorkey
kms_legacy_colorkey_basic@pipe-B-invalid-flags
kms_legacy_colorkey_basic@pipe-B-no-colorkey
kms_legacy_colorkey_basic@pipe-B-src-colorkey
kms_legacy_colorkey_basic@pipe-C-dst-colorkey
kms_legacy_colorkey_basic@pipe-C-invalid-flags
kms_legacy_colorkey_basic@pipe-C-no-colorkey
kms_legacy_colorkey_basic@pipe-C-src-colorkey
kms_legacy_colorkey_basic@pipe-D-dst-colorkey
kms_legacy_colorkey_basic@pipe-D-invalid-flags
kms_legacy_colorkey_basic@pipe-D-no-colorkey
kms_legacy_colorkey_basic@pipe-D-src-colorkey
kms_legacy_colorkey_basic@pipe-E-dst-colorkey
kms_legacy_colorkey_basic@pipe-E-invalid-flags
kms_legacy_colorkey_basic@pipe-E-no-colorkey
kms_legacy_colorkey_basic@pipe-E-src-colorkey
kms_legacy_colorkey_basic@pipe-F-dst-colorkey
kms_legacy_colorkey_basic@pipe-F-invalid-flags
kms_legacy_colorkey_basic@pipe-F-no-colorkey
kms_legacy_colorkey_basic@pipe-F-src-colorkey

Can you document them as per the requirement in the [CONTRIBUTING.md]?

[Documentation] has more details on how to do this.

Here are few examples:
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d

Thanks in advance!

[CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19
[Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe

Other than that, pipeline status: SUCCESS.

see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/103848 for the overview.

== Logs ==

For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/103848
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] lib/igt_kms: Return the first overlay not the last one
  2020-01-31 20:15 [igt-dev] [PATCH i-g-t 1/4] lib/igt_kms: Return the first overlay not the last one Ville Syrjala
                   ` (3 preceding siblings ...)
  2020-01-31 20:39 ` [igt-dev] ✗ GitLab.Pipeline: failure for series starting with [i-g-t,1/4] lib/igt_kms: Return the first overlay not the last one Patchwork
@ 2020-01-31 20:52 ` Patchwork
  2020-02-04 16:20 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  5 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-01-31 20:52 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/4] lib/igt_kms: Return the first overlay not the last one
URL   : https://patchwork.freedesktop.org/series/72844/
State : success

== Summary ==

CI Bug Log - changes from IGT_5410 -> IGTPW_4067
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_4067:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@i915_selftest@live_gt_heartbeat:
    - {fi-ehl-1}:         [PASS][1] -> [DMESG-FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-ehl-1/igt@i915_selftest@live_gt_heartbeat.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-ehl-1/igt@i915_selftest@live_gt_heartbeat.html

  
Known issues
------------

  Here are the changes found in IGTPW_4067 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-threads:
    - fi-hsw-peppy:       [PASS][3] -> [TIMEOUT][4] ([fdo#112271] / [i915#1084])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-hsw-peppy/igt@gem_close_race@basic-threads.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-hsw-peppy/igt@gem_close_race@basic-threads.html

  * igt@gem_exec_parallel@fds:
    - fi-byt-n2820:       [PASS][5] -> [TIMEOUT][6] ([fdo#112271] / [i915#1084])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-byt-n2820/igt@gem_exec_parallel@fds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-byt-n2820/igt@gem_exec_parallel@fds.html

  * igt@i915_selftest@live_blt:
    - fi-hsw-4770r:       [PASS][7] -> [DMESG-FAIL][8] ([i915#725])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-hsw-4770r/igt@i915_selftest@live_blt.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-hsw-4770r/igt@i915_selftest@live_blt.html

  * igt@i915_selftest@live_gtt:
    - fi-kbl-7500u:       [PASS][9] -> [TIMEOUT][10] ([fdo#112271])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-kbl-7500u/igt@i915_selftest@live_gtt.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-kbl-7500u/igt@i915_selftest@live_gtt.html
    - fi-skl-lmem:        [PASS][11] -> [TIMEOUT][12] ([fdo#111732] / [fdo#112271])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-skl-lmem/igt@i915_selftest@live_gtt.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-skl-lmem/igt@i915_selftest@live_gtt.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][13] -> [FAIL][14] ([fdo#111096] / [i915#323])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
#### Possible fixes ####

  * igt@gem_exec_parallel@contexts:
    - fi-byt-n2820:       [FAIL][15] ([i915#694]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-byt-n2820/igt@gem_exec_parallel@contexts.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-byt-n2820/igt@gem_exec_parallel@contexts.html

  * igt@i915_pm_rpm@module-reload:
    - fi-skl-6770hq:      [FAIL][17] ([i915#178]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live_hangcheck:
    - fi-icl-u2:          [INCOMPLETE][19] ([fdo#108569]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-icl-u2/igt@i915_selftest@live_hangcheck.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-icl-u2/igt@i915_selftest@live_hangcheck.html

  
#### Warnings ####

  * igt@i915_selftest@live_blt:
    - fi-ivb-3770:        [DMESG-FAIL][21] ([i915#725]) -> [DMESG-FAIL][22] ([i915#563])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/fi-ivb-3770/igt@i915_selftest@live_blt.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/fi-ivb-3770/igt@i915_selftest@live_blt.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111732]: https://bugs.freedesktop.org/show_bug.cgi?id=111732
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1084]: https://gitlab.freedesktop.org/drm/intel/issues/1084
  [i915#178]: https://gitlab.freedesktop.org/drm/intel/issues/178
  [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
  [i915#563]: https://gitlab.freedesktop.org/drm/intel/issues/563
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725


Participating hosts (50 -> 46)
------------------------------

  Additional (1): fi-bsw-n3050 
  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bdw-samus 


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5410 -> IGTPW_4067

  CI-20190529: 20190529
  CI_DRM_7853: 1df04205c16923e525efe9c26d6e98612d38c9b3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4067: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/index.html
  IGT_5410: 9d3872ede14307ef4adb0866f8474f5c41e6b1c1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@kms_legacy_colorkey@dst-colorkey-c8
+igt@kms_legacy_colorkey@dst-colorkey-rgb565
+igt@kms_legacy_colorkey@dst-colorkey-xbgr2101010
+igt@kms_legacy_colorkey@dst-colorkey-xrgb8888
+igt@kms_legacy_colorkey@dst-colorkey-yuyv
+igt@kms_legacy_colorkey@src-colorkey-c8
+igt@kms_legacy_colorkey@src-colorkey-rgb565
+igt@kms_legacy_colorkey@src-colorkey-xbgr2101010
+igt@kms_legacy_colorkey@src-colorkey-xrgb8888
+igt@kms_legacy_colorkey@src-colorkey-yuyv
+igt@kms_legacy_colorkey_basic@invalid-plane-id
+igt@kms_legacy_colorkey_basic@pipe-a-dst-colorkey
+igt@kms_legacy_colorkey_basic@pipe-a-invalid-flags
+igt@kms_legacy_colorkey_basic@pipe-a-no-colorkey
+igt@kms_legacy_colorkey_basic@pipe-a-src-colorkey
+igt@kms_legacy_colorkey_basic@pipe-b-dst-colorkey
+igt@kms_legacy_colorkey_basic@pipe-b-invalid-flags
+igt@kms_legacy_colorkey_basic@pipe-b-no-colorkey
+igt@kms_legacy_colorkey_basic@pipe-b-src-colorkey
+igt@kms_legacy_colorkey_basic@pipe-c-dst-colorkey
+igt@kms_legacy_colorkey_basic@pipe-c-invalid-flags
+igt@kms_legacy_colorkey_basic@pipe-c-no-colorkey
+igt@kms_legacy_colorkey_basic@pipe-c-src-colorkey
+igt@kms_legacy_colorkey_basic@pipe-d-dst-colorkey
+igt@kms_legacy_colorkey_basic@pipe-d-invalid-flags
+igt@kms_legacy_colorkey_basic@pipe-d-no-colorkey
+igt@kms_legacy_colorkey_basic@pipe-d-src-colorkey
+igt@kms_legacy_colorkey_basic@pipe-e-dst-colorkey
+igt@kms_legacy_colorkey_basic@pipe-e-invalid-flags
+igt@kms_legacy_colorkey_basic@pipe-e-no-colorkey
+igt@kms_legacy_colorkey_basic@pipe-e-src-colorkey
+igt@kms_legacy_colorkey_basic@pipe-f-dst-colorkey
+igt@kms_legacy_colorkey_basic@pipe-f-invalid-flags
+igt@kms_legacy_colorkey_basic@pipe-f-no-colorkey
+igt@kms_legacy_colorkey_basic@pipe-f-src-colorkey
-igt@kms_legacy_colorkey

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] lib/igt_kms: Return the first overlay not the last one
  2020-01-31 20:15 [igt-dev] [PATCH i-g-t 1/4] lib/igt_kms: Return the first overlay not the last one Ville Syrjala
                   ` (4 preceding siblings ...)
  2020-01-31 20:52 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
@ 2020-02-04 16:20 ` Patchwork
  5 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-02-04 16:20 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/4] lib/igt_kms: Return the first overlay not the last one
URL   : https://patchwork.freedesktop.org/series/72844/
State : success

== Summary ==

CI Bug Log - changes from IGT_5410_full -> IGTPW_4067_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_4067_full:

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_legacy_colorkey@dst-colorkey-yuyv} (NEW):
    - shard-iclb:         NOTRUN -> [FAIL][1] +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb2/igt@kms_legacy_colorkey@dst-colorkey-yuyv.html
    - shard-tglb:         NOTRUN -> [FAIL][2] +1 similar issue
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-tglb8/igt@kms_legacy_colorkey@dst-colorkey-yuyv.html
    - shard-apl:          NOTRUN -> [FAIL][3] +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-apl6/igt@kms_legacy_colorkey@dst-colorkey-yuyv.html
    - shard-glk:          NOTRUN -> [FAIL][4] +1 similar issue
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-glk8/igt@kms_legacy_colorkey@dst-colorkey-yuyv.html

  * {igt@kms_legacy_colorkey@src-colorkey-c8} (NEW):
    - shard-kbl:          NOTRUN -> [FAIL][5] +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-kbl6/igt@kms_legacy_colorkey@src-colorkey-c8.html

  
New tests
---------

  New tests have been introduced between IGT_5410_full and IGTPW_4067_full:

### New IGT tests (27) ###

  * igt@kms_legacy_colorkey@dst-colorkey-c8:
    - Statuses : 7 pass(s)
    - Exec time: [0.22, 0.56] s

  * igt@kms_legacy_colorkey@dst-colorkey-rgb565:
    - Statuses : 6 pass(s)
    - Exec time: [0.23, 0.52] s

  * igt@kms_legacy_colorkey@dst-colorkey-xbgr2101010:
    - Statuses : 7 pass(s)
    - Exec time: [0.69, 2.36] s

  * igt@kms_legacy_colorkey@dst-colorkey-xrgb8888:
    - Statuses : 6 pass(s)
    - Exec time: [0.27, 0.48] s

  * igt@kms_legacy_colorkey@dst-colorkey-yuyv:
    - Statuses : 5 fail(s) 2 skip(s)
    - Exec time: [0.0, 0.90] s

  * igt@kms_legacy_colorkey@src-colorkey-c8:
    - Statuses : 5 fail(s) 2 skip(s)
    - Exec time: [0.0, 0.64] s

  * igt@kms_legacy_colorkey@src-colorkey-rgb565:
    - Statuses : 5 pass(s) 2 skip(s)
    - Exec time: [0.0, 1.55] s

  * igt@kms_legacy_colorkey@src-colorkey-xbgr2101010:
    - Statuses : 7 pass(s)
    - Exec time: [0.33, 0.73] s

  * igt@kms_legacy_colorkey@src-colorkey-xrgb8888:
    - Statuses : 6 pass(s)
    - Exec time: [0.23, 0.58] s

  * igt@kms_legacy_colorkey@src-colorkey-yuyv:
    - Statuses : 7 pass(s)
    - Exec time: [0.29, 1.87] s

  * igt@kms_legacy_colorkey_basic@invalid-plane-id:
    - Statuses : 7 pass(s)
    - Exec time: [0.0] s

  * igt@kms_legacy_colorkey_basic@pipe-a-dst-colorkey:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.08] s

  * igt@kms_legacy_colorkey_basic@pipe-a-invalid-flags:
    - Statuses : 7 pass(s)
    - Exec time: [0.00, 0.30] s

  * igt@kms_legacy_colorkey_basic@pipe-a-no-colorkey:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.40] s

  * igt@kms_legacy_colorkey_basic@pipe-a-src-colorkey:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.20] s

  * igt@kms_legacy_colorkey_basic@pipe-b-dst-colorkey:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.06] s

  * igt@kms_legacy_colorkey_basic@pipe-b-invalid-flags:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.15] s

  * igt@kms_legacy_colorkey_basic@pipe-b-no-colorkey:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.19] s

  * igt@kms_legacy_colorkey_basic@pipe-b-src-colorkey:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.09] s

  * igt@kms_legacy_colorkey_basic@pipe-c-dst-colorkey:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_legacy_colorkey_basic@pipe-c-invalid-flags:
    - Statuses : 6 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_legacy_colorkey_basic@pipe-c-no-colorkey:
    - Statuses : 6 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_legacy_colorkey_basic@pipe-c-src-colorkey:
    - Statuses : 6 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_legacy_colorkey_basic@pipe-d-dst-colorkey:
    - Statuses : 1 pass(s) 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_legacy_colorkey_basic@pipe-d-invalid-flags:
    - Statuses : 1 pass(s) 6 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_legacy_colorkey_basic@pipe-d-no-colorkey:
    - Statuses : 1 pass(s) 6 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_legacy_colorkey_basic@pipe-d-src-colorkey:
    - Statuses : 1 pass(s) 6 skip(s)
    - Exec time: [0.0, 0.00] s

  

Known issues
------------

  Here are the changes found in IGTPW_4067_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_busy@busy-vcs1:
    - shard-iclb:         [PASS][6] -> [SKIP][7] ([fdo#112080]) +11 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb2/igt@gem_busy@busy-vcs1.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb3/igt@gem_busy@busy-vcs1.html

  * igt@gem_ctx_persistence@file:
    - shard-tglb:         [PASS][8] -> [SKIP][9] ([fdo#112179] / [i915#1099]) +1 similar issue
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-tglb1/igt@gem_ctx_persistence@file.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-tglb1/igt@gem_ctx_persistence@file.html
    - shard-apl:          [PASS][10] -> [SKIP][11] ([fdo#109271] / [i915#1099]) +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-apl3/igt@gem_ctx_persistence@file.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-apl8/igt@gem_ctx_persistence@file.html
    - shard-glk:          [PASS][12] -> [SKIP][13] ([fdo#109271] / [i915#1099]) +1 similar issue
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-glk5/igt@gem_ctx_persistence@file.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-glk1/igt@gem_ctx_persistence@file.html
    - shard-iclb:         [PASS][14] -> [SKIP][15] ([fdo#112179] / [i915#1099]) +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb8/igt@gem_ctx_persistence@file.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb7/igt@gem_ctx_persistence@file.html

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [PASS][16] -> [SKIP][17] ([fdo#110841])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb3/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb1/igt@gem_ctx_shared@exec-single-timeline-bsd.html

  * igt@gem_exec_schedule@pi-common-bsd:
    - shard-iclb:         [PASS][18] -> [SKIP][19] ([i915#677])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb3/igt@gem_exec_schedule@pi-common-bsd.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb4/igt@gem_exec_schedule@pi-common-bsd.html

  * igt@gem_exec_schedule@preempt-bsd:
    - shard-iclb:         [PASS][20] -> [SKIP][21] ([fdo#112146])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb3/igt@gem_exec_schedule@preempt-bsd.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb2/igt@gem_exec_schedule@preempt-bsd.html

  * igt@gem_partial_pwrite_pread@write:
    - shard-hsw:          [PASS][22] -> [FAIL][23] ([i915#694])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-hsw5/igt@gem_partial_pwrite_pread@write.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-hsw5/igt@gem_partial_pwrite_pread@write.html

  * igt@gem_tiled_blits@normal:
    - shard-hsw:          [PASS][24] -> [FAIL][25] ([i915#818])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-hsw8/igt@gem_tiled_blits@normal.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-hsw2/igt@gem_tiled_blits@normal.html

  * igt@kms_cursor_crc@pipe-c-cursor-256x256-random:
    - shard-apl:          [PASS][26] -> [FAIL][27] ([i915#54])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-apl1/igt@kms_cursor_crc@pipe-c-cursor-256x256-random.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-apl3/igt@kms_cursor_crc@pipe-c-cursor-256x256-random.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
    - shard-apl:          [PASS][28] -> [FAIL][29] ([i915#49])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-apl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-apl8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-apl:          [PASS][30] -> [DMESG-WARN][31] ([i915#180]) +1 similar issue
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-apl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-apl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-glk:          [PASS][32] -> [DMESG-FAIL][33] ([i915#1041] / [i915#118] / [i915#95])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-glk2/igt@kms_rotation_crc@multiplane-rotation-cropping-bottom.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-glk2/igt@kms_rotation_crc@multiplane-rotation-cropping-bottom.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [PASS][34] -> [SKIP][35] ([fdo#109276]) +18 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb2/igt@prime_busy@hang-bsd2.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb6/igt@prime_busy@hang-bsd2.html

  
#### Possible fixes ####

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][36] ([fdo#110854]) -> [PASS][37]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb6/igt@gem_exec_balancer@smoke.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb2/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_parallel@vcs1-fds:
    - shard-iclb:         [SKIP][38] ([fdo#112080]) -> [PASS][39] +13 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb8/igt@gem_exec_parallel@vcs1-fds.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb2/igt@gem_exec_parallel@vcs1-fds.html

  * igt@gem_exec_schedule@in-order-bsd:
    - shard-iclb:         [SKIP][40] ([fdo#112146]) -> [PASS][41] +6 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb4/igt@gem_exec_schedule@in-order-bsd.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb8/igt@gem_exec_schedule@in-order-bsd.html

  * igt@gem_exec_schedule@preempt-queue-bsd1:
    - shard-iclb:         [SKIP][42] ([fdo#109276]) -> [PASS][43] +18 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb7/igt@gem_exec_schedule@preempt-queue-bsd1.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb2/igt@gem_exec_schedule@preempt-queue-bsd1.html

  * igt@gem_partial_pwrite_pread@writes-after-reads-display:
    - shard-hsw:          [FAIL][44] ([i915#694]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-hsw7/igt@gem_partial_pwrite_pread@writes-after-reads-display.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-hsw8/igt@gem_partial_pwrite_pread@writes-after-reads-display.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-glk:          [FAIL][46] ([i915#644]) -> [PASS][47]
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-glk2/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-glk2/igt@gem_ppgtt@flink-and-close-vma-leak.html

  * igt@i915_pm_rpm@universal-planes-dpms:
    - shard-tglb:         [INCOMPLETE][48] ([i915#472]) -> [PASS][49] +1 similar issue
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-tglb7/igt@i915_pm_rpm@universal-planes-dpms.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-tglb7/igt@i915_pm_rpm@universal-planes-dpms.html

  * igt@i915_pm_rps@waitboost:
    - shard-iclb:         [FAIL][50] ([i915#413]) -> [PASS][51]
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb6/igt@i915_pm_rps@waitboost.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb1/igt@i915_pm_rps@waitboost.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-apl:          [DMESG-WARN][52] ([i915#180]) -> [PASS][53] +1 similar issue
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_psr@psr2_sprite_blt:
    - shard-iclb:         [SKIP][54] ([fdo#109441]) -> [PASS][55] +2 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb6/igt@kms_psr@psr2_sprite_blt.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb2/igt@kms_psr@psr2_sprite_blt.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-iclb:         [TIMEOUT][56] ([i915#1096]) -> [PASS][57]
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb2/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv-switch:
    - shard-iclb:         [FAIL][58] ([IGT#28]) -> [SKIP][59] ([fdo#112080])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-iclb4/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-iclb8/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html

  * igt@i915_pm_rpm@modeset-lpsp-stress:
    - shard-snb:          [SKIP][60] ([fdo#109271]) -> [INCOMPLETE][61] ([i915#82])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5410/shard-snb1/igt@i915_pm_rpm@modeset-lpsp-stress.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/shard-snb2/igt@i915_pm_rpm@modeset-lpsp-stress.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [fdo#112179]: https://bugs.freedesktop.org/show_bug.cgi?id=112179
  [i915#1041]: https://gitlab.freedesktop.org/drm/intel/issues/1041
  [i915#1096]: https://gitlab.freedesktop.org/drm/intel/issues/1096
  [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
  [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644
  [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#818]: https://gitlab.freedesktop.org/drm/intel/issues/818
  [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


Participating hosts (8 -> 8)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5410 -> IGTPW_4067

  CI-20190529: 20190529
  CI_DRM_7853: 1df04205c16923e525efe9c26d6e98612d38c9b3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4067: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/index.html
  IGT_5410: 9d3872ede14307ef4adb0866f8474f5c41e6b1c1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4067/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-02-04 16:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-31 20:15 [igt-dev] [PATCH i-g-t 1/4] lib/igt_kms: Return the first overlay not the last one Ville Syrjala
2020-01-31 20:15 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_legacy_colorkey: Test a lot more things Ville Syrjala
2020-01-31 20:15 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_legacy_colorkey: Rename to kms_legacy_colorkey_basic Ville Syrjala
2020-01-31 20:15 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_legacy_colorkey: Add a real colorkey test Ville Syrjala
2020-01-31 20:39 ` [igt-dev] ✗ GitLab.Pipeline: failure for series starting with [i-g-t,1/4] lib/igt_kms: Return the first overlay not the last one Patchwork
2020-01-31 20:52 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2020-02-04 16:20 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.