From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 09F2A10E3E1 for ; Thu, 29 Jun 2023 14:55:56 +0000 (UTC) From: Bhanuprakash Modem To: igt-dev@lists.freedesktop.org Date: Thu, 29 Jun 2023 20:18:11 +0530 Message-Id: <20230629144910.3055377-23-bhanuprakash.modem@intel.com> In-Reply-To: <20230629144910.3055377-1-bhanuprakash.modem@intel.com> References: <20230629144910.3055377-1-bhanuprakash.modem@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [igt-dev] [V5 i-g-t 22/81] tests/i915/kms_frontbuffer_tracking: Document each subtest for testplan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: Add documentation for all kms tests which is used by IGT testplan documentation. Note: This documentation is generated by the script & made changes on top of it. Signed-off-by: Bhanuprakash Modem --- tests/i915/kms_frontbuffer_tracking.c | 808 ++++++++++++++++++++++++++ 1 file changed, 808 insertions(+) diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c index b2183b08e..64f9b9412 100644 --- a/tests/i915/kms_frontbuffer_tracking.c +++ b/tests/i915/kms_frontbuffer_tracking.c @@ -24,6 +24,11 @@ * */ +/** + * TEST: kms frontbuffer tracking + * Category: Display + * Description: Test the Kernel's frontbuffer tracking mechanism and its related features: FBC, PSR and DRRS + */ #include #include #include @@ -1952,6 +1957,28 @@ static void prepare_subtest(const struct test_mode *t, prepare_subtest_screens(t); } +/** + * SUBTEST: %s-%dp-rte + * Description: Sanity test to enable %arg[1] with %arg[2] panels. + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + */ + /* * rte - the basic sanity test * @@ -2012,6 +2039,308 @@ static bool op_disables_psr(const struct test_mode *t, return false; } +/** + * SUBTEST: %s-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[3]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ + +/** + * SUBTEST: %s-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[3]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ + +/** + * SUBTEST: %s-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + * + * arg[3]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[4]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ + +/** + * SUBTEST: %s-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + * + * arg[3]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[4]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ + +/** + * SUBTEST: %s-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + * + * arg[3]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ + +/** + * SUBTEST: %s-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + * + * arg[3]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ + +/** + * SUBTEST: %s-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[3]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ + +/** + * SUBTEST: %s-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[3]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ + +/** + * SUBTEST: %s-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ + +/** + * SUBTEST: %s-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ + /* * draw - draw a set of rectangles on the screen using the provided method * @@ -2085,6 +2414,28 @@ static void draw_subtest(const struct test_mode *t) } } +/** + * SUBTEST: %s-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + */ + /* * multidraw - draw a set of rectangles on the screen using alternated drawing * methods @@ -2233,6 +2584,68 @@ static void badformat_subtest(const struct test_mode *t) do_assertions(assertions); } +/** + * SUBTEST: %s-%s-draw-%s + * Description: Test pixel formats (%arg[2]) that are not FORMAT_DEFAULT + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @rgb101010: FORMAT_RGB101010 + * @rgb565: FORMAT_RGB565 + * + * arg[3]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ + +/** + * SUBTEST: %s-%s-draw-%s + * Description: Test pixel formats (%arg[2]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: kms_core, gtt + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @rgb101010: FORMAT_RGB101010 + * @rgb565: FORMAT_RGB565 + * + * arg[3]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ + /* * format_draw - test pixel formats that are not FORMAT_DEFAULT * @@ -2276,6 +2689,25 @@ static bool tiling_is_valid(int feature_flags, enum tiling_type tiling) } } +/** + * SUBTEST: %s-slowdraw + * Description: Sleep a little bit between drawing operations with %arg[1] + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + */ + /* * slow_draw - sleep a little bit between drawing operations * @@ -2382,6 +2814,70 @@ static void page_flip_for_params(struct modeset_params *params, } } +/** + * SUBTEST: %s-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + * + * arg[3]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[4]: + * + * @ms: Modeset + * @pg: Page flip + * @pl: Plane change + */ + +/** + * SUBTEST: %s-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[3]: + * + * @ms: Modeset + * @pg: Page flip + * @pl: Plane change + */ + /* * flip - just exercise page flips with the patterns we have * @@ -2442,6 +2938,30 @@ static void flip_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &fb2); } +/** + * SUBTEST: %s-%dp-%s-fliptrack-mmap-gtt + * Description: Check if the hardware tracking works after page flips + * Driver requirement: i915 + * Functionality: fbc, gtt, kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @fbc: FBC + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + * + * arg[3]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + */ + /* * fliptrack - check if the hardware tracking works after page flips * @@ -2490,6 +3010,58 @@ static void fliptrack_subtest(const struct test_mode *t, enum flip_type type) igt_remove_fb(drm.fd, &fb2); } +/** + * SUBTEST: %s-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[3] around + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + * + * arg[3]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ + +/** + * SUBTEST: %s-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ + /* * move - just move the sprite or cursor around * @@ -2543,6 +3115,58 @@ static void move_subtest(const struct test_mode *t) } } +/** + * SUBTEST: %s-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[3] a few times + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + * + * arg[3]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ + +/** + * SUBTEST: %s-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ + /* * onoff - just enable and disable the sprite or cursor plane a few times * @@ -2602,6 +3226,36 @@ static bool prim_plane_disabled(void) return !prim_mode_params.primary.plane->values[IGT_PLANE_FB_ID]; } +/** + * SUBTEST: %s-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * SUBTEST: %s-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2].values: 1, 2 + */ + /* * fullscreen_plane - put a fullscreen plane covering the whole screen * @@ -2663,6 +3317,31 @@ static void fullscreen_plane_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &fullscreen_fb); } +/** + * SUBTEST: %s-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + */ + /* * scaledprimary - try different primary plane scaling strategies * @@ -2768,6 +3447,27 @@ static void scaledprimary_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &new_fb); } + +/** + * SUBTEST: %s-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with %arg[1] + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + */ + /** * modesetfrombusy - modeset from a busy buffer to a non-busy buffer * @@ -2811,6 +3511,26 @@ static void modesetfrombusy_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &fb2); } +/** + * SUBTEST: %s-suspend + * Description: Make sure suspend/resume keeps us on the same state of %arg[1] + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + */ + /** * suspend - make sure suspend/resume keeps us on the same state * @@ -2843,6 +3563,26 @@ static void suspend_subtest(const struct test_mode *t) do_assertions(0); } +/** + * SUBTEST: %s-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: gtt, kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @drrs: DRRS + * @fbc: FBC + * @psr: PSR + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @psrdrrs: PSR and DRRS + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + */ + /** * farfromfence - test drawing as far from the fence start as possible * @@ -2939,6 +3679,23 @@ static void try_invalid_strides(void) gem_close(drm.fd, gem_handle); } +/** + * SUBTEST: %s-badstride + * Description: Try to use buffers with strides that are not supported + * Driver requirement: any + * Functionality: fbc, kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @fbc: FBC + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + */ + /** * badstride - try to use buffers with strides that are not supported * @@ -3007,6 +3764,23 @@ static void badstride_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &wide_fb); } +/** + * SUBTEST: %s-stridechange + * Description: Change the frontbuffer stride by doing a modeset + * Driver requirement: any + * Functionality: fbc, kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @fbc: FBC + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + */ + /** * stridechange - change the frontbuffer stride by doing a modeset * @@ -3071,6 +3845,30 @@ static void stridechange_subtest(const struct test_mode *t) do_assertions(rc ? 0 : DONT_ASSERT_FBC_STATUS); } +/** + * SUBTEST: %s-tiling-%s + * Description: Test %arg[2] formats, if the tiling format supports FBC do the + * basic drawing test, else set the mode & test if FBC is disabled + * Driver requirement: any + * Functionality: fbc, kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + * + * arg[1]: + * + * @fbc: FBC + * @fbcdrrs: FBC and DRRS + * @fbcpsr: FBC and PSR + * @fbcpsrdrrs: All features (DRRS, FBC & PSR) + * + * arg[2]: + * + * @4: 4 tiling + * @linear: Linear tiling + * @y: Y tiling + */ + /** * tiling_disable_fbc_subtest - Check if tiling is unsupported by FBC * @@ -3120,6 +3918,16 @@ static void tiling_disable_fbc_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &new_fb); } +/** + * SUBTEST: basic + * Description: Do some basic operations regardless of which features are enabled + * Driver requirement: any + * Functionality: kms_core + * Mega feature: General Display Features + * Run type: FULL + * Test category: functionality test + */ + /* * basic - do some basic operations regardless of which features are enabled * -- 2.40.0