mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-06 03:18:13 +00:00
Use drmModeAddFB() if drmModeAddFB2WithModifiers() fails
Fixes https://github.com/libsdl-org/SDL/issues/10276
(cherry picked from commit 8e99ec34bb
)
This commit is contained in:
@@ -380,15 +380,9 @@ KMSDRM_FBInfo *KMSDRM_FBFromBO(_THIS, struct gbm_bo *bo)
|
|||||||
ret = KMSDRM_drmModeAddFB2WithModifiers(viddata->drm_fd, w, h, format, handles, strides, offsets, modifiers, &fb_info->fb_id, flags);
|
ret = KMSDRM_drmModeAddFB2WithModifiers(viddata->drm_fd, w, h, format, handles, strides, offsets, modifiers, &fb_info->fb_id, flags);
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
handles[0] = KMSDRM_gbm_bo_get_handle(bo).u32;
|
|
||||||
strides[0] = KMSDRM_gbm_bo_get_stride(bo);
|
strides[0] = KMSDRM_gbm_bo_get_stride(bo);
|
||||||
offsets[0] = 0;
|
handles[0] = KMSDRM_gbm_bo_get_handle(bo).u32;
|
||||||
for (int i = 1; i<4; i++) {
|
ret = KMSDRM_drmModeAddFB(viddata->drm_fd, w, h, 24, 32, strides[0], handles[0], &fb_info->fb_id);
|
||||||
handles[i] = 0;
|
|
||||||
strides[i] = 0;
|
|
||||||
offsets[i] = 0;
|
|
||||||
}
|
|
||||||
ret = KMSDRM_drmModeAddFB2(viddata->drm_fd, w, h, format, handles, strides, offsets, &fb_info->fb_id, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
Reference in New Issue
Block a user