DRM_FORMAT_MOD_VSI_G1_TILED,
DRM_FORMAT_MOD_VSI_G2_TILED,
DRM_FORMAT_MOD_VSI_G2_TILED_COMPRESSED,
+ DRM_FORMAT_MOD_LINEAR,
DRM_FORMAT_MOD_INVALID,
};
case DRM_FORMAT_NV12:
case DRM_FORMAT_NV21:
case DRM_FORMAT_P010:
- return modifier == DRM_FORMAT_MOD_VSI_G1_TILED ||
+ return modifier == DRM_FORMAT_MOD_LINEAR ||
+ modifier == DRM_FORMAT_MOD_VSI_G1_TILED ||
modifier == DRM_FORMAT_MOD_VSI_G2_TILED ||
modifier == DRM_FORMAT_MOD_VSI_G2_TILED_COMPRESSED;
default:
break;
case DRM_PLANE_TYPE_OVERLAY:
if (!modifiers_present ||
+ (modifiers_present && fb->modifier == DRM_FORMAT_MOD_LINEAR) ||
(pix_format != DRM_FORMAT_NV12 &&
pix_format != DRM_FORMAT_NV21 &&
pix_format != DRM_FORMAT_P010)) {
adj_w = src.x2 - src.x1;
adj_h = src.y2 - src.y1;
+ if (plane->type == DRM_PLANE_TYPE_OVERLAY &&
+ modifiers_present && fb->modifier == DRM_FORMAT_MOD_LINEAR)
+ modifiers_present = false;
+
dcss_dpr_format_set(dcss_plane->dcss, dcss_plane->ch_num, pixel_format,
modifiers_present);
if (!modifiers_present)