diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2016-07-26 18:06:57 +0200 |
---|---|---|
committer | Sean Paul <seanpaul@chromium.org> | 2016-08-08 20:18:49 +0200 |
commit | d7da824d9edeb7d83676c11d800b8243d87eafbf (patch) | |
tree | e6f1d7149d0aa711e7a896c1751a57fc3cab565b /include | |
parent | drm: Warn about negative sizes when calculating scale factor (diff) | |
download | linux-d7da824d9edeb7d83676c11d800b8243d87eafbf.tar.xz linux-d7da824d9edeb7d83676c11d800b8243d87eafbf.zip |
drm: Store clipped src/dst coordinatee in drm_plane_state
Pretty much all driver will have need for the clipped plane
coordinates, so let's stuff then into drm_plane_state.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1469549224-1860-3-git-send-email-ville.syrjala@linux.intel.com
Diffstat (limited to 'include')
-rw-r--r-- | include/drm/drm_crtc.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 6c12fec20e37..b618b506b04d 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -35,6 +35,7 @@ #include <uapi/drm/drm_mode.h> #include <uapi/drm/drm_fourcc.h> #include <drm/drm_modeset_lock.h> +#include <drm/drm_rect.h> struct drm_device; struct drm_mode_set; @@ -1415,6 +1416,9 @@ struct drm_connector { * @zpos: priority of the given plane on crtc (optional) * @normalized_zpos: normalized value of zpos: unique, range from 0 to N-1 * where N is the number of active planes for given crtc + * @src: clipped source coordinates of the plane (in 16.16) + * @dst: clipped destination coordinates of the plane + * @visible: visibility of the plane * @state: backpointer to global drm_atomic_state */ struct drm_plane_state { @@ -1439,6 +1443,15 @@ struct drm_plane_state { unsigned int zpos; unsigned int normalized_zpos; + /* Clipped coordinates */ + struct drm_rect src, dst; + + /* + * Is the plane actually visible? Can be false even + * if fb!=NULL and crtc!=NULL, due to clipping. + */ + bool visible; + struct drm_atomic_state *state; }; |