Add qcom overlay graphics support to minui
graphics_overlay.cpp is based on a mix of AOSP code for
graphics_fbdev.cpp along with overlay graphics code from CAF that
was brought into earlier versions of TWRP and then further adapted
and improved before being brought into this patch set.
Also added a rule to build a minuitest binary for testing the
minui engine to ensure proper operation on a device.
Change-Id: I3972d3a6baa7002615319421ac07d9299c3cec69
diff --git a/minui/graphics.cpp b/minui/graphics.cpp
index 4c7dd3f..76ef56e 100644
--- a/minui/graphics.cpp
+++ b/minui/graphics.cpp
@@ -470,18 +470,37 @@
int gr_init(void)
{
gr_init_font();
+ gr_draw = NULL;
- gr_backend = open_adf();
+ gr_backend = open_overlay();
if (gr_backend) {
gr_draw = gr_backend->init(gr_backend);
if (!gr_draw) {
gr_backend->exit(gr_backend);
+ } else
+ printf("Using overlay graphics.\n");
+ }
+
+#ifndef MSM_BSP
+ if (!gr_draw) {
+ gr_backend = open_adf();
+ if (gr_backend) {
+ gr_draw = gr_backend->init(gr_backend);
+ if (!gr_draw) {
+ gr_backend->exit(gr_backend);
+ } else
+ printf("Using adf graphics.\n");
}
}
+#else
+ printf("Skipping adf graphics because TW_TARGET_USES_QCOM_BSP := true\n");
+#endif
if (!gr_draw) {
gr_backend = open_drm();
gr_draw = gr_backend->init(gr_backend);
+ if (gr_draw)
+ printf("Using drm graphics.\n");
}
if (!gr_draw) {
@@ -489,7 +508,8 @@
gr_draw = gr_backend->init(gr_backend);
if (gr_draw == NULL) {
return -1;
- }
+ } else
+ printf("Using fbdev graphics.\n");
}
overscan_offset_x = gr_draw->width * overscan_percent / 100;