virtgpu_virgl: force linear for hw encoder with impl defined

BUG=b:264408280
TEST=video capture

Change-Id: Iffefbefb061def63905c6db7982c19bc16f2c223
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/4137158
Reviewed-by: Dominik Laskowski <domlaskowski@chromium.org>
Tested-by: Yiwei Zhang <zzyiwei@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Dawn Han <dawnhan@google.com>
Reviewed-by: Dawn Han <dawnhan@google.com>
This commit is contained in:
Yiwei Zhang 2023-01-05 07:20:51 +00:00 committed by Chromeos LUCI
parent 6b4b5d3b03
commit 4c63ec5aec

View file

@ -992,9 +992,12 @@ static void virgl_3d_resolve_format_and_use_flags(struct driver *drv, uint32_t f
if (use_flags & (BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE)) {
*out_format = DRM_FORMAT_NV12;
} else {
/* HACK: See b/28671744 */
/* HACK: See b/28671744 and b/264408280 */
*out_format = DRM_FORMAT_XBGR8888;
*out_use_flags &= ~BO_USE_HW_VIDEO_ENCODER;
if (use_flags & BO_USE_HW_VIDEO_ENCODER) {
*out_use_flags &= ~BO_USE_HW_VIDEO_ENCODER;
*out_use_flags |= BO_USE_LINEAR;
}
}
break;
case DRM_FORMAT_FLEX_YCbCr_420_888: