From: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
To: igt-dev@lists.freedesktop.org
Cc: Petri Latvala <petri.latvala@intel.com>,
Eben Upton <eben@raspberrypi.org>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: [igt-dev] [PATCH i-g-t v6 15/22] lib/igt_kms: Add helpers to count and iterate planes from output
Date: Fri, 22 Feb 2019 10:29:04 +0100 [thread overview]
Message-ID: <20190222092911.8557-16-paul.kocialkowski@bootlin.com> (raw)
In-Reply-To: <20190222092911.8557-1-paul.kocialkowski@bootlin.com>
With helpers to count and iterate among planes of a given type from the
pipe in place, we can use them with the current pipe for the output to
make it possible for tests to use them (the pipe struct is not currently
easily exposed to tests and exposing it adds unnecessary complexity).
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
---
lib/igt_kms.c | 36 ++++++++++++++++++++++++++++++++++++
lib/igt_kms.h | 3 +++
2 files changed, 39 insertions(+)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 1388bb4dae89..87e6dbb89e5a 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -3716,6 +3716,42 @@ igt_plane_t *igt_output_get_plane_type(igt_output_t *output, int plane_type)
return igt_pipe_get_plane_type(pipe, 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
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 3b3cf659035b..727ac2d186ed 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);
--
2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
next prev parent reply other threads:[~2019-02-22 9:30 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-22 9:28 [igt-dev] [PATCH i-g-t v6 00/22] Chamelium VC4 plane fuzzy testing, with SAND and T-tiled mode Paul Kocialkowski
2019-02-22 9:28 ` [igt-dev] [PATCH i-g-t v6 01/22] lib: drmtest: Add helpers to check and require the VC4 driver Paul Kocialkowski
2019-02-22 9:28 ` [igt-dev] [PATCH i-g-t v6 02/22] lib/igt_fb: Add checks on i915 for i915-specific tiled buffer allocation Paul Kocialkowski
2019-02-22 9:28 ` [igt-dev] [PATCH i-g-t v6 03/22] lib/igt_fb: Refactor create_bo_for_fb to prepare for VC4 support Paul Kocialkowski
2019-02-22 9:28 ` [igt-dev] [PATCH i-g-t v6 04/22] lib/igt_fb: Add support for allocating T-tiled VC4 buffers Paul Kocialkowski
2019-02-22 9:28 ` [igt-dev] [PATCH i-g-t v6 05/22] lib/igt_fb: Add support for VC4 SAND tiling modes Paul Kocialkowski
2019-02-22 9:28 ` [igt-dev] [PATCH i-g-t v6 06/22] lib/igt_fb: Allow interpreting the tile height as a stride equivalent Paul Kocialkowski
2019-02-22 9:28 ` [igt-dev] [PATCH i-g-t v6 07/22] lib/igt_fb: Add a stride-provisioned fashion of igt_fb_convert Paul Kocialkowski
2019-02-22 9:28 ` [igt-dev] [PATCH i-g-t v6 08/22] lib/igt_fb: Add a helper to retreive the plane bpp for a given format Paul Kocialkowski
2019-02-22 9:28 ` [igt-dev] [PATCH i-g-t v6 09/22] lib/igt_fb: Add a helper to fill-in the available DRM formats Paul Kocialkowski
2019-02-22 9:28 ` [igt-dev] [PATCH i-g-t v6 10/22] lib/igt_vc4: Add helpers for converting linear to T-tiled RGB buffers Paul Kocialkowski
2019-02-22 9:29 ` [igt-dev] [PATCH i-g-t v6 11/22] lib/igt_vc4: Add helpers for converting linear to SAND-tiled buffers Paul Kocialkowski
2019-02-22 9:29 ` [igt-dev] [PATCH i-g-t v6 12/22] lib/igt_fb: Pass the modifier to igt_fb_convert helpers Paul Kocialkowski
2019-02-22 9:29 ` [igt-dev] [PATCH i-g-t v6 13/22] lib/igt_fb: Support converting to VC4 modifiers in igt_fb_convert Paul Kocialkowski
2019-02-22 9:29 ` [igt-dev] [PATCH i-g-t v6 14/22] lib/igt_kms: Add helpers to count and iterate planes from pipe Paul Kocialkowski
2019-02-22 9:29 ` Paul Kocialkowski [this message]
2019-02-22 9:29 ` [igt-dev] [PATCH i-g-t v6 16/22] lib/igt_chamelium: Fixup resources liberation in comparison helpers Paul Kocialkowski
2019-02-22 9:29 ` [igt-dev] [PATCH i-g-t v6 17/22] lib/igt_chamelium: Split frames dump logic and rework surroundings Paul Kocialkowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190222092911.8557-16-paul.kocialkowski@bootlin.com \
--to=paul.kocialkowski@bootlin.com \
--cc=eben@raspberrypi.org \
--cc=igt-dev@lists.freedesktop.org \
--cc=petri.latvala@intel.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox