Browse Source

Use drmModeAddFB() if drmModeAddFB2WithModifiers() fails

Fixes https://github.com/libsdl-org/SDL/issues/10276

(cherry picked from commit 8e99ec34bba27f239b3446abcad42783225404cf)
(cherry picked from commit b36021495014c9ca9eeaef2d233ac6af6ec6045b)
Sam Lantinga 8 months ago
parent
commit
6f7aa1e755
1 changed files with 2 additions and 8 deletions
  1. 2 8
      src/video/kmsdrm/SDL_kmsdrmvideo.c

+ 2 - 8
src/video/kmsdrm/SDL_kmsdrmvideo.c

@@ -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);
 
     if (ret) {
-        handles[0] = KMSDRM_gbm_bo_get_handle(bo).u32;
         strides[0] = KMSDRM_gbm_bo_get_stride(bo);
-        offsets[0] = 0;
-        for (int i = 1; i<4; i++) {
-            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);
+        handles[0] = KMSDRM_gbm_bo_get_handle(bo).u32;
+        ret = KMSDRM_drmModeAddFB(viddata->drm_fd, w, h, 24, 32, strides[0], handles[0], &fb_info->fb_id);
     }
 
     if (ret) {