summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/hardware/hwcomposer.h20
-rw-r--r--include/hardware/hwcomposer_defs.h6
-rw-r--r--tests/hwc/cnativewindow.c6
3 files changed, 18 insertions, 14 deletions
diff --git a/include/hardware/hwcomposer.h b/include/hardware/hwcomposer.h
index 9492d3a..846bab4 100644
--- a/include/hardware/hwcomposer.h
+++ b/include/hardware/hwcomposer.h
@@ -449,12 +449,12 @@ typedef struct hwc_composer_device_1 {
* For HWC 1.0, numDisplays will always be one, and displays[0] will be
* non-NULL.
*
- * For HWC 1.1, numDisplays will always be HWC_NUM_DISPLAY_TYPES. Entries
- * for unsupported or disabled/disconnected display types will be NULL.
+ * For HWC 1.1, numDisplays will always be HWC_NUM_PHYSICAL_DISPLAY_TYPES.
+ * Entries for unsupported or disabled/disconnected display types will be
+ * NULL.
*
- * In a future version, numDisplays may be larger than
- * HWC_NUM_DISPLAY_TYPES. The extra entries correspond to enabled virtual
- * displays, and will be non-NULL.
+ * In HWC 1.3, numDisplays may be up to HWC_NUM_DISPLAY_TYPES. The extra
+ * entries correspond to enabled virtual displays, and will be non-NULL.
*
* returns: 0 on success. An negative error code on error. If an error is
* returned, SurfaceFlinger will assume that none of the layer will be
@@ -482,12 +482,12 @@ typedef struct hwc_composer_device_1 {
* For HWC 1.0, numDisplays will always be one, and displays[0] will be
* non-NULL.
*
- * For HWC 1.1, numDisplays will always be HWC_NUM_DISPLAY_TYPES. Entries
- * for unsupported or disabled/disconnected display types will be NULL.
+ * For HWC 1.1, numDisplays will always be HWC_NUM_PHYSICAL_DISPLAY_TYPES.
+ * Entries for unsupported or disabled/disconnected display types will be
+ * NULL.
*
- * In a future version, numDisplays may be larger than
- * HWC_NUM_DISPLAY_TYPES. The extra entries correspond to enabled virtual
- * displays, and will be non-NULL.
+ * In HWC 1.3, numDisplays may be up to HWC_NUM_DISPLAY_TYPES. The extra
+ * entries correspond to enabled virtual displays, and will be non-NULL.
*
* IMPORTANT NOTE: There is an implicit layer containing opaque black
* pixels behind all the layers in the list. It is the responsibility of
diff --git a/include/hardware/hwcomposer_defs.h b/include/hardware/hwcomposer_defs.h
index ce4723c..c69a4bc 100644
--- a/include/hardware/hwcomposer_defs.h
+++ b/include/hardware/hwcomposer_defs.h
@@ -182,12 +182,16 @@ enum {
enum {
HWC_DISPLAY_PRIMARY = 0,
HWC_DISPLAY_EXTERNAL = 1, // HDMI, DP, etc.
- HWC_NUM_DISPLAY_TYPES
+ HWC_DISPLAY_VIRTUAL = 2,
+
+ HWC_NUM_PHYSICAL_DISPLAY_TYPES = 2,
+ HWC_NUM_DISPLAY_TYPES = 3,
};
enum {
HWC_DISPLAY_PRIMARY_BIT = 1 << HWC_DISPLAY_PRIMARY,
HWC_DISPLAY_EXTERNAL_BIT = 1 << HWC_DISPLAY_EXTERNAL,
+ HWC_DISPLAY_VIRTUAL_BIT = 1 << HWC_DISPLAY_VIRTUAL,
};
/*****************************************************************************/
diff --git a/tests/hwc/cnativewindow.c b/tests/hwc/cnativewindow.c
index 474ceec..76f4564 100644
--- a/tests/hwc/cnativewindow.c
+++ b/tests/hwc/cnativewindow.c
@@ -74,7 +74,7 @@ typedef struct CNativeWindow {
unsigned ydpi;
unsigned format;
- hwc_display_contents_1_t *dclist[HWC_NUM_DISPLAY_TYPES];
+ hwc_display_contents_1_t *dclist[HWC_NUM_PHYSICAL_DISPLAY_TYPES];
hwc_display_contents_1_t dc;
hwc_layer_1_t layer[4];
@@ -200,7 +200,7 @@ static void hwc_post(CNativeWindow *win, aBuffer *buf, int ffd) {
dc->numHwLayers++;
}
- r = hwc->prepare(hwc, HWC_NUM_DISPLAY_TYPES, win->dclist);
+ r = hwc->prepare(hwc, HWC_NUM_PHYSICAL_DISPLAY_TYPES, win->dclist);
if (r) {
ERROR("hwc->prepare failed r=%d\n",r);
return;
@@ -210,7 +210,7 @@ static void hwc_post(CNativeWindow *win, aBuffer *buf, int ffd) {
// LOG("dl[%d] ctype=0x%08x hints=0x%08x flags=0x%08x\n", i,
// dl[i].compositionType, dl[0].hints, dl[0].flags);
- r = hwc->set(hwc, HWC_NUM_DISPLAY_TYPES, win->dclist);
+ r = hwc->set(hwc, HWC_NUM_PHYSICAL_DISPLAY_TYPES, win->dclist);
if (r) {
ERROR("hwc->set failed, r=%d\n", r);
return;