aboutsummaryrefslogtreecommitdiff
path: root/render/pixel_format.c
diff options
context:
space:
mode:
Diffstat (limited to 'render/pixel_format.c')
-rw-r--r--render/pixel_format.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/render/pixel_format.c b/render/pixel_format.c
index 4c4df3bc..05df2ba4 100644
--- a/render/pixel_format.c
+++ b/render/pixel_format.c
@@ -28,3 +28,25 @@ const struct wlr_pixel_format_info *drm_get_pixel_format_info(uint32_t fmt) {
return NULL;
}
+
+uint32_t convert_wl_shm_format_to_drm(enum wl_shm_format fmt) {
+ switch (fmt) {
+ case WL_SHM_FORMAT_XRGB8888:
+ return DRM_FORMAT_XRGB8888;
+ case WL_SHM_FORMAT_ARGB8888:
+ return DRM_FORMAT_ARGB8888;
+ default:
+ return (uint32_t)fmt;
+ }
+}
+
+enum wl_shm_format convert_drm_format_to_wl_shm(uint32_t fmt) {
+ switch (fmt) {
+ case DRM_FORMAT_XRGB8888:
+ return WL_SHM_FORMAT_XRGB8888;
+ case DRM_FORMAT_ARGB8888:
+ return WL_SHM_FORMAT_ARGB8888;
+ default:
+ return (enum wl_shm_format)fmt;
+ }
+}