aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm/drm_crtc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/drm/drm_crtc.h')
-rw-r--r--include/drm/drm_crtc.h30
1 files changed, 22 insertions, 8 deletions
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 44e070800b6d..b618b506b04d 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -35,6 +35,7 @@
35#include <uapi/drm/drm_mode.h> 35#include <uapi/drm/drm_mode.h>
36#include <uapi/drm/drm_fourcc.h> 36#include <uapi/drm/drm_fourcc.h>
37#include <drm/drm_modeset_lock.h> 37#include <drm/drm_modeset_lock.h>
38#include <drm/drm_rect.h>
38 39
39struct drm_device; 40struct drm_device;
40struct drm_mode_set; 41struct drm_mode_set;
@@ -83,14 +84,15 @@ static inline uint64_t I642U64(int64_t val)
83 * specified amount in degrees in counter clockwise direction. DRM_REFLECT_X and 84 * specified amount in degrees in counter clockwise direction. DRM_REFLECT_X and
84 * DRM_REFLECT_Y reflects the image along the specified axis prior to rotation 85 * DRM_REFLECT_Y reflects the image along the specified axis prior to rotation
85 */ 86 */
86#define DRM_ROTATE_MASK 0x0f 87#define DRM_ROTATE_0 BIT(0)
87#define DRM_ROTATE_0 0 88#define DRM_ROTATE_90 BIT(1)
88#define DRM_ROTATE_90 1 89#define DRM_ROTATE_180 BIT(2)
89#define DRM_ROTATE_180 2 90#define DRM_ROTATE_270 BIT(3)
90#define DRM_ROTATE_270 3 91#define DRM_ROTATE_MASK (DRM_ROTATE_0 | DRM_ROTATE_90 | \
91#define DRM_REFLECT_MASK (~DRM_ROTATE_MASK) 92 DRM_ROTATE_180 | DRM_ROTATE_270)
92#define DRM_REFLECT_X 4 93#define DRM_REFLECT_X BIT(4)
93#define DRM_REFLECT_Y 5 94#define DRM_REFLECT_Y BIT(5)
95#define DRM_REFLECT_MASK (DRM_REFLECT_X | DRM_REFLECT_Y)
94 96
95enum drm_connector_force { 97enum drm_connector_force {
96 DRM_FORCE_UNSPECIFIED, 98 DRM_FORCE_UNSPECIFIED,
@@ -1414,6 +1416,9 @@ struct drm_connector {
1414 * @zpos: priority of the given plane on crtc (optional) 1416 * @zpos: priority of the given plane on crtc (optional)
1415 * @normalized_zpos: normalized value of zpos: unique, range from 0 to N-1 1417 * @normalized_zpos: normalized value of zpos: unique, range from 0 to N-1
1416 * where N is the number of active planes for given crtc 1418 * where N is the number of active planes for given crtc
1419 * @src: clipped source coordinates of the plane (in 16.16)
1420 * @dst: clipped destination coordinates of the plane
1421 * @visible: visibility of the plane
1417 * @state: backpointer to global drm_atomic_state 1422 * @state: backpointer to global drm_atomic_state
1418 */ 1423 */
1419struct drm_plane_state { 1424struct drm_plane_state {
@@ -1438,6 +1443,15 @@ struct drm_plane_state {
1438 unsigned int zpos; 1443 unsigned int zpos;
1439 unsigned int normalized_zpos; 1444 unsigned int normalized_zpos;
1440 1445
1446 /* Clipped coordinates */
1447 struct drm_rect src, dst;
1448
1449 /*
1450 * Is the plane actually visible? Can be false even
1451 * if fb!=NULL and crtc!=NULL, due to clipping.
1452 */
1453 bool visible;
1454
1441 struct drm_atomic_state *state; 1455 struct drm_atomic_state *state;
1442}; 1456};
1443 1457