mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-26 06:35:58 +01:00
render/allocator/drm_dumb: check modifier list
Check that the modifier list passed as input contains either INVALID or LINEAR. We don't support others.
This commit is contained in:
parent
5ef8a18a29
commit
d81f68d2b4
1 changed files with 8 additions and 0 deletions
|
@ -17,6 +17,7 @@
|
||||||
#include <xf86drmMode.h>
|
#include <xf86drmMode.h>
|
||||||
|
|
||||||
#include "render/allocator/drm_dumb.h"
|
#include "render/allocator/drm_dumb.h"
|
||||||
|
#include "render/drm_format_set.h"
|
||||||
#include "render/pixel_format.h"
|
#include "render/pixel_format.h"
|
||||||
|
|
||||||
static const struct wlr_buffer_impl buffer_impl;
|
static const struct wlr_buffer_impl buffer_impl;
|
||||||
|
@ -47,6 +48,13 @@ static void finish_buffer(struct wlr_drm_dumb_buffer *buf) {
|
||||||
static struct wlr_drm_dumb_buffer *create_buffer(
|
static struct wlr_drm_dumb_buffer *create_buffer(
|
||||||
struct wlr_drm_dumb_allocator *alloc, int width, int height,
|
struct wlr_drm_dumb_allocator *alloc, int width, int height,
|
||||||
const struct wlr_drm_format *format) {
|
const struct wlr_drm_format *format) {
|
||||||
|
if (!wlr_drm_format_has(format, DRM_FORMAT_MOD_INVALID) &&
|
||||||
|
!wlr_drm_format_has(format, DRM_FORMAT_MOD_LINEAR)) {
|
||||||
|
wlr_log(WLR_ERROR, "DRM dumb allocator only supports INVALID and "
|
||||||
|
"LINEAR modifiers");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
struct wlr_drm_dumb_buffer *buffer = calloc(1, sizeof(*buffer));
|
struct wlr_drm_dumb_buffer *buffer = calloc(1, sizeof(*buffer));
|
||||||
if (buffer == NULL) {
|
if (buffer == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in a new issue