mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-29 16:05:59 +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',
|
'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',
|
||||||
|
|
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