[igt-dev] [PATCH 2/2] tests/kms_frontbuffer_tracking: Ignore FBC errors due mode is too large

José Roberto de Souza jose.souza at intel.com
Wed Apr 4 20:25:54 UTC 2018


Depending on the default mode size, some tests will fail because it
will exceed the maximum size that hardware tracking can handle,
mostly because hardware tracking do not take in care the X and Y
offsets, so the plane size + offsets needs be smaller or equal to
hardware tracking limmits.

Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105680
---
 tests/kms_frontbuffer_tracking.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index a20e7118..71e985a5 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -954,6 +954,14 @@ static bool fbc_stride_not_supported(void)
 	return strstr(buf, "FBC disabled: framebuffer stride not supported\n");
 }
 
+static bool fbc_mode_too_large(void)
+{
+	char buf[128];
+
+	debugfs_read("i915_fbc_status", buf);
+	return strstr(buf, "FBC disabled: mode too large for compression\n");
+}
+
 static bool fbc_wait_until_enabled(void)
 {
 	last_fbc_buf[0] = '\0';
@@ -1742,6 +1750,7 @@ static void do_status_assertions(int flags)
 	if (flags & ASSERT_FBC_ENABLED) {
 		igt_require(!fbc_not_enough_stolen());
 		igt_require(!fbc_stride_not_supported());
+		igt_require(!fbc_mode_too_large());
 		if (!fbc_wait_until_enabled()) {
 			igt_assert_f(fbc_is_enabled(IGT_LOG_WARN),
 				     "FBC disabled\n");
-- 
2.16.3



More information about the igt-dev mailing list