diff options
Diffstat (limited to 'backend/drm/util.c')
-rw-r--r-- | backend/drm/util.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/backend/drm/util.c b/backend/drm/util.c index c2aa0fd8..2fa948f5 100644 --- a/backend/drm/util.c +++ b/backend/drm/util.c @@ -184,21 +184,18 @@ uint32_t get_fb_for_bo(struct gbm_bo *bo, uint32_t drm_format) { return id; } - assert(gbm_bo_get_format(bo) == GBM_FORMAT_ARGB8888); - assert(drm_format == DRM_FORMAT_ARGB8888 || - drm_format == DRM_FORMAT_XRGB8888); - struct gbm_device *gbm = gbm_bo_get_device(bo); int fd = gbm_device_get_fd(gbm); uint32_t width = gbm_bo_get_width(bo); uint32_t height = gbm_bo_get_height(bo); uint32_t handles[4] = {gbm_bo_get_handle(bo).u32}; - uint32_t pitches[4] = {gbm_bo_get_stride(bo)}; + uint32_t strides[4] = {gbm_bo_get_stride(bo)}; uint32_t offsets[4] = {gbm_bo_get_offset(bo, 0)}; + uint64_t modifiers[4] = {gbm_bo_get_modifier(bo)}; - if (drmModeAddFB2(fd, width, height, drm_format, - handles, pitches, offsets, &id, 0)) { + if (drmModeAddFB2WithModifiers(fd, width, height, drm_format, + handles, strides, offsets, modifiers, &id, DRM_MODE_FB_MODIFIERS)) { wlr_log_errno(WLR_ERROR, "Unable to add DRM framebuffer"); } |