@@ -323,14 +323,24 @@ igt_main
for (format_idx = 0; format_idx < N_FORMATS; format_idx++) {
for (method = 0; method < IGT_DRAW_METHOD_COUNT; method++) {
- for (tiling_idx = 0; tiling_idx < N_TILING_METHODS; tiling_idx++) {
- igt_subtest_f("draw-method-%s-%s-%s",
- format_str(format_idx),
- igt_draw_get_method_name(method),
- tiling_str(tiling_idx))
- draw_method_subtest(method, format_idx,
- tilings[tiling_idx]);
- } } }
+ igt_subtest_group {
+ igt_fixture {
+ if (method == IGT_DRAW_BLT)
+ igt_require_gem(drm_fd);
+ }
+
+ for (tiling_idx = 0;
+ tiling_idx < N_TILING_METHODS;
+ tiling_idx++) {
+ igt_subtest_f("draw-method-%s-%s-%s",
+ format_str(format_idx),
+ igt_draw_get_method_name(method),
+ tiling_str(tiling_idx))
+ draw_method_subtest(method,
+ format_idx,
+ tilings[tiling_idx]);
+ }
+ }}}
igt_subtest("fill-fb")
fill_fb_subtest();
The draw-method-blt subtests require a working GPU, so create a subtest group for the draw-methods, and skip the BLT group using igt_require_gem() in its fixture. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- tests/kms_draw_crc.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-)