OSDN Git Service

minigbm: Fix the flag situation
authorGurchetan Singh <gurchetansingh@chromium.org>
Mon, 12 Sep 2016 23:21:29 +0000 (16:21 -0700)
committerchrome-bot <chrome-bot@chromium.org>
Mon, 17 Oct 2016 19:54:58 +0000 (12:54 -0700)
FrameBufferSurface.cpp (used by SurfaceFlinger) requires
GRALLOC_USAGE_HW_FB and GRALLOC_USAGE_HW_COMPOSER flags.

It's annoying to update so many flags in driver-supported lists, and
difficult to read.  Let's remove redundant flags and try to keep the
ones that one have a distinct and granular meaning.

CQ-DEPEND=CL:362062

Change-Id: I6e1974b02e90a4a98c350867d71050fee728ce3a
Reviewed-on: https://chromium-review.googlesource.com/392546
Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
cros_gralloc/cros_gralloc_helpers.cc
drv.h
i915.c
mediatek.c
rockchip.c
tegra.c

index 798b9e3..51e09bf 100644 (file)
 
 uint64_t cros_gralloc_convert_flags(int flags)
 {
-       if (flags & GRALLOC_USAGE_FOREIGN_BUFFERS) {
-               cros_gralloc_error("Foreign buffers found: %d", flags);
-               return CROS_GRALLOC_ERROR_BAD_VALUE;
-       }
-
-       if ((flags & sw_access()) && (flags & GRALLOC_USAGE_PROTECTED)) {
-               cros_gralloc_error("Software access not allowed");
-               return CROS_GRALLOC_ERROR_BAD_VALUE;
-       }
-
        uint64_t usage = DRV_BO_USE_NONE;
 
        if (flags & GRALLOC_USAGE_CURSOR)
@@ -36,17 +26,19 @@ uint64_t cros_gralloc_convert_flags(int flags)
        if ((flags & sw_write()) == GRALLOC_USAGE_SW_WRITE_OFTEN)
                usage |= DRV_BO_USE_SW_WRITE_OFTEN;
        if (flags & GRALLOC_USAGE_HW_TEXTURE)
-               usage |= DRV_BO_USE_HW_TEXTURE;
+               usage |= DRV_BO_USE_RENDERING;
        if (flags & GRALLOC_USAGE_HW_RENDER)
-               usage |= DRV_BO_USE_HW_RENDER;
+               usage |= DRV_BO_USE_RENDERING;
        if (flags & GRALLOC_USAGE_HW_2D)
-               usage |= DRV_BO_USE_HW_2D;
+               usage |= DRV_BO_USE_RENDERING;
        if (flags & GRALLOC_USAGE_HW_COMPOSER)
-               usage |= DRV_BO_USE_HW_COMPOSER;
+       /* HWC wants to use display hardware, but can defer to OpenGL. */
+               usage |= DRV_BO_USE_SCANOUT | DRV_BO_USE_RENDERING;
        if (flags & GRALLOC_USAGE_HW_FB)
-               usage |= DRV_BO_USE_HW_FB;
+               usage |= DRV_BO_USE_SCANOUT;
        if (flags & GRALLOC_USAGE_EXTERNAL_DISP)
-               usage |= DRV_BO_USE_EXTERNAL_DISP;
+       /* We're ignoring this flag until we decide what to with display link */
+               usage |= DRV_BO_USE_NONE;
        if (flags & GRALLOC_USAGE_PROTECTED)
                usage |= DRV_BO_USE_PROTECTED;
        if (flags & GRALLOC_USAGE_HW_VIDEO_ENCODER)
diff --git a/drv.h b/drv.h
index 56e399f..044069f 100644 (file)
--- a/drv.h
+++ b/drv.h
@@ -39,18 +39,13 @@ extern "C" {
 #define DRV_BO_USE_SW_WRITE_NEVER      (1ull << 7)
 #define DRV_BO_USE_SW_WRITE_RARELY     (1ull << 8)
 #define DRV_BO_USE_SW_WRITE_OFTEN      (1ull << 9)
-#define DRV_BO_USE_HW_TEXTURE          (1ull << 10)
-#define DRV_BO_USE_HW_RENDER           (1ull << 11)
-#define DRV_BO_USE_HW_2D               (1ull << 12)
-#define DRV_BO_USE_HW_COMPOSER         (1ull << 13)
-#define DRV_BO_USE_HW_FB               (1ull << 14)
-#define DRV_BO_USE_EXTERNAL_DISP       (1ull << 15)
-#define DRV_BO_USE_PROTECTED           (1ull << 16)
-#define DRV_BO_USE_HW_VIDEO_ENCODER    (1ull << 17)
-#define DRV_BO_USE_HW_CAMERA_WRITE     (1ull << 18)
-#define DRV_BO_USE_HW_CAMERA_READ      (1ull << 19)
-#define DRV_BO_USE_HW_CAMERA_ZSL       (1ull << 20)
-#define DRV_BO_USE_RENDERSCRIPT                (1ull << 21)
+#define DRV_BO_USE_EXTERNAL_DISP       (1ull << 10)
+#define DRV_BO_USE_PROTECTED           (1ull << 11)
+#define DRV_BO_USE_HW_VIDEO_ENCODER    (1ull << 12)
+#define DRV_BO_USE_HW_CAMERA_WRITE     (1ull << 13)
+#define DRV_BO_USE_HW_CAMERA_READ      (1ull << 14)
+#define DRV_BO_USE_HW_CAMERA_ZSL       (1ull << 15)
+#define DRV_BO_USE_RENDERSCRIPT                (1ull << 16)
 
 typedef enum {
        DRV_FORMAT_NONE,
diff --git a/i915.c b/i915.c
index 4df5879..799bd3c 100644 (file)
--- a/i915.c
+++ b/i915.c
@@ -135,9 +135,8 @@ static int i915_bo_create(struct bo *bo, uint32_t width, uint32_t height,
                tiling_mode = I915_TILING_NONE;
        else if (flags & DRV_BO_USE_SCANOUT)
                tiling_mode = I915_TILING_X;
-       else if (flags & (DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                         DRV_BO_USE_HW_RENDER | DRV_BO_USE_SW_READ_RARELY |
-                         DRV_BO_USE_HW_2D | DRV_BO_USE_SW_WRITE_RARELY))
+       else if (flags & (DRV_BO_USE_RENDERING | DRV_BO_USE_SW_READ_RARELY |
+                         DRV_BO_USE_SW_WRITE_RARELY))
                tiling_mode = I915_TILING_Y;
 
        i915_align_dimensions(drv, tiling_mode, &width, &height, bpp);
@@ -228,60 +227,40 @@ const struct backend backend_i915 =
        .bo_map = i915_bo_map,
        .resolve_format = i915_resolve_format,
        .format_list = {
-               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
-                                     DRV_BO_USE_SW_WRITE_OFTEN},
-               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
-                                     DRV_BO_USE_SW_WRITE_OFTEN},
-               {DRV_FORMAT_XBGR8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_ABGR8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_XRGB1555, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_ARGB1555, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_RGB565,   DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_UYVY,     DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_UYVY,     DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
-                                     DRV_BO_USE_SW_WRITE_OFTEN},
-               {DRV_FORMAT_YUYV,     DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_YUYV,     DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
-                                     DRV_BO_USE_SW_WRITE_OFTEN},
+               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR |
+                                     DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
+               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR |
+                                     DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
+               {DRV_FORMAT_XBGR8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_ABGR8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_XRGB1555, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_ARGB1555, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_RGB565,   DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_UYVY,     DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_UYVY,     DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR |
+                                     DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
+               {DRV_FORMAT_YUYV,     DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_YUYV,     DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR |
+                                     DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
                {DRV_FORMAT_R8,       DRV_BO_USE_SCANOUT | DRV_BO_USE_LINEAR |
                                      DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
                {DRV_FORMAT_GR88,     DRV_BO_USE_SCANOUT | DRV_BO_USE_LINEAR |
                                      DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
                {DRV_FORMAT_YVU420,   DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
                                      DRV_BO_USE_SW_WRITE_OFTEN},
+               {DRV_FORMAT_YVU420,   DRV_BO_USE_RENDERING | DRV_BO_USE_SW_READ_RARELY |
+                                     DRV_BO_USE_SW_WRITE_RARELY},
        }
 };
 
index ce30735..6122da5 100644 (file)
@@ -81,20 +81,14 @@ const struct backend backend_mediatek =
        .bo_map = mediatek_bo_map,
        .resolve_format = mediatek_resolve_format,
        .format_list = {
-               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
-                                     DRV_BO_USE_SW_WRITE_OFTEN},
-               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
-               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
-                                     DRV_BO_USE_SW_WRITE_OFTEN},
+               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |  DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR
+                                     | DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
+               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR |
+                                     DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
                {DRV_FORMAT_YVU420,   DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
                                      DRV_BO_USE_SW_WRITE_OFTEN},
        }
index ae0b25f..e551099 100644 (file)
@@ -93,36 +93,26 @@ const struct backend backend_rockchip =
        .bo_map = rockchip_bo_map,
        .resolve_format = rockchip_resolve_format,
        .format_list = {
-               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
                {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR |
                                      DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
-               {DRV_FORMAT_XBGR8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_XBGR8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
                {DRV_FORMAT_XBGR8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR |
                                      DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
-               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
                {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR |
                                      DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
-               {DRV_FORMAT_ABGR8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_RENDERING | DRV_BO_USE_HW_TEXTURE |
-                                     DRV_BO_USE_HW_RENDER | DRV_BO_USE_HW_2D |
-                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
+               {DRV_FORMAT_ABGR8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_RENDERING
+                                     | DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
                {DRV_FORMAT_NV12,     DRV_BO_USE_SCANOUT | DRV_BO_USE_RENDERING |
-                                     DRV_BO_USE_HW_TEXTURE | DRV_BO_USE_HW_RENDER |
-                                     DRV_BO_USE_HW_2D | DRV_BO_USE_SW_READ_RARELY |
-                                     DRV_BO_USE_SW_WRITE_RARELY},
+                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
                {DRV_FORMAT_NV12,     DRV_BO_USE_SCANOUT | DRV_BO_USE_LINEAR |
                                      DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
-               {DRV_FORMAT_YVU420,   DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
-                                     DRV_BO_USE_SW_WRITE_OFTEN},
+               {DRV_FORMAT_YVU420,   DRV_BO_USE_LINEAR | DRV_BO_USE_SCANOUT |
+                                     DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
        }
 };
 
diff --git a/tegra.c b/tegra.c
index 1e2034a..28f98c6 100644 (file)
--- a/tegra.c
+++ b/tegra.c
@@ -170,21 +170,15 @@ const struct backend backend_tegra =
        .bo_map = tegra_bo_map,
        .format_list = {
                /* Linear support */
-               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
-                                     DRV_BO_USE_SW_WRITE_OFTEN},
-               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR |
-                                     DRV_BO_USE_LINEAR | DRV_BO_USE_SW_READ_OFTEN |
-                                     DRV_BO_USE_SW_WRITE_OFTEN},
+               {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR
+                                     | DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
+               {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_CURSOR | DRV_BO_USE_LINEAR
+                                     | DRV_BO_USE_SW_READ_OFTEN | DRV_BO_USE_SW_WRITE_OFTEN},
                /* Blocklinear support */
                {DRV_FORMAT_XRGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_RENDERING |
-                                     DRV_BO_USE_HW_TEXTURE | DRV_BO_USE_HW_RENDER |
-                                     DRV_BO_USE_HW_2D | DRV_BO_USE_SW_READ_RARELY |
-                                     DRV_BO_USE_SW_WRITE_RARELY},
+                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
                {DRV_FORMAT_ARGB8888, DRV_BO_USE_SCANOUT | DRV_BO_USE_RENDERING |
-                                     DRV_BO_USE_HW_TEXTURE | DRV_BO_USE_HW_RENDER |
-                                     DRV_BO_USE_HW_2D | DRV_BO_USE_SW_READ_RARELY |
-                                     DRV_BO_USE_SW_WRITE_RARELY},
+                                     DRV_BO_USE_SW_READ_RARELY | DRV_BO_USE_SW_WRITE_RARELY},
        }
 };