summaryrefslogtreecommitdiffstats
path: root/include/hardware/hwcomposer.h
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2013-03-20 10:11:10 -0700
committerJesse Hall <jessehall@google.com>2013-05-07 12:03:27 -0700
commit380f45dade4a917e6e72c4ce756a20f6242f14fd (patch)
treee80252cdf136e1058c396746b3f9355a85ffea38 /include/hardware/hwcomposer.h
parent74b8c4e57b6d0db6bdb79d298ef8bb19cad3be2e (diff)
downloadhardware_libhardware-380f45dade4a917e6e72c4ce756a20f6242f14fd.zip
hardware_libhardware-380f45dade4a917e6e72c4ce756a20f6242f14fd.tar.gz
hardware_libhardware-380f45dade4a917e6e72c4ce756a20f6242f14fd.tar.bz2
Move virtual displays out of HWC 1.2, mark experimental
Bug: 8384764 Change-Id: I388ff3f46893b395e5c4187242f51ad7bb58da24
Diffstat (limited to 'include/hardware/hwcomposer.h')
-rw-r--r--include/hardware/hwcomposer.h24
1 files changed, 15 insertions, 9 deletions
diff --git a/include/hardware/hwcomposer.h b/include/hardware/hwcomposer.h
index 3b29f1f..d75a047 100644
--- a/include/hardware/hwcomposer.h
+++ b/include/hardware/hwcomposer.h
@@ -299,7 +299,8 @@ typedef struct hwc_display_contents_1 {
hwc_surface_t sur;
};
- /* Fields only relevant for HWC_DEVICE_VERSION_1_2 and later. */
+ /* WARNING: These fields are for experimental virtual display support,
+ * and are not currently used. */
struct {
/* outbuf is the buffer that receives the composed image for
* virtual displays. Writes to the outbuf must wait until
@@ -307,6 +308,13 @@ typedef struct hwc_display_contents_1 {
* writes to outbuf are complete should be returned in
* retireFenceFd.
*
+ * This field will not be updated until after prepare(). If
+ * prepare() sets all non-FB layers to OVERLAY or sets all non-FB
+ * layers to FRAMEBUFFER, then the FRAMEBUFFER_TARGET buffer and
+ * the output buffer may be the same. In mixed OVERLAY/FRAMEBUFFER
+ * configurations they will have different buffers so the
+ * h/w composer does not have to read and write the same buffer.
+ *
* For physical displays, outbuf will be NULL.
*/
buffer_handle_t outbuf;
@@ -428,10 +436,9 @@ typedef struct hwc_composer_device_1 {
* 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.2 and later, numDisplays will be HWC_NUM_DISPLAY_TYPES or more.
- * The extra entries correspond to enabled virtual displays, and will be
- * non-NULL. In HWC 1.2, support for one virtual display is required, and
- * no more than one will be used. Future HWC versions might require more.
+ * 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.
*
* 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
@@ -462,10 +469,9 @@ typedef struct hwc_composer_device_1 {
* 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.2 and later, numDisplays will be HWC_NUM_DISPLAY_TYPES or more.
- * The extra entries correspond to enabled virtual displays, and will be
- * non-NULL. In HWC 1.2, support for one virtual display is required, and
- * no more than one will be used. Future HWC versions might require more.
+ * 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.
*
* IMPORTANT NOTE: There is an implicit layer containing opaque black
* pixels behind all the layers in the list. It is the responsibility of