render/shm_format: add wl_shm_format conversion helpers
This commit is contained in:
parent
bfd020047d
commit
5d6d76c61f
|
@ -0,0 +1,9 @@
|
||||||
|
#ifndef RENDER_SHM_FORMAT_H
|
||||||
|
#define RENDER_SHM_FORMAT_H
|
||||||
|
|
||||||
|
#include <wayland-server-protocol.h>
|
||||||
|
|
||||||
|
uint32_t convert_wl_shm_format_to_drm(enum wl_shm_format fmt);
|
||||||
|
enum wl_shm_format convert_drm_format_to_wl_shm(uint32_t fmt);
|
||||||
|
|
||||||
|
#endif
|
|
@ -4,6 +4,7 @@ wlr_files += files(
|
||||||
'egl.c',
|
'egl.c',
|
||||||
'drm_format_set.c',
|
'drm_format_set.c',
|
||||||
'gbm_allocator.c',
|
'gbm_allocator.c',
|
||||||
|
'shm_format.c',
|
||||||
'swapchain.c',
|
'swapchain.c',
|
||||||
'wlr_renderer.c',
|
'wlr_renderer.c',
|
||||||
'wlr_texture.c',
|
'wlr_texture.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;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue