lib: Introduce a for_each_connected_output() macro
authorDamien Lespiau <damien.lespiau@intel.com>
Tue, 4 Feb 2014 12:06:57 +0000 (12:06 +0000)
committerDamien Lespiau <damien.lespiau@intel.com>
Tue, 11 Feb 2014 13:50:16 +0000 (13:50 +0000)
So we can easily cycle through them in tests without knowing too many
internal details about how igt_display_t organize its data.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
lib/igt_kms.h

index 80cdfb6..1d06767 100644 (file)
@@ -158,5 +158,9 @@ igt_plane_t *igt_ouput_get_plane(igt_output_t *output, enum igt_plane plane);
 
 void igt_plane_set_fb(igt_plane_t *plane, struct kmstest_fb *fb);
 
+#define for_each_connected_output(display, output)             \
+       for (int i__ = 0;  i__ < (display)->n_outputs; i__++)   \
+               if ((output = &(display)->outputs[i__]), output->valid)
+
 #endif /* __IGT_KMS_H__ */