These are required to build. Separate CL to preserve blame history.
From running 'update-includes.sh' script here.
Bug: 37280010
Test: boot/build (sanity)
Change-Id: Id9c2dc37f674b27b947a9f823bd38a550d64d31b
This splits headers into three locations:
include - for backwards compatibility, the global include
include_all - for things system/vendor both use
include_vendor - for things that only vendors use
The goal is to gradually have system things stop referencing
(at least most) of these headers.
Bug: 37280010
Test: build (CL on top adds back in symlinks)
Change-Id: Ibf194276b7faa857e1e7605d7719f4e7d873ecba
getClientTargetProperty will give hardware composer the ability to request some
properties of the client target that hardware composer wants. Prior to this
API, the client will does its best to produce the client target of which the
properties are pretty much fixed.
BUG: b/145968912
Test: boot
Change-Id: Ib8ba44d274a0c8a86c3fde1d09b72f592445ee91
- getSupportedDisplayVsyncPeriods was removed as the vsync period
can be obtained by getDisplayAttribute for each individual config.
- renamed setActiveConfigAndVsyncPeriod -> setActiveConfigWithConstraints
to better describe what this function does.
- added VsyncPeriodChangeTimeline and onVsyncPeriodTimingChanged
Test: rev up composer to 2.4 and test refresh rate switching
Bug: 141329414
Change-Id: Ifec51c893bb9038e9ac48d02c1c7b0fe9e25c108
Add new functions to improve vsync period switching by the platform:
- Adding a list of supported vsync periods to hwc2_config_t to avoid the need to expose
separate hwc2_config_t for each vsync period.
- Adding an API to set the vsync period with timeline constraints to allow better
synchronization with vsync period change.
- Extending HWC2_CALLBACK_VSYNC callback to provide the current vsync period.
Test: rev up composer to 2.4 and test refresh rate switching
Bug: 141329414
Change-Id: I0e3371dc41c4fbcf97073a120307f7a8923c9325
This patch adds the struct of float color, and setLayerFloatColor API so that
SurfaceFlinger can set the layer color with more bits on each channel.
Currently the display calibration tool require 10-bits support.
BUG: 69970838
Test: make locally and applied on device
Change-Id: I8bab335cc4fbc41a3eb18306a8831d1e9a9a219a
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