OSDN Git Service

Always export DRM_FORMAT_YVU420_ANDROID as DRM_FORMAT_YVU420
[android-x86/external-minigbm.git] / helpers.c
index d8c2818..326dddf 100644 (file)
--- a/helpers.c
+++ b/helpers.c
@@ -189,7 +189,8 @@ size_t drv_num_planes_from_modifier(struct driver *drv, uint32_t format, uint64_
        if (!planes)
                return 0;
 
-       if (drv->backend->num_planes_from_modifier && modifier != DRM_FORMAT_MOD_INVALID)
+       if (drv->backend->num_planes_from_modifier && modifier != DRM_FORMAT_MOD_INVALID &&
+           modifier != DRM_FORMAT_MOD_LINEAR)
                return drv->backend->num_planes_from_modifier(drv, format, modifier);
 
        return planes;
@@ -638,3 +639,11 @@ bool drv_has_modifier(const uint64_t *list, uint32_t count, uint64_t modifier)
 
        return false;
 }
+
+/*
+ * Map internal fourcc codes back to standard fourcc codes.
+ */
+uint32_t drv_get_standard_fourcc(uint32_t fourcc_internal)
+{
+       return (fourcc_internal == DRM_FORMAT_YVU420_ANDROID) ? DRM_FORMAT_YVU420 : fourcc_internal;
+}