drm: add helpers to go from plane state to drm_rect
Signed-off-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Sean Paul <seanpaul@chromium.org> [seanpaul resolved conflict in drm_plane.h] Signed-off-by: Sean Paul <seanpaul@chromium.org>
This commit is contained in:
parent
d8187177b0
commit
1638d30c15
|
@ -130,15 +130,8 @@ int drm_plane_helper_check_state(struct drm_plane_state *state,
|
||||||
unsigned int rotation = state->rotation;
|
unsigned int rotation = state->rotation;
|
||||||
int hscale, vscale;
|
int hscale, vscale;
|
||||||
|
|
||||||
src->x1 = state->src_x;
|
*src = drm_plane_state_src(state);
|
||||||
src->y1 = state->src_y;
|
*dst = drm_plane_state_dest(state);
|
||||||
src->x2 = state->src_x + state->src_w;
|
|
||||||
src->y2 = state->src_y + state->src_h;
|
|
||||||
|
|
||||||
dst->x1 = state->crtc_x;
|
|
||||||
dst->y1 = state->crtc_y;
|
|
||||||
dst->x2 = state->crtc_x + state->crtc_w;
|
|
||||||
dst->y2 = state->crtc_y + state->crtc_h;
|
|
||||||
|
|
||||||
if (!fb) {
|
if (!fb) {
|
||||||
state->visible = false;
|
state->visible = false;
|
||||||
|
|
|
@ -2824,14 +2824,8 @@ valid_fb:
|
||||||
plane_state->crtc_w = fb->width;
|
plane_state->crtc_w = fb->width;
|
||||||
plane_state->crtc_h = fb->height;
|
plane_state->crtc_h = fb->height;
|
||||||
|
|
||||||
intel_state->base.src.x1 = plane_state->src_x;
|
intel_state->base.src = drm_plane_state_src(plane_state);
|
||||||
intel_state->base.src.y1 = plane_state->src_y;
|
intel_state->base.dst = drm_plane_state_dest(plane_state);
|
||||||
intel_state->base.src.x2 = plane_state->src_x + plane_state->src_w;
|
|
||||||
intel_state->base.src.y2 = plane_state->src_y + plane_state->src_h;
|
|
||||||
intel_state->base.dst.x1 = plane_state->crtc_x;
|
|
||||||
intel_state->base.dst.y1 = plane_state->crtc_y;
|
|
||||||
intel_state->base.dst.x2 = plane_state->crtc_x + plane_state->crtc_w;
|
|
||||||
intel_state->base.dst.y2 = plane_state->crtc_y + plane_state->crtc_h;
|
|
||||||
|
|
||||||
obj = intel_fb_obj(fb);
|
obj = intel_fb_obj(fb);
|
||||||
if (i915_gem_object_is_tiled(obj))
|
if (i915_gem_object_is_tiled(obj))
|
||||||
|
|
|
@ -773,15 +773,8 @@ intel_check_sprite_plane(struct drm_plane *plane,
|
||||||
bool can_scale;
|
bool can_scale;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
src->x1 = state->base.src_x;
|
*src = drm_plane_state_src(&state->base);
|
||||||
src->y1 = state->base.src_y;
|
*dst = drm_plane_state_dest(&state->base);
|
||||||
src->x2 = state->base.src_x + state->base.src_w;
|
|
||||||
src->y2 = state->base.src_y + state->base.src_h;
|
|
||||||
|
|
||||||
dst->x1 = state->base.crtc_x;
|
|
||||||
dst->y1 = state->base.crtc_y;
|
|
||||||
dst->x2 = state->base.crtc_x + state->base.crtc_w;
|
|
||||||
dst->y2 = state->base.crtc_y + state->base.crtc_h;
|
|
||||||
|
|
||||||
if (!fb) {
|
if (!fb) {
|
||||||
state->base.visible = false;
|
state->base.visible = false;
|
||||||
|
|
|
@ -118,6 +118,30 @@ struct drm_plane_state {
|
||||||
struct drm_atomic_state *state;
|
struct drm_atomic_state *state;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline struct drm_rect
|
||||||
|
drm_plane_state_src(const struct drm_plane_state *state)
|
||||||
|
{
|
||||||
|
struct drm_rect src = {
|
||||||
|
.x1 = state->src_x,
|
||||||
|
.y1 = state->src_y,
|
||||||
|
.x2 = state->src_x + state->src_w,
|
||||||
|
.y2 = state->src_y + state->src_h,
|
||||||
|
};
|
||||||
|
return src;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline struct drm_rect
|
||||||
|
drm_plane_state_dest(const struct drm_plane_state *state)
|
||||||
|
{
|
||||||
|
struct drm_rect dest = {
|
||||||
|
.x1 = state->crtc_x,
|
||||||
|
.y1 = state->crtc_y,
|
||||||
|
.x2 = state->crtc_x + state->crtc_w,
|
||||||
|
.y2 = state->crtc_y + state->crtc_h,
|
||||||
|
};
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct drm_plane_funcs - driver plane control functions
|
* struct drm_plane_funcs - driver plane control functions
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue