Message ID | 20201218184701.111857-1-jose.souza@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v9,1/5] drm: Add function to convert rect in 16.16 fixed format to regular format | expand |
On Fri, 2020-12-18 at 10:46 -0800, José Roberto de Souza wrote: > Much more clear to read one function call than four lines doing this > conversion. > > v7: > - function renamed > - calculating width and height before truncate > - inlined > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Cc: dri-devel@lists.freedesktop.org > Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com> > Signed-off-by: José Roberto de Souza <jose.souza@intel.com> > --- > include/drm/drm_rect.h | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/include/drm/drm_rect.h b/include/drm/drm_rect.h > index e7f4d24cdd00..7eb84af4a818 100644 > --- a/include/drm/drm_rect.h > +++ b/include/drm/drm_rect.h > @@ -206,6 +206,19 @@ static inline bool drm_rect_equals(const struct > drm_rect *r1, > r1->y1 == r2->y1 && r1->y2 == r2->y2; > } > > +/** > + * drm_rect_fp_to_int - Convert a rect in 16.16 fixed point form to > int form. > + * @destination: rect to be stored the converted value > + * @source: rect in 16.16 fixed point form > + */ > +static inline void drm_rect_fp_to_int(struct drm_rect *destination, > + const struct drm_rect *source) other drm_rect functions use input parameter names as src, dst. ( ex. drm_rect_clip_scaled(), drm_rect_calc_hscale(), drm_rect_calc_vscale() ) if the names change to src and dst, other parts seem good to me. Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com> > +{ > + drm_rect_init(destination, source->x1 >> 16, source->y1 >> 16, > + drm_rect_width(source) >> 16, > + drm_rect_height(source) >> 16); > +} > + > bool drm_rect_intersect(struct drm_rect *r, const struct drm_rect > *clip); > bool drm_rect_clip_scaled(struct drm_rect *src, struct drm_rect > *dst, > const struct drm_rect *clip);
diff --git a/include/drm/drm_rect.h b/include/drm/drm_rect.h index e7f4d24cdd00..7eb84af4a818 100644 --- a/include/drm/drm_rect.h +++ b/include/drm/drm_rect.h @@ -206,6 +206,19 @@ static inline bool drm_rect_equals(const struct drm_rect *r1, r1->y1 == r2->y1 && r1->y2 == r2->y2; } +/** + * drm_rect_fp_to_int - Convert a rect in 16.16 fixed point form to int form. + * @destination: rect to be stored the converted value + * @source: rect in 16.16 fixed point form + */ +static inline void drm_rect_fp_to_int(struct drm_rect *destination, + const struct drm_rect *source) +{ + drm_rect_init(destination, source->x1 >> 16, source->y1 >> 16, + drm_rect_width(source) >> 16, + drm_rect_height(source) >> 16); +} + bool drm_rect_intersect(struct drm_rect *r, const struct drm_rect *clip); bool drm_rect_clip_scaled(struct drm_rect *src, struct drm_rect *dst, const struct drm_rect *clip);
Much more clear to read one function call than four lines doing this conversion. v7: - function renamed - calculating width and height before truncate - inlined Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: dri-devel@lists.freedesktop.org Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> --- include/drm/drm_rect.h | 13 +++++++++++++ 1 file changed, 13 insertions(+)