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
This commit is contained in:
Ville Syrjälä 2016-07-26 19:06:57 +03:00 committed by Sean Paul
parent 1e1a5f8f8c
commit d7da824d9e
1 changed files with 13 additions and 0 deletions

View File

@ -35,6 +35,7 @@
#include <uapi/drm/drm_mode.h> #include <uapi/drm/drm_mode.h>
#include <uapi/drm/drm_fourcc.h> #include <uapi/drm/drm_fourcc.h>
#include <drm/drm_modeset_lock.h> #include <drm/drm_modeset_lock.h>
#include <drm/drm_rect.h>
struct drm_device; struct drm_device;
struct drm_mode_set; struct drm_mode_set;
@ -1415,6 +1416,9 @@ struct drm_connector {
* @zpos: priority of the given plane on crtc (optional) * @zpos: priority of the given plane on crtc (optional)
* @normalized_zpos: normalized value of zpos: unique, range from 0 to N-1 * @normalized_zpos: normalized value of zpos: unique, range from 0 to N-1
* where N is the number of active planes for given crtc * 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 * @state: backpointer to global drm_atomic_state
*/ */
struct drm_plane_state { struct drm_plane_state {
@ -1439,6 +1443,15 @@ struct drm_plane_state {
unsigned int zpos; unsigned int zpos;
unsigned int normalized_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; struct drm_atomic_state *state;
}; };