[igt-dev] [PATCH i-g-t] tools/intel_dp_compliance: Use ARGB8888 format fbs for Gen 10

Radhakrishna Sripada radhakrishna.sripada at intel.com
Fri Jun 29 21:56:14 UTC 2018


According to Display WA #1172, to truly bypass the color data on Gen 10
use ARGB8888 instead of XRGB8888 to pass compliance.

Cc: Imre Deak <imre.deak at intel.com>
Cc: Manasi Navare <manasi.d.navare at intel.com>
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada at intel.com>
---
 tools/intel_dp_compliance.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/tools/intel_dp_compliance.c b/tools/intel_dp_compliance.c
index c40548e79227..abfda1564559 100644
--- a/tools/intel_dp_compliance.c
+++ b/tools/intel_dp_compliance.c
@@ -175,7 +175,7 @@ static int tio_fd;
 struct termios saved_tio;
 
 drmModeRes *resources;
-int drm_fd, modes;
+int drm_fd, modes, gen;
 uint64_t tiling = LOCAL_DRM_FORMAT_MOD_NONE;
 uint32_t depth = 24, stride, bpp;
 int specified_mode_num = -1, specified_disp_id = -1;
@@ -445,7 +445,7 @@ static int setup_framebuffers(struct connector *dp_conn)
 
 	dp_conn->fb = igt_create_fb(drm_fd,
 				    dp_conn->fb_width, dp_conn->fb_height,
-				    DRM_FORMAT_XRGB8888,
+				    gen == 10 ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
 				    LOCAL_DRM_FORMAT_MOD_NONE,
 				    &dp_conn->fb_video_pattern);
 	igt_assert(dp_conn->fb);
@@ -475,7 +475,7 @@ static int setup_failsafe_framebuffer(struct connector *dp_conn)
 	dp_conn->failsafe_fb = igt_create_fb(drm_fd,
 					     dp_conn->failsafe_width,
 					     dp_conn->failsafe_height,
-					     DRM_FORMAT_XRGB8888,
+					     gen == 10 ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
 					     LOCAL_DRM_FORMAT_MOD_NONE,
 					     &dp_conn->fb_failsafe_pattern);
 	igt_assert(dp_conn->failsafe_fb);
@@ -508,7 +508,7 @@ static int setup_video_pattern_framebuffer(struct connector *dp_conn)
 	video_height = dp_conn->test_pattern.vdisplay;
 	dp_conn->test_pattern.fb = igt_create_fb(drm_fd,
 						 video_width, video_height,
-						 DRM_FORMAT_XRGB8888,
+						 gen == 10 ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
 						 LOCAL_DRM_FORMAT_MOD_NONE,
 						 &dp_conn->test_pattern.fb_pattern);
 	igt_assert(dp_conn->test_pattern.fb);
@@ -770,7 +770,7 @@ set_default_mode(struct connector *c, bool set_mode)
 	height = c->mode.vdisplay;
 
 	fb_id = igt_create_pattern_fb(drm_fd, width, height,
-				      DRM_FORMAT_XRGB8888,
+				      gen == 10 ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
 				      tiling, &fb_info);
 
 	igt_info("CRTC(%u):[%d]", c->crtc, 0);
@@ -1036,6 +1036,7 @@ int main(int argc, char **argv)
 	set_termio_mode();
 
 	drm_fd = drm_open_driver(DRIVER_ANY);
+	gen = intel_gen(intel_get_drm_devid(drm_fd));
 
 	kmstest_set_vt_graphics_mode();
 	setup_debugfs_files();
-- 
2.9.3



More information about the igt-dev mailing list