OSDN Git Service

Always export DRM_FORMAT_YVU420_ANDROID as DRM_FORMAT_YVU420
[android-x86/external-minigbm.git] / dri.c
diff --git a/dri.c b/dri.c
index 97dc567..1d4aa12 100644 (file)
--- a/dri.c
+++ b/dri.c
@@ -34,7 +34,9 @@ static const struct {
        { DRM_FORMAT_XBGR8888, __DRI_IMAGE_FORMAT_XBGR8888 },
        { DRM_FORMAT_ABGR8888, __DRI_IMAGE_FORMAT_ABGR8888 },
        { DRM_FORMAT_XRGB2101010, __DRI_IMAGE_FORMAT_XRGB2101010 },
+       { DRM_FORMAT_XBGR2101010, __DRI_IMAGE_FORMAT_XBGR2101010 },
        { DRM_FORMAT_ARGB2101010, __DRI_IMAGE_FORMAT_ARGB2101010 },
+       { DRM_FORMAT_ABGR2101010, __DRI_IMAGE_FORMAT_ABGR2101010 },
 };
 
 static int drm_format_to_dri_format(uint32_t drm_format)
@@ -69,10 +71,9 @@ static bool lookup_extension(const __DRIextension *const *extensions, const char
  */
 static void close_gem_handle(uint32_t handle, int fd)
 {
-       struct drm_gem_close gem_close;
+       struct drm_gem_close gem_close = { 0 };
        int ret = 0;
 
-       memset(&gem_close, 0, sizeof(gem_close));
        gem_close.handle = handle;
        ret = drmIoctl(fd, DRM_IOCTL_GEM_CLOSE, &gem_close);
        if (ret)
@@ -354,7 +355,7 @@ int dri_bo_import(struct bo *bo, struct drv_import_fd_data *data)
 
                // clang-format off
                bo->priv = dri->image_extension->createImageFromDmaBufs2(dri->device, data->width, data->height,
-                                                                        data->format,
+                                                                        drv_get_standard_fourcc(data->format),
                                                                         data->format_modifiers[0],
                                                                         data->fds,
                                                                         bo->meta.num_planes,
@@ -373,7 +374,7 @@ int dri_bo_import(struct bo *bo, struct drv_import_fd_data *data)
        } else {
                // clang-format off
                bo->priv = dri->image_extension->createImageFromFds(dri->device, data->width, data->height,
-                                                                   data->format, data->fds,
+                                                                   drv_get_standard_fourcc(data->format), data->fds,
                                                                    bo->meta.num_planes,
                                                                    (int *)data->strides,
                                                                    (int *)data->offsets, NULL);