drm-tests: refactor nv12_test to use bsdrm and planes

This test used to use the atrocious "sp" library. This CL removes that
dependency by using bsdrm, gbm, and its own drawing code. In particular,
the usage of gbm and bsdrm enhance this test because gbm uses hardware
specific knowledge to generate properly aligned buffer objects, and
bsdrm will automatically make proper framebuffers out of them.

In addition, this test transitions to using an overlay plane to output a
NV12 surface. The hardware that was used to test this change only
supports the NV12 on planes.

BUG=chromium:587632,chromium:607241
TEST=nv12_test on daisy on kernel patched with "NV12 FIMD overlays via GSC"

Change-Id: I7725aa0235a9aa5b14f50b699b0ee559b654ebd5
Reviewed-on: https://chromium-review.googlesource.com/339070
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Haixia Shi <hshi@chromium.org>
2 files changed