dumb_driver: Support R8 camera buffers

This format is used for JPEG camera data.

BUG=b:228365501
TEST=emerge-reven minigbm && cros deploy dut minigbm
TEST=Camera preview works on Macbook 7,1

Change-Id: Ida4b1896b68ef7db0bef76e7d6dd2e49b17b2e14
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/3577364
Commit-Queue: Nicholas Bishop <nicholasbishop@google.com>
Tested-by: Nicholas Bishop <nicholasbishop@google.com>
Auto-Submit: Nicholas Bishop <nicholasbishop@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Yiwei Zhang <zzyiwei@chromium.org>
diff --git a/dumb_driver.c b/dumb_driver.c
index ef7dd36..c667a51 100644
--- a/dumb_driver.c
+++ b/dumb_driver.c
@@ -27,7 +27,7 @@
 						   DRM_FORMAT_ABGR8888, DRM_FORMAT_XBGR8888,
 						   DRM_FORMAT_BGR888,	DRM_FORMAT_RGB565 };
 
-static const uint32_t texture_only_formats[] = { DRM_FORMAT_NV12, DRM_FORMAT_NV21,
+static const uint32_t texture_only_formats[] = { DRM_FORMAT_R8, DRM_FORMAT_NV12, DRM_FORMAT_NV21,
 						 DRM_FORMAT_YVU420, DRM_FORMAT_YVU420_ANDROID };
 
 static int dumb_driver_init(struct driver *drv)
@@ -38,6 +38,9 @@
 	drv_add_combinations(drv, texture_only_formats, ARRAY_SIZE(texture_only_formats),
 			     &LINEAR_METADATA, BO_USE_TEXTURE_MASK);
 
+	drv_modify_combination(drv, DRM_FORMAT_R8, &LINEAR_METADATA,
+			       BO_USE_HW_VIDEO_ENCODER | BO_USE_HW_VIDEO_DECODER |
+				   BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE);
 	drv_modify_combination(drv, DRM_FORMAT_NV12, &LINEAR_METADATA,
 			       BO_USE_HW_VIDEO_ENCODER | BO_USE_HW_VIDEO_DECODER |
 				   BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE);