| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: If2ab523b400cfb586c8e1fed98f2ebe3538c0419
|
|
|
|
| |
Change-Id: Ice194315bc51ca25732c9e30c809bd6b39f3718f
|
|
|
|
|
|
|
|
|
| |
Adds two functions to the HWC interface: one for querying the current
display configuration, and one for setting a new configuration. This
will enable DisplayManager to change the mode on demand.
Bug: 14320401
Change-Id: I556c509192b877b38b2103a78f937b3687f35546
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
| |
The size of hwc_layer_1_t varies depending on whether we're building
for a 32- or 64-bit target. This change splits the padding into two
sections so that we can add more fields without changing the overall
size on either bitness.
Change-Id: Ib7c960a9feb0061586dc6398211d7d3dc012d573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inheritance of HAL object is performed by composing a child structure of a
single parent structure located at offset 0 followed by new data members
and function pointers in the child structure.
For example,
struct child {
struct parent common;
int a_data_member;
void (*a_method)(struct child *c, int v);
};
HAL code assumes this layout when accessing child structures given a pointer
to a parent structure such that users write code like the following...
void child_method(struct *parent, int v) {
struct child * c = (struct child*)parent;
// do stuff with c
}
Code above will break if a member is added before "common" in "struct child".
This change adds comments that describe the restriction on the location of
parent HAL objects within a derived HAL object. HAL objects that already
have comments that describe the required location of parent objects are not
modified.
Change-Id: Ibe4300275286ef275b2097534c84f1029d761d87
|
|
|
|
| |
Change-Id: Ie40668a8667e26f1d570a2f756f1178d0dcbbf5c
|
|
|
|
|
|
|
|
| |
Ensure none of the HAL structs change size over time.
Issues might arise when making changes without taking the different
pointer sizes for specific architectures into account.
Change-Id: I63f00004a23f09b2f46df01e7c69296766a5d03f
|
|
|
|
|
| |
Bug: 8316155
Change-Id: I56598551b07082bfff90df160b103a4158e8c8c9
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I8601ecc9f39052000b872805be1637ee73b0d3e1
|
|
|
|
|
| |
Bug: 8384764
Change-Id: I388ff3f46893b395e5c4187242f51ad7bb58da24
|
|
|
|
| |
Change-Id: Ied228e689ca892c505fbd811fd2b8579287e4ac6
|
|\
| |
| |
| |
| | |
* commit 'a8c061169752cbaf335a35e49568b7fe7d7e83cd':
Remove remnants of HWC 0.x
|
| |
| |
| |
| | |
Change-Id: I85f4b95e8db44998abc07686a554d3e802a6a4a9
|
|/
|
|
|
|
|
| |
Specify more clearly the behavior of compositionType
and hints.
Change-Id: I9abdccedd904b2fba783381bf9e2f8975ede8d67
|
|
|
|
|
| |
Bug: 7308829
Change-Id: Ibab6f0d2929860f02c17d6ffadb326fc0c333c4d
|
|
|
|
|
|
|
| |
The hotplug callback is non-reentrant. The display config functions
return an error if called for a disconnected display type.
Change-Id: I52d11a53f9b30a7c39e98b0a9b07eb97a3d2becd
|
|
|
|
| |
Change-Id: I0f25766976e4f783066e5b6fd917d1769906e43e
|
|
|
|
|
|
|
| |
Also rename HWC_DISPLAY_RESOLUTION_* to HWC_DISPLAY_WIDTH and
HWC_DISPLAY_HEIGHT for consistency.
Change-Id: Iabe6db0816f6f6eaaac24c3c9ae554177bcabf1d
|
|
|
|
| |
Change-Id: I40164e60b33174e98a3843ec99f1680b1bb1c675
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During the HWC 0.x evolution, some fields were left optional or
organized strangely to avoid breaking backwards compatibility. Since
we're breaking it in the transition to HWC 1.0 anyway, we can clean
these up a little.
* The current callbacks are now registered immediately after the
device is opened and guaranteed to be present, so the implementation
can rely on them being present.
* The hwc_methods_t structure is gone, with its two methods folded
into the main hwc_composer_device_1_t.
* All methods and callbacks are now required except dump(). New
methods and callbacks we add in the future will still be optional
for backwards compatibility.
Change-Id: I5d58774a5144016993c12df3dd6ad2a5d746bee9
|
|
|
|
| |
Change-Id: I740859bfa2b126edcdf06f7b2c8208770bc864f9
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I61965c343dceb4137bc439b49ea90ec13183b719
|
|/
|
|
|
|
|
|
| |
Change the documentation of the blank function in the hw composer to
specify that the screen state transition must be complete when the
function returns.
Change-Id: Ibd0a9cdef13991c36cabada5fc0e4f7bb8fa7af9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Documentation updated for semantic changes vs. HWC 0.x:
* Prepare won't be called with NULL pointers. This used to be used to
disable hardware composition, though that wasn't documented. Now
we'll call prepare with non-NULL pointers but the layer list will
have zero layers.
* Set won't be called with NULL pointers. This used to cause the
display to turn off; that is now done by calling the blank() method,
which is no longer optional.
Change-Id: I9c69dc34f64e499a5ba5f8729836e7c216f8c733
|
|
|
|
| |
Change-Id: I3b0446050648e2b386ffb32976c9943b6fd9793d
|
|
|
|
|
|
| |
This reverts commit 1d51b2b9fc713da6de18117bc19508ecdfde4f23
Change-Id: I1ae46d8cae1cb3064800cd24df56347b05eb6059
|
|
|
|
| |
Change-Id: I31b4fc293220bc51169971df93347dd35fdc30ef
|
|
|
|
|
|
|
| |
Add a new blank operation to be called by surfaceflinger when the screen
turns on or off. Also rev the API version to 1.1 for the new field.
Change-Id: I266fb33f66184538e34cfc319f63cf809dcb2f18
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This change clarifies the meaning of the HWC vsync timestamp to specify that
the timestamp must be relative to the system monotonic clock.
Change-Id: I4386ce90511fd5b8f8e988917da637d84d86f026
|
|
|
|
| |
Change-Id: I2c55034c25edd466180cd9c5718c2ad568aeedff
|
|
|
|
| |
Change-Id: I5820d8fa183701ebbc0a825cf27bd0004b47d62e
|
|
|
|
| |
Change-Id: Ic19a41ae522a236f45957e50c792934d987b116a
|
|
|
|
| |
Change-Id: Ieb50629f23c0d2b7af12c5541a8278a0979d2ee4
|
|
|
|
|
|
|
| |
this is a revision of the h/w composer API. This change
is binary backward compatible.
Change-Id: Id4cf43447594db9049f7e2c44ea08157ca725129
|
|
|
|
| |
Change-Id: I3c1211146b2e5f84546724c86f344bd2e63bd55c
|
|
|
|
| |
Change-Id: Ia3f47c1750f5a436037e4391d6744d63639ee099
|
|
|
|
| |
Change-Id: I39363e37417991b9853309154d6691240e706acf
|
|
|
|
|
|
|
|
| |
This is useful in various situations, for instance if the HAL
wants to change its compositing strategy.
Bug: 4488017
Change-Id: Idc410c689af30a2c9613dc3141e323d6e02a5648
|
|
|
|
| |
Change-Id: I27bf46103b4d1d547c42a6de4f3270a6dfd7b7ec
|
|
|
|
|
|
| |
also adds version #defines
Change-Id: I89f19fc7811ea9c9efb579a9f6abb4c3d9011bbf
|
|
|
|
| |
Change-Id: If4ac1bcfba7192ac1339039cac75f76a5c09f4c6
|
|
|
|
| |
Change-Id: Icf53be12ed43bce19b152fa7f1dee104d713b8da
|
|
|
|
| |
Change-Id: Iaa4984258572b46d6ded4c74b616b842003031c8
|