diff options
author | Jason Macnak <natsu@google.com> | 2022-04-11 15:32:58 -0700 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-04-19 03:37:24 +0000 |
commit | bc51ff31d274f847b6fc78c280ae663880b196ec (patch) | |
tree | b394ecba904cbbb74be6efd39b293f24aede4f5a | |
parent | 7a1a7dbda342415279f01eccb728803446ab3250 (diff) | |
download | minigbm-bc51ff31d274f847b6fc78c280ae663880b196ec.tar.gz |
virtgpu_virgl: enable P010 for 3D mode
BUG=b:191084459
TEST=cvd start --gpu_mode=gfxstream
TEST=Camera2Video sample app
TEST=cts -m CtsCameraTestCases
Change-Id: I7b2c902298fed7d1ccab7c31eac8376b0077b718
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/3579857
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Tested-by: Jason Macnak <natsu@google.com>
Commit-Queue: Jason Macnak <natsu@google.com>
-rw-r--r-- | virtgpu_virgl.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/virtgpu_virgl.c b/virtgpu_virgl.c index cbfae66..163865b 100644 --- a/virtgpu_virgl.c +++ b/virtgpu_virgl.c @@ -91,6 +91,8 @@ static uint32_t translate_format(uint32_t drm_fourcc) return VIRGL_FORMAT_NV12; case DRM_FORMAT_NV21: return VIRGL_FORMAT_NV21; + case DRM_FORMAT_P010: + return VIRGL_FORMAT_P010; case DRM_FORMAT_YVU420: case DRM_FORMAT_YVU420_ANDROID: return VIRGL_FORMAT_YV12; @@ -633,8 +635,12 @@ static int virgl_init(struct driver *drv) /* Android CTS tests require this. */ virgl_add_combination(drv, DRM_FORMAT_RGB888, &LINEAR_METADATA, BO_USE_SW_MASK); virgl_add_combination(drv, DRM_FORMAT_BGR888, &LINEAR_METADATA, BO_USE_SW_MASK); - virgl_add_combination(drv, DRM_FORMAT_P010, &LINEAR_METADATA, BO_USE_TEXTURE | - BO_USE_SW_MASK | BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE); + /* Android Camera CTS tests requires this. Additionally, the scanout usage is needed for + * Camera preview and is expected to be conditionally stripped by virgl_add_combination + * when not natively supported and instead handled by HWComposer. */ + virgl_add_combination(drv, DRM_FORMAT_P010, &LINEAR_METADATA, + BO_USE_SCANOUT | BO_USE_TEXTURE | BO_USE_SW_MASK | + BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE); drv_modify_combination(drv, DRM_FORMAT_R8, &LINEAR_METADATA, BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE | BO_USE_HW_VIDEO_DECODER | BO_USE_HW_VIDEO_ENCODER | BO_USE_GPU_DATA_BUFFER); |