[PATCH i-g-t v2 1/4] lib/igt_kms: Add reflection name and mask
Louis Chauvet
louis.chauvet at bootlin.com
Fri Mar 15 16:11:29 UTC 2024
Le 13/03/24 - 17:00, Arthur Grillo a écrit :
>
>
> On 13/03/24 14:09, Louis Chauvet wrote:
> > As for IGT_ROTATION_MASK and igt_plane_rotation_name, create the mask
> > IGT_REFLECT_MASK and the function igt_plane_reflect_name.
> >
> > Signed-off-by: Louis Chauvet <louis.chauvet at bootlin.com>
> > ---
> > lib/igt_kms.c | 23 +++++++++++++++++++++++
> > lib/igt_kms.h | 3 +++
> > 2 files changed, 26 insertions(+)
> >
> > diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> > index e18f6fe59882..85d278f3cae3 100644
> > --- a/lib/igt_kms.c
> > +++ b/lib/igt_kms.c
> > @@ -5142,6 +5142,29 @@ const char *igt_plane_rotation_name(igt_rotation_t rotation)
> > }
> > }
> >
> > +
> > +/**
> > + * igt_plane_reflect_name:
> > + * @reflect: Plane reflection value (x, y)
> > + *
> > + * Returns: Plane reflection value as a string
> > + */
> > +const char *igt_plane_reflect_name(igt_rotation_t reflect)
> > +{
> > + switch (reflect & IGT_REFLECT_MASK) {
> > + case 0:
> > + return "none";
> > + case IGT_REFLECT_X:
> > + return "X";
> > + case IGT_REFLECT_Y:
> > + return "Y";
> > + case IGT_REFLECT_X | IGT_REFLECT_Y:
> > + return "XY";
> > + default:
> > + igt_assert(0);
> > + }
> > +}
>
> I think it would be good to call this on igt_plane_set_rotation(), like
> igt_plane_rotation_name() is, for debug purposes.
Hi Arthur,
I will add a separate patch for this. Thanks for the suggestion.
Kind regards,
Louis Chauvet
> Best Regards,
> ~Arthur Grillo
>
> > +
> > /**
> > * igt_plane_set_rotation:
> > * @plane: Plane pointer for which rotation is to be set
> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> > index b3882808b42f..4760394428f3 100644
> > --- a/lib/igt_kms.h
> > +++ b/lib/igt_kms.h
> > @@ -371,6 +371,8 @@ typedef enum {
> >
> > #define IGT_ROTATION_MASK \
> > (IGT_ROTATION_0 | IGT_ROTATION_90 | IGT_ROTATION_180 | IGT_ROTATION_270)
> > +#define IGT_REFLECT_MASK \
> > + (IGT_REFLECT_X | IGT_REFLECT_Y)
> >
> > /**
> > * igt_rotation_90_or_270:
> > @@ -562,6 +564,7 @@ static inline bool igt_plane_has_rotation(igt_plane_t *plane, igt_rotation_t rot
> > return (plane->rotations & rotation) == rotation;
> > }
> > const char *igt_plane_rotation_name(igt_rotation_t rotation);
> > +const char *igt_plane_reflect_name(igt_rotation_t reflect);
> >
> > void igt_wait_for_vblank(int drm_fd, int crtc_offset);
> > void igt_wait_for_vblank_count(int drm_fd, int crtc_offset, int count);
> >
--
Louis Chauvet, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the igt-dev
mailing list