diff --git a/meson.build b/meson.build index 4b24e5046..e602bb427 100644 --- a/meson.build +++ b/meson.build @@ -98,7 +98,7 @@ wayland_server = dependency('wayland-server', ) drm = dependency('libdrm', - version: '>=2.4.122', + version: '>=2.4.129', fallback: 'libdrm', default_options: [ 'auto_features=disabled', diff --git a/render/pixel_format.c b/render/pixel_format.c index 7befbf082..5f2e8644a 100644 --- a/render/pixel_format.c +++ b/render/pixel_format.c @@ -44,10 +44,26 @@ static const struct wlr_pixel_format_info pixel_format_info[] = { .drm_format = DRM_FORMAT_R8, .bytes_per_block = 1, }, + { + .drm_format = DRM_FORMAT_R16F, + .bytes_per_block = 2, + }, + { + .drm_format = DRM_FORMAT_R32F, + .bytes_per_block = 4, + }, { .drm_format = DRM_FORMAT_GR88, .bytes_per_block = 2, }, + { + .drm_format = DRM_FORMAT_GR1616F, + .bytes_per_block = 4, + }, + { + .drm_format = DRM_FORMAT_GR3232F, + .bytes_per_block = 8, + }, { .drm_format = DRM_FORMAT_RGB888, .bytes_per_block = 3, @@ -56,6 +72,18 @@ static const struct wlr_pixel_format_info pixel_format_info[] = { .drm_format = DRM_FORMAT_BGR888, .bytes_per_block = 3, }, + { + .drm_format = DRM_FORMAT_BGR161616, + .bytes_per_block = 6, + }, + { + .drm_format = DRM_FORMAT_BGR161616F, + .bytes_per_block = 6, + }, + { + .drm_format = DRM_FORMAT_BGR323232F, + .bytes_per_block = 12, + }, { .drm_format = DRM_FORMAT_RGBX4444, .bytes_per_block = 2, @@ -136,6 +164,10 @@ static const struct wlr_pixel_format_info pixel_format_info[] = { .opaque_substitute = DRM_FORMAT_XBGR16161616F, .bytes_per_block = 8, }, + { + .drm_format = DRM_FORMAT_ABGR32323232F, + .bytes_per_block = 16, + }, { .drm_format = DRM_FORMAT_XBGR16161616, .bytes_per_block = 8,