diff options
author | Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com> | 2020-07-28 20:53:21 +0530 |
---|---|---|
committer | Petri Latvala <petri.latvala@intel.com> | 2020-10-07 12:07:57 +0300 |
commit | 33f07391e5f6a8d9323e471c81db3f29f91ed4d7 (patch) | |
tree | efa8401dcac763cb9966b5d50f65afd3e6155b24 /tests | |
parent | 0e4fbc60ca5ad6585e642d2ddf8313f3c738426e (diff) |
tests: Remove kms_crtc_background_color test
BACKGROUND_COLOR property is not supported in kernel as
of now. Following patch attempted to add support but never got merged
due to lack of userspace support.
https://patchwork.freedesktop.org/patch/333632/?series=67424&rev=1
This test case is always skipped, as it does not find the
BACKGROUND_COLOR prop support hence remove it.
Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
Acked-by: Martin Peres <martin.peres@linux.intel.com>
Acked-by: Matt Roper <matthew.d.roper@intel.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.sources | 1 | ||||
-rw-r--r-- | tests/kms_crtc_background_color.c | 186 | ||||
-rw-r--r-- | tests/meson.build | 1 |
3 files changed, 0 insertions, 188 deletions
diff --git a/tests/Makefile.sources b/tests/Makefile.sources index f32ea9cf..ec535ba8 100644 --- a/tests/Makefile.sources +++ b/tests/Makefile.sources @@ -42,7 +42,6 @@ TESTS_progs = \ kms_ccs \ kms_concurrent \ kms_content_protection\ - kms_crtc_background_color \ kms_cursor_crc \ kms_cursor_edge_walk \ kms_cursor_legacy \ diff --git a/tests/kms_crtc_background_color.c b/tests/kms_crtc_background_color.c deleted file mode 100644 index b4141b0d..00000000 --- a/tests/kms_crtc_background_color.c +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright © 2013,2014 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 <math.h> - - -IGT_TEST_DESCRIPTION("Test crtc background color feature"); - -typedef struct { - int gfx_fd; - igt_display_t display; - struct igt_fb fb; - igt_crc_t ref_crc; - igt_pipe_crc_t *pipe_crc; -} data_t; - -#define BLACK 0x000000 /* BGR 8bpc */ -#define CYAN 0xFFFF00 /* BGR 8bpc */ -#define PURPLE 0xFF00FF /* BGR 8bpc */ -#define WHITE 0xFFFFFF /* BGR 8bpc */ - -#define BLACK64 0x000000000000 /* BGR 16bpc */ -#define CYAN64 0xFFFFFFFF0000 /* BGR 16bpc */ -#define PURPLE64 0xFFFF0000FFFF /* BGR 16bpc */ -#define YELLOW64 0x0000FFFFFFFF /* BGR 16bpc */ -#define WHITE64 0xFFFFFFFFFFFF /* BGR 16bpc */ -#define RED64 0x00000000FFFF /* BGR 16bpc */ -#define GREEN64 0x0000FFFF0000 /* BGR 16bpc */ -#define BLUE64 0xFFFF00000000 /* BGR 16bpc */ - -static void -paint_background(data_t *data, struct igt_fb *fb, drmModeModeInfo *mode, - uint32_t background, double alpha) -{ - cairo_t *cr; - int w, h; - double r, g, b; - - w = mode->hdisplay; - h = mode->vdisplay; - - cr = igt_get_cairo_ctx(data->gfx_fd, &data->fb); - - /* Paint with background color */ - r = (double) (background & 0xFF) / 255.0; - g = (double) ((background & 0xFF00) >> 8) / 255.0; - b = (double) ((background & 0xFF0000) >> 16) / 255.0; - igt_paint_color_alpha(cr, 0, 0, w, h, r, g, b, alpha); - - igt_put_cairo_ctx(cr); -} - -static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe, - igt_plane_t *plane, int opaque_buffer, int plane_color, - uint64_t pipe_background_color) -{ - drmModeModeInfo *mode; - igt_display_t *display = &data->display; - int fb_id; - double alpha; - - igt_output_set_pipe(output, pipe); - - /* create the pipe_crc object for this pipe */ - igt_pipe_crc_free(data->pipe_crc); - data->pipe_crc = igt_pipe_crc_new(data->gfx_fd, pipe, INTEL_PIPE_CRC_SOURCE_AUTO); - - mode = igt_output_get_mode(output); - - fb_id = igt_create_fb(data->gfx_fd, - mode->hdisplay, mode->vdisplay, - DRM_FORMAT_XRGB8888, - LOCAL_DRM_FORMAT_MOD_NONE, /* tiled */ - &data->fb); - igt_assert(fb_id); - - /* To make FB pixel win with background color, set alpha as full opaque */ - igt_pipe_set_prop_value(display, pipe, IGT_CRTC_BACKGROUND, pipe_background_color); - if (opaque_buffer) - alpha = 1.0; /* alpha 1 is fully opque */ - else - alpha = 0.0; /* alpha 0 is fully transparent */ - paint_background(data, &data->fb, mode, plane_color, alpha); - - igt_plane_set_fb(plane, &data->fb); - igt_display_commit2(display, COMMIT_UNIVERSAL); -} - -static void cleanup_crtc(data_t *data, igt_output_t *output, igt_plane_t *plane) -{ - igt_display_t *display = &data->display; - - igt_pipe_crc_free(data->pipe_crc); - data->pipe_crc = NULL; - - igt_remove_fb(data->gfx_fd, &data->fb); - - igt_pipe_obj_set_prop_value(plane->pipe, IGT_CRTC_BACKGROUND, BLACK64); - igt_plane_set_fb(plane, NULL); - igt_output_set_pipe(output, PIPE_ANY); - - igt_display_commit2(display, COMMIT_UNIVERSAL); -} - -static void test_crtc_background(data_t *data) -{ - igt_display_t *display = &data->display; - igt_output_t *output; - enum pipe pipe; - int valid_tests = 0; - - for_each_pipe_with_valid_output(display, pipe, output) { - igt_plane_t *plane; - - igt_output_set_pipe(output, pipe); - - plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY); - igt_require(igt_pipe_has_prop(display, pipe, IGT_CRTC_BACKGROUND)); - - prepare_crtc(data, output, pipe, plane, 1, PURPLE, BLACK64); - - /* Now set background without using a plane, i.e., - * Disable the plane to let hw background color win blend. */ - igt_plane_set_fb(plane, NULL); - igt_pipe_set_prop_value(display, pipe, IGT_CRTC_BACKGROUND, PURPLE64); - igt_display_commit2(display, COMMIT_UNIVERSAL); - - /* Try few other background colors */ - igt_pipe_set_prop_value(display, pipe, IGT_CRTC_BACKGROUND, CYAN64); - igt_display_commit2(display, COMMIT_UNIVERSAL); - - igt_pipe_set_prop_value(display, pipe, IGT_CRTC_BACKGROUND, YELLOW64); - igt_display_commit2(display, COMMIT_UNIVERSAL); - - igt_pipe_set_prop_value(display, pipe, IGT_CRTC_BACKGROUND, RED64); - igt_display_commit2(display, COMMIT_UNIVERSAL); - - igt_pipe_set_prop_value(display, pipe, IGT_CRTC_BACKGROUND, GREEN64); - igt_display_commit2(display, COMMIT_UNIVERSAL); - - igt_pipe_set_prop_value(display, pipe, IGT_CRTC_BACKGROUND, BLUE64); - igt_display_commit2(display, COMMIT_UNIVERSAL); - - igt_pipe_set_prop_value(display, pipe, IGT_CRTC_BACKGROUND, WHITE64); - igt_display_commit2(display, COMMIT_UNIVERSAL); - - valid_tests++; - cleanup_crtc(data, output, plane); - } - igt_require_f(valid_tests, "no valid crtc/connector combinations found\n"); -} - -igt_simple_main -{ - data_t data = {}; - - data.gfx_fd = drm_open_driver(DRIVER_INTEL); - igt_require_pipe_crc(data.gfx_fd); - igt_display_require(&data.display, data.gfx_fd); - - test_crtc_background(&data); - - igt_display_fini(&data.display); -} diff --git a/tests/meson.build b/tests/meson.build index 32f011e9..08200f26 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -26,7 +26,6 @@ test_progs = [ 'kms_ccs', 'kms_concurrent', 'kms_content_protection', - 'kms_crtc_background_color', 'kms_cursor_crc', 'kms_cursor_edge_walk', 'kms_cursor_legacy', |