[Intel-gfx] [PATCH i-g-t v3] lib/igt_kms: Force outputs to use full range RGB

Ander Conselvan de Oliveira ander.conselvan.de.oliveira at intel.com
Tue Apr 18 13:04:02 UTC 2017


In at least SKL and GLK (possibly other devices too), using a cursor
plane to scan out an fb might result in a different pipe crc than when
using a regular plane at the same position with the same fb while using
the CSC logic to limit the color range. The differences could be caused
by the cursor plane being limited to 8 bpc while the regular planes
support higher bit depths, leading to slightly different values to be
used internally. This is evidenced by the failures happening with
specific color values, 0.5 for example, but that's mostly speculation.

To avoid misterious failures caused by limited range rgb, force all
tests to use full range. It is still possible for tests to override this
if necessary.

v2: Add more details to the commit message.
v3: Force all tests to use full range.
Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
---
 lib/igt_kms.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 5811414..9f72913 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1455,10 +1455,15 @@ static void igt_output_refresh(igt_output_t *output)
 			       -1);
 	}
 
-	if (output->config.connector)
+	if (output->config.connector) {
 		igt_atomic_fill_connector_props(display, output,
 			IGT_NUM_CONNECTOR_PROPS, igt_connector_prop_names);
 
+		kmstest_set_connector_broadcast_rgb(display->drm_fd,
+						    output->config.connector,
+						    BROADCAST_RGB_FULL);
+	}
+
 	if (output->use_override_mode)
 		output->config.default_mode = output->override_mode;
 
-- 
2.9.3



More information about the Intel-gfx mailing list