Adds a color transform option to the queryable display attributes,
which allows a different vendor-specific color transform (e.g., wide
gamut, sRGB, etc.) per display configuration. This does not increase the
HWC version, and is considered a part of HWC 1.5, though if
getDisplayAttributes returns an error code as a result of being passed
an unsupported attribute, the call will be retried without the new color
transform option.
Bug: 20853317
Change-Id: Iab1605bc073ed4caa780e55ddf396efeeff3aff1
This adds an array of rects to hwc_layer_1_t that define which
portions of that layer's source buffer have been modified. If there
are a non-zero number of rects, then any portion of the source buffer
not touched by one of the rects may safely be assumed to not have
been modified. If no rects are defined, then the whole source buffer
must be assumed to have been modified.
Change-Id: Id5efafee74602ed7d76609180e334ed203c23f7e
The blank HWC call is being replaced by a setPowerMode() call.
This incorporates all of the blank functionality, but provides added
support for display low power modes, if they are available in hardware.
Currently there are three supported modes:
- HWC_POWER_MODE_OFF : Turn screen off.
- HWC_POWER_MODE_DOZE : Put screen in low power mode.
- HWC_POWER_MODE_NORMAL : Turn screen on, and exit low power mode (if
display was previously in low power mode).
Where applicable, the device driver is expected to retain and restore
the low power mode state of the display during entry and exit from
suspend, respectively.
Bug: 13472578
Change-Id: I743ea3a2cb58247d14d7c47158b09a5309cca710
Signed-off-by: Prashant Malani <pmalani@google.com>
Both surfaceflinger and HWC implementations have been defining these
themselves, making future changes more difficult. Better to define
them centrally, where they can be updated easily.
Change-Id: I793158b858c84b2470b05f9ea77cc5a0c7e247f1
The new version adds an acquire and release fence to each layer,
providing explicit producer->hwc and hwc->producer synchronization.
Change-Id: Ibd6e3c7b3515c012c767246e6d6514274fdef01d
hwcomposer_defs.h now contains enums, which are essentially names.
This won't change when we rev the h/w composer API (new ones will be added instead).
we do this to avoid having to abstract all these constants in higher
level APIs; instead hwcomposer_defs.h can be included without exposing
the hwcomposer's data structures (which are a lot more fragile wrt.
backward compatibility)
Change-Id: Ifb514f64de02a599fdd2d31c188327209ccb0ffc