Commit graph

20 commits

Author SHA1 Message Date
Fabien Sanglard
e203b369a9 Fix errors in hardware composer specifications
Change-Id: Ic5db58ad46875e5e0dca9c5dfaebb6eaf3874157
2016-11-16 15:03:56 -08:00
Dan Stoza
4e9221bd87 Hardware Composer 2.0
Headers for version 2.0 of the Hardware Composer HAL

Change-Id: Ie5c26a11b20b7e8f8c752ca51d5cbaf2cbaa9a45
2016-01-28 14:16:22 -08:00
Dan Stoza
95f017990b HWC: Add a color transform attribute per display
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
2015-08-31 13:36:06 -07:00
Dan Stoza
811445a3f3 HWC 1.5: Add per-layer damage region
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
2015-02-25 13:42:18 -08:00
Riley Andrews
4a6788b02f Add interface for doing asynchonous cursor layer updates to hwcomposer
Change-Id: If2ab523b400cfb586c8e1fed98f2ebe3538c0419
2014-07-24 00:53:21 +00:00
Jeff Brown
842b906dd4 Add new HWC_POWER_MODE_DOZE_SUSPEND power state.
Change-Id: Ice194315bc51ca25732c9e30c809bd6b39f3718f
2014-07-18 21:28:19 -07:00
Prashant Malani
02b31986cb hwcomposer: Add function pointer for setPowerMode() callback
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>
2014-06-12 17:11:03 +00:00
Jesse Hall
8c79c08578 Add HWC 1.4 with support for sideband video layers
Change-Id: Ie40668a8667e26f1d570a2f756f1178d0dcbbf5c
2014-03-11 12:02:11 -07:00
Jesse Hall
fc0ff2a870 Add HWC_DISPLAY_VIRTUAL and adjust display count constants
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
2013-08-16 11:13:36 -07:00
Mathias Agopian
3b4732c9d5 bump HWC version to 1.3, add support for float crop rectangle
Change-Id: I8601ecc9f39052000b872805be1637ee73b0d3e1
2013-07-10 15:03:00 -07:00
Jesse Hall
71b9c1fab9 Remove remnants of HWC 0.x
Change-Id: I85f4b95e8db44998abc07686a554d3e802a6a4a9
2013-01-10 18:17:14 -08:00
Jesse Hall
7cb03d79b3 Add outbuf fields for HWC 1.2 virtual displays
Also rename HWC_DISPLAY_RESOLUTION_* to HWC_DISPLAY_WIDTH and
HWC_DISPLAY_HEIGHT for consistency.

Change-Id: Iabe6db0816f6f6eaaac24c3c9ae554177bcabf1d
2012-09-12 09:41:57 -07:00
Jesse Hall
903811cd00 Make HWC_MODULE_API_VERSION fit in uint16_t again
Change-Id: I4e32c3b7be9826cfac1e7226f7fd8894b6c97c1e
2012-09-04 11:43:06 -07:00
Jesse Hall
2c13759c61 Add new HWC 1.1 queries and hotplug callback
Change-Id: I40164e60b33174e98a3843ec99f1680b1bb1c675
2012-08-31 09:25:46 -07:00
Jesse Hall
3f5b522ac9 Encode header version in api versions
Change-Id: I0216bef3ba0cfaed2fe908f735e546d0734c0b13
2012-08-29 10:36:36 -07:00
Jesse Hall
43b51d9fdd Add NUM_DISPLAY_TYPES query and refine display list semantics
Change-Id: I740859bfa2b126edcdf06f7b2c8208770bc864f9
2012-08-22 12:10:06 -07:00
Jesse Hall
f4e4624ef7 Define HWC_DEVICE_API_VERSION_1_1
Change-Id: I925e010fb6367979de9b7657607ea5b444820a7e
2012-08-21 15:24:55 -07:00
Jesse Hall
d18c83fc04 HWC 1.1: add FRAMEBUFFER_TARGET layer type
Change-Id: I61965c343dceb4137bc439b49ea90ec13183b719
2012-08-16 16:21:13 -07:00
Jesse Hall
d479ad22a0 Introduce HWC_DEVICE_API_VERSION_1_0
The new version adds an acquire and release fence to each layer,
providing explicit producer->hwc and hwc->producer synchronization.

Change-Id: Ibd6e3c7b3515c012c767246e6d6514274fdef01d
2012-06-18 15:53:25 -07:00
Mathias Agopian
e291f71e0a split hwcomposer.h
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
2012-05-13 22:49:06 -07:00