The goal of that series is to introduce a small mode setting API to write our KMS tests, port kms_pipe_crc_basic and kms_cursor_crc to it and introduce a new kms_plane test. To be more precise, the goals are: - Fewer lines per test, - Be able to switch between a "legacy" backend and an "atomic" one to help landing the latter (still has to be written). - Have a convenience place to put common KMS facilities and testing Here an example of the look and feel of the API: igt_display_t display; igt_output_t output; igt_display_init(&display); for_each_connected_output(&display, output) { drmModeModeInfo *mode; struct kmstest_fb green_fb; igt_plane_t *primary; /* * Create a green fb and display it on the primary plane */ mode = igt_output_get_mode(output); kmstest_create_color_fb(drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888, false, /* tiled */ 0.0, 1.0, 0.0, &green_fb); igt_output_set_pipe(output, PIPE_B); primary = igt_ouput_get_plane(output, 0); igt_plane_set_fb(primary, &green_fb); } /* commit the display configuration */ igt_display_commit(&display); igt_display_fini(&display); A few interesting things about that API: - It exposes primary and cursor planes as igt_plane_t - It's possible to grab a debug output by defining IGT_DISPLAY_VERBOSE. This gives something like: display: A.0: plane_set_fb(32) display: A.2: plane_set_fb(33) display: A.2: plane_set_position(132,132) display: commit { display: LVDS-1: Selecting pipe A display: LVDS-1: SetCrtc pipe A, fb 32, panning (0, 0), mode 1366x768 display: LVDS-1: SetCursor pipe A, fb 2 64x64 display: LVDS-1: MoveCursor pipe A, (132, 132) display: } - It's possible to stop at every commit() to inspect what is displayed, waiting for keypress with IGT_DISPLAY_WAIT_AT_COMMIT=1 For instance, one can run: $ sudo IGT_DISPLAY_VERBOSE=1 IGT_DISPLAY_WAIT_AT_COMMIT=1 ./tests/kms_plane --run-subtest plane-position-hole-pipe-A-plane-2 HTH, -- Damien _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx