aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/backend/drm/drm.h2
-rw-r--r--include/backend/drm/properties.h3
-rw-r--r--include/wlr/render/drm_format_set.h3
3 files changed, 7 insertions, 1 deletions
diff --git a/include/backend/drm/drm.h b/include/backend/drm/drm.h
index 6481f085..ba08449a 100644
--- a/include/backend/drm/drm.h
+++ b/include/backend/drm/drm.h
@@ -11,6 +11,7 @@
#include <wayland-util.h>
#include <wlr/backend/drm.h>
#include <wlr/backend/session.h>
+#include <wlr/render/drm_format_set.h>
#include <wlr/render/egl.h>
#include <xf86drmMode.h>
#include "iface.h"
@@ -27,6 +28,7 @@ struct wlr_drm_plane {
struct wlr_drm_surface mgpu_surf;
uint32_t drm_format; // ARGB8888 or XRGB8888
+ struct wlr_drm_format_set formats;
// Only used by cursor
float matrix[9];
diff --git a/include/backend/drm/properties.h b/include/backend/drm/properties.h
index b4d43bdd..28f0dbe4 100644
--- a/include/backend/drm/properties.h
+++ b/include/backend/drm/properties.h
@@ -44,6 +44,7 @@ union wlr_drm_plane_props {
struct {
uint32_t type;
uint32_t rotation; // Not guaranteed to exist
+ uint32_t in_formats; // Not guaranteed to exist
// atomic-modesetting only
@@ -58,7 +59,7 @@ union wlr_drm_plane_props {
uint32_t fb_id;
uint32_t crtc_id;
};
- uint32_t props[12];
+ uint32_t props[13];
};
bool get_drm_connector_props(int fd, uint32_t id,
diff --git a/include/wlr/render/drm_format_set.h b/include/wlr/render/drm_format_set.h
index 588914ae..15d4eea3 100644
--- a/include/wlr/render/drm_format_set.h
+++ b/include/wlr/render/drm_format_set.h
@@ -21,6 +21,9 @@ void wlr_drm_format_set_finish(struct wlr_drm_format_set *set);
const struct wlr_drm_format *wlr_drm_format_set_get(
const struct wlr_drm_format_set *set, uint32_t format);
+bool wlr_drm_format_set_has(const struct wlr_drm_format_set *set,
+ uint32_t format, uint64_t modifier);
+
bool wlr_drm_format_set_add(struct wlr_drm_format_set *set, uint32_t format,
uint64_t modifier);