Skip to content

Commit e26da63

Browse files
notbabaisyoumetux
authored andcommitted
modesetting: Allow selecting more optimal modifiers.
1 parent 0c6cb95 commit e26da63

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

hw/xfree86/drivers/video/modesetting/drmmode_display.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,6 +1151,29 @@ drmmode_create_bo(drmmode_ptr drmmode, drmmode_bo *bo,
11511151
break;
11521152
}
11531153

1154+
#ifdef GBM_BO_WITH_MODIFIERS
1155+
uint32_t num_modifiers;
1156+
uint64_t *modifiers = NULL;
1157+
num_modifiers = get_modifiers_set(drmmode->scrn, format, &modifiers,
1158+
FALSE, TRUE, TRUE);
1159+
if (num_modifiers) {
1160+
#ifdef GBM_BO_WITH_MODIFIERS2
1161+
bo->gbm = gbm_bo_create_with_modifiers2(drmmode->gbm, width, height,
1162+
format, modifiers, num_modifiers,
1163+
GBM_BO_USE_RENDERING | GBM_BO_USE_SCANOUT);
1164+
#else
1165+
bo->gbm = gbm_bo_create_with_modifiers(drmmode->gbm, width, height,
1166+
format, modifiers,
1167+
num_modifiers);
1168+
#endif
1169+
free(modifiers);
1170+
if (bo->gbm) {
1171+
bo->used_modifiers = TRUE;
1172+
return TRUE;
1173+
}
1174+
}
1175+
#endif
1176+
11541177
bo->gbm = gbm_bo_create(drmmode->gbm, width, height, format,
11551178
GBM_BO_USE_RENDERING | GBM_BO_USE_SCANOUT);
11561179
bo->used_modifiers = FALSE;

0 commit comments

Comments
 (0)