diff options
Diffstat (limited to 'render/shm_format.c')
-rw-r--r-- | render/shm_format.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/render/shm_format.c b/render/shm_format.c new file mode 100644 index 00000000..cb3f7c01 --- /dev/null +++ b/render/shm_format.c @@ -0,0 +1,24 @@ +#include <drm_fourcc.h> +#include "render/shm_format.h" + +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; + } +} |