minigbm: rockchip/mediatek: remove R8 as texture source on Mali/Bifrost

EGL can't import this format on Mali/Bifrost.

BUG=chromium:969044
TEST=Ozone unit test

Change-Id: I356ec2bd35030af600b268bf39565e30e16465f5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/1643677
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Commit-Queue: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
This commit is contained in:
Gurchetan Singh 2019-06-04 16:53:54 -07:00
parent 5b91ec0481
commit dc9b120451
3 changed files with 12 additions and 10 deletions

View file

@ -542,7 +542,7 @@ struct drv_array *drv_query_kms(struct driver *drv)
{
struct drv_array *kms_items;
uint64_t plane_type = UINT64_MAX;
uint64_t use_flag;
uint64_t use_flag;
uint32_t i, j, k;
drmModePlanePtr plane;

View file

@ -36,12 +36,12 @@ static const uint32_t render_target_formats[] = { DRM_FORMAT_ABGR8888, DRM_FORMA
DRM_FORMAT_XRGB8888 };
#ifdef MTK_MT8183
static const uint32_t texture_source_formats[] = { DRM_FORMAT_R8, DRM_FORMAT_NV21,
DRM_FORMAT_NV12, DRM_FORMAT_YUYV,
DRM_FORMAT_YVU420, DRM_FORMAT_YVU420_ANDROID };
static const uint32_t texture_source_formats[] = { DRM_FORMAT_NV21, DRM_FORMAT_NV12,
DRM_FORMAT_YUYV, DRM_FORMAT_YVU420,
DRM_FORMAT_YVU420_ANDROID };
#else
static const uint32_t texture_source_formats[] = { DRM_FORMAT_R8, DRM_FORMAT_YVU420,
DRM_FORMAT_YVU420_ANDROID, DRM_FORMAT_NV12 };
static const uint32_t texture_source_formats[] = { DRM_FORMAT_YVU420, DRM_FORMAT_YVU420_ANDROID,
DRM_FORMAT_NV12 };
#endif
static int mediatek_init(struct driver *drv)
@ -54,6 +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, &metadata, BO_USE_SW_MASK | BO_USE_LINEAR);
/*
* Chrome uses DMA-buf mmap to write to YV12 buffers, which are then accessed by the
* Video Encoder Accelerator (VEA). It could also support NV12 potentially in the future.

View file

@ -27,8 +27,8 @@ static const uint32_t render_target_formats[] = { DRM_FORMAT_ABGR8888, DRM_FORMA
DRM_FORMAT_BGR888, DRM_FORMAT_RGB565,
DRM_FORMAT_XBGR8888, DRM_FORMAT_XRGB8888 };
static const uint32_t texture_source_formats[] = { DRM_FORMAT_R8, DRM_FORMAT_NV12,
DRM_FORMAT_YVU420, DRM_FORMAT_YVU420_ANDROID };
static const uint32_t texture_source_formats[] = { DRM_FORMAT_NV12, DRM_FORMAT_YVU420,
DRM_FORMAT_YVU420_ANDROID };
static int afbc_bo_from_format(struct bo *bo, uint32_t width, uint32_t height, uint32_t format)
{
@ -139,8 +139,9 @@ static int rockchip_init(struct driver *drv)
* R8 format is used for Android's HAL_PIXEL_FORMAT_BLOB and is used for JPEG snapshots
* from camera.
*/
drv_modify_combination(drv, DRM_FORMAT_R8, &metadata,
BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE);
drv_add_combination(drv, DRM_FORMAT_R8, &metadata,
BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE | BO_USE_SW_MASK |
BO_USE_LINEAR);
kms_items = drv_query_kms(drv);
if (!kms_items)