aboutsummaryrefslogtreecommitdiff
path: root/backend/drm/drm.h
diff options
context:
space:
mode:
authorScott Anderson <ascent12@hotmail.com>2017-07-31 10:04:34 +1200
committerScott Anderson <ascent12@hotmail.com>2017-08-06 15:49:05 +1200
commite16c5504cd5debadf1349c0da296aaab225c0e38 (patch)
treee7b0f56528204ca6a3050a077196a047b38fc8e3 /backend/drm/drm.h
parent67b51f092249a5b98fdaba651dabdf8c2a708c5e (diff)
Add planes.
Diffstat (limited to 'backend/drm/drm.h')
-rw-r--r--backend/drm/drm.h34
1 files changed, 25 insertions, 9 deletions
diff --git a/backend/drm/drm.h b/backend/drm/drm.h
index 299be942..44eca101 100644
--- a/backend/drm/drm.h
+++ b/backend/drm/drm.h
@@ -39,9 +39,14 @@ struct wlr_drm_plane {
struct wlr_drm_crtc {
uint32_t id;
- struct wlr_drm_plane *primary;
- struct wlr_drm_plane *overlay;
- struct wlr_drm_plane *cursor;
+ union {
+ struct {
+ struct wlr_drm_plane *overlay;
+ struct wlr_drm_plane *primary;
+ struct wlr_drm_plane *cursor;
+ };
+ struct wlr_drm_plane *planes[3];
+ };
union wlr_drm_crtc_props props;
@@ -78,12 +83,23 @@ struct wlr_backend_state {
size_t num_planes;
struct wlr_drm_plane *planes;
- size_t num_overlay_planes;
- struct wlr_drm_plane *overlay_planes;
- size_t num_primary_planes;
- struct wlr_drm_plane *primary_planes;
- size_t num_cursor_planes;
- struct wlr_drm_plane *cursor_planes;
+ union {
+ struct {
+ size_t num_overlay_planes;
+ size_t num_primary_planes;
+ size_t num_cursor_planes;
+ };
+ size_t num_type_planes[3];
+ };
+
+ union {
+ struct {
+ struct wlr_drm_plane *overlay_planes;
+ struct wlr_drm_plane *primary_planes;
+ struct wlr_drm_plane *cursor_planes;
+ };
+ struct wlr_drm_plane *type_planes[3];
+ };
struct wl_display *display;
struct wl_event_source *drm_event;