virtgpu: use format when deciding to invalidate

The decoder and encoder use flags don't differentiate between input and
output buffers. However, we can use the buffer format to determine if
the buffer would be input to the decoder/encoder. If the buffer would be
input, we can skip invalidating the buffer. This is especially useful
for avoiding an unnecessary host to guest transfer for large encoder
input buffers.

BUG=b:175515099
TEST=Higher fps on arc.VideoEncodeAccelPerf.h264_1080p_i420_vm

Change-Id: Ic0e7cbc74ad856c857ddf913ec62d9adcf9d539d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/2596708
Tested-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: David Stevens <stevensd@chromium.org>
1 file changed