OSDN Git Service

Distinguish COMPOSER_TARGET_BUFFER
[android-x86/external-minigbm.git] / mediatek.c
index 36e499d..a0b77e6 100644 (file)
@@ -54,8 +54,7 @@ static int mediatek_init(struct driver *drv)
        drv_add_combinations(drv, texture_source_formats, ARRAY_SIZE(texture_source_formats),
                             &LINEAR_METADATA, BO_USE_TEXTURE_MASK);
 
-       drv_add_combination(drv, DRM_FORMAT_R8, &LINEAR_METADATA,
-                           BO_USE_SW_MASK | BO_USE_LINEAR | BO_USE_PROTECTED);
+       drv_add_combination(drv, DRM_FORMAT_R8, &LINEAR_METADATA, BO_USE_SW_MASK | BO_USE_LINEAR);
 
        /* Android CTS tests require this. */
        drv_add_combination(drv, DRM_FORMAT_BGR888, &LINEAR_METADATA, BO_USE_SW_MASK);
@@ -66,7 +65,7 @@ static int mediatek_init(struct driver *drv)
        metadata.modifier = DRM_FORMAT_MOD_LINEAR;
        drv_modify_combination(drv, DRM_FORMAT_YVU420, &metadata, BO_USE_HW_VIDEO_DECODER);
        drv_modify_combination(drv, DRM_FORMAT_YVU420_ANDROID, &metadata, BO_USE_HW_VIDEO_DECODER);
-#ifdef MTK_MT8183
+#if defined(MTK_MT8183) || defined(MTK_MT8192)
        // TODO(hiroh): Switch to use NV12 for video decoder on MT8173 as well.
        drv_modify_combination(drv, DRM_FORMAT_NV12, &metadata, BO_USE_HW_VIDEO_DECODER);
 #endif
@@ -107,7 +106,7 @@ static int mediatek_bo_create_with_modifiers(struct bo *bo, uint32_t width, uint
        int ret;
        size_t plane;
        uint32_t stride;
-       struct drm_mtk_gem_create gem_create;
+       struct drm_mtk_gem_create gem_create = { 0 };
 
        if (!drv_has_modifier(modifiers, count, DRM_FORMAT_MOD_LINEAR)) {
                errno = EINVAL;
@@ -146,7 +145,6 @@ static int mediatek_bo_create_with_modifiers(struct bo *bo, uint32_t width, uint
                drv_bo_from_format(bo, stride, height, format);
        }
 
-       memset(&gem_create, 0, sizeof(gem_create));
        gem_create.size = bo->meta.total_size;
 
        ret = drmIoctl(bo->drv->fd, DRM_IOCTL_MTK_GEM_CREATE, &gem_create);
@@ -172,10 +170,9 @@ static int mediatek_bo_create(struct bo *bo, uint32_t width, uint32_t height, ui
 static void *mediatek_bo_map(struct bo *bo, struct vma *vma, size_t plane, uint32_t map_flags)
 {
        int ret, prime_fd;
-       struct drm_mtk_gem_map_off gem_map;
+       struct drm_mtk_gem_map_off gem_map = { 0 };
        struct mediatek_private_map_data *priv;
 
-       memset(&gem_map, 0, sizeof(gem_map));
        gem_map.handle = bo->handles[0].u32;
 
        ret = drmIoctl(bo->drv->fd, DRM_IOCTL_MTK_GEM_MAP_OFFSET, &gem_map);