mirror of
https://github.com/mpv-player/mpv
synced 2025-02-28 03:10:55 +00:00
wayland/shm: version detection that also works
The previous method would break on the next release. Because I am stupid.
This commit is contained in:
parent
005407338d
commit
b30ad057a5
@ -41,6 +41,13 @@
|
|||||||
|
|
||||||
#define MAX_BUFFERS 2
|
#define MAX_BUFFERS 2
|
||||||
|
|
||||||
|
// minium target version for the new formats (1.2.90)
|
||||||
|
#define MINIMUM_VERSION (1 << 16 | 2 << 8 | 90)
|
||||||
|
|
||||||
|
#define CURRENT_VERSION (WAYLAND_VERSION_MAJOR << 16 | \
|
||||||
|
WAYLAND_VERSION_MINOR << 8 | \
|
||||||
|
WAYLAND_VERSION_MICRO)
|
||||||
|
|
||||||
static void draw_image(struct vo *vo, mp_image_t *mpi);
|
static void draw_image(struct vo *vo, mp_image_t *mpi);
|
||||||
|
|
||||||
static const struct wl_callback_listener frame_listener;
|
static const struct wl_callback_listener frame_listener;
|
||||||
@ -58,9 +65,7 @@ struct fmtentry {
|
|||||||
static const struct fmtentry fmttable[] = {
|
static const struct fmtentry fmttable[] = {
|
||||||
{WL_SHM_FORMAT_ARGB8888, IMGFMT_BGRA}, // 8b 8g 8r 8a
|
{WL_SHM_FORMAT_ARGB8888, IMGFMT_BGRA}, // 8b 8g 8r 8a
|
||||||
{WL_SHM_FORMAT_XRGB8888, IMGFMT_BGR0},
|
{WL_SHM_FORMAT_XRGB8888, IMGFMT_BGR0},
|
||||||
#if (WAYLAND_VERSION_MAJOR >= 1) \
|
#if CURRENT_VERSION >= MINIMUM_VERSION
|
||||||
&& (WAYLAND_VERSION_MINOR >= 2) \
|
|
||||||
&& (WAYLAND_VERSION_MICRO >= 90)
|
|
||||||
{WL_SHM_FORMAT_RGB332, IMGFMT_BGR8}, // 3b 3g 2r
|
{WL_SHM_FORMAT_RGB332, IMGFMT_BGR8}, // 3b 3g 2r
|
||||||
{WL_SHM_FORMAT_BGR233, IMGFMT_RGB8}, // 3r 3g 3b,
|
{WL_SHM_FORMAT_BGR233, IMGFMT_RGB8}, // 3r 3g 3b,
|
||||||
{WL_SHM_FORMAT_XRGB4444, IMGFMT_BGR12_LE}, // 4b 4g 4r 4a
|
{WL_SHM_FORMAT_XRGB4444, IMGFMT_BGR12_LE}, // 4b 4g 4r 4a
|
||||||
|
Loading…
Reference in New Issue
Block a user