diff options
-rw-r--r-- | lib/igt_kms.c | 36 | ||||
-rw-r--r-- | lib/igt_kms.h | 3 |
2 files changed, 39 insertions, 0 deletions
diff --git a/lib/igt_kms.c b/lib/igt_kms.c index 5bde391fd..62c7cf579 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -3717,6 +3717,42 @@ igt_plane_t *igt_output_get_plane_type(igt_output_t *output, int plane_type) } /** + * igt_output_count_plane_type: + * @output: Target output + * @plane_type: Cursor, primary or an overlay plane + * + * Counts the number of planes of type @plane_type for the provided @output. + * + * Returns: The number of planes that match the requested plane type + */ +int igt_output_count_plane_type(igt_output_t *output, int plane_type) +{ + igt_pipe_t *pipe = igt_output_get_driving_pipe(output); + igt_assert(pipe); + + return igt_pipe_count_plane_type(pipe, plane_type); +} + +/** + * igt_output_get_plane_type_index: + * @output: Target output + * @plane_type: Cursor, primary or an overlay plane + * @index: the index of the plane among planes of the same type + * + * Get the @index th plane of type @plane_type for the provided @output. + * + * Returns: The @index th plane that matches the requested plane type + */ +igt_plane_t *igt_output_get_plane_type_index(igt_output_t *output, + int plane_type, int index) +{ + igt_pipe_t *pipe = igt_output_get_driving_pipe(output); + igt_assert(pipe); + + return igt_pipe_get_plane_type_index(pipe, plane_type, index); +} + +/** * igt_plane_set_fb: * @plane: Plane * @fb: Framebuffer pointer diff --git a/lib/igt_kms.h b/lib/igt_kms.h index df8b07c13..90e1f1681 100644 --- a/lib/igt_kms.h +++ b/lib/igt_kms.h @@ -403,6 +403,9 @@ void igt_output_override_mode(igt_output_t *output, drmModeModeInfo *mode); void igt_output_set_pipe(igt_output_t *output, enum pipe pipe); igt_plane_t *igt_output_get_plane(igt_output_t *output, int plane_idx); igt_plane_t *igt_output_get_plane_type(igt_output_t *output, int plane_type); +int igt_output_count_plane_type(igt_output_t *output, int plane_type); +igt_plane_t *igt_output_get_plane_type_index(igt_output_t *output, + int plane_type, int index); igt_output_t *igt_output_from_connector(igt_display_t *display, drmModeConnector *connector); |