mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-12-26 11:39:47 +01:00
render/shm_format: add wl_shm_format conversion helpers
This commit is contained in:
parent
bfd020047d
commit
5d6d76c61f
3 changed files with 34 additions and 0 deletions
9
include/render/shm_format.h
Normal file
9
include/render/shm_format.h
Normal file
|
@ -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',
|
||||
'drm_format_set.c',
|
||||
'gbm_allocator.c',
|
||||
'shm_format.c',
|
||||
'swapchain.c',
|
||||
'wlr_renderer.c',
|
||||
'wlr_texture.c',
|
||||
|
|
24
render/shm_format.c
Normal file
24
render/shm_format.c
Normal file
|
@ -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 a new issue