drm: Add function to convert rect in 16.16 fixed format to regular format

Much more clear to read one function call than four lines doing this
conversion.

v7:
- function renamed
- calculating width and height before truncate
- inlined

v10:
- renamed parameters from source and destination to src and dst
to match sister functions

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: dri-devel@lists.freedesktop.org
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210104205654.238928-1-jose.souza@intel.com
This commit is contained in:
José Roberto de Souza 2021-01-04 12:56:51 -08:00
parent b3304591f1
commit 7d8ac172d7

View File

@ -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.
* @dst: rect to be stored the converted value
* @src: rect in 16.16 fixed point form
*/
static inline void drm_rect_fp_to_int(struct drm_rect *dst,
const struct drm_rect *src)
{
drm_rect_init(dst, src->x1 >> 16, src->y1 >> 16,
drm_rect_width(src) >> 16,
drm_rect_height(src) >> 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);