diff mbox series

[v9,1/5] drm: Add function to convert rect in 16.16 fixed format to regular format

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

Commit Message

Souza, Jose Dec. 18, 2020, 6:46 p.m. UTC
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(+)

Comments

Gwan-gyeong Mun Dec. 21, 2020, 10:45 a.m. UTC | #1
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 mbox series

Patch

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);