summaryrefslogtreecommitdiffstats
path: root/include/hardware/hwcomposer.h
Commit message (Collapse)AuthorAgeFilesLines
* HWC 1.5: Add per-layer damage regionDan Stoza2015-02-251-3/+24
| | | | | | | | | | | 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
* Add interface for doing asynchonous cursor layer updates to hwcomposerRiley Andrews2014-07-241-6/+40
| | | | Change-Id: If2ab523b400cfb586c8e1fed98f2ebe3538c0419
* Add new HWC_POWER_MODE_DOZE_SUSPEND power state.Jeff Brown2014-07-181-6/+2
| | | | Change-Id: Ice194315bc51ca25732c9e30c809bd6b39f3718f
* hwcomposer: Allow display configuration selectionDan Stoza2014-07-141-11/+54
| | | | | | | | | 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
* Merge "hwcomposer: Add function pointer for setPowerMode() callback"Prashant Malani2014-06-101-12/+47
|\
| * hwcomposer: Add function pointer for setPowerMode() callbackPrashant Malani2014-06-121-12/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | hwcomposer: Correct padding for 32/64-bitDan Stoza2014-06-041-3/+12
|/ | | | | | | | | 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
* Described restrictions for common HAL object methods.Stewart Miles2014-05-121-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add HWC 1.4 with support for sideband video layersJesse Hall2014-03-111-8/+44
| | | | Change-Id: Ie40668a8667e26f1d570a2f756f1178d0dcbbf5c
* HAL test: statically test the size of HAL structsRom Lemarchand2013-11-211-1/+1
| | | | | | | | 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
* Update HWC documentation for virtual displaysJesse Hall2013-11-131-9/+23
| | | | | Bug: 8316155 Change-Id: I56598551b07082bfff90df160b103a4158e8c8c9
* Add HWC_DISPLAY_VIRTUAL and adjust display count constantsJesse Hall2013-08-161-10/+10
| | | | | | | | 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
* bump HWC version to 1.3, add support for float crop rectangleMathias Agopian2013-07-101-2/+18
| | | | Change-Id: I8601ecc9f39052000b872805be1637ee73b0d3e1
* Move virtual displays out of HWC 1.2, mark experimentalJesse Hall2013-05-071-9/+15
| | | | | Bug: 8384764 Change-Id: I388ff3f46893b395e5c4187242f51ad7bb58da24
* add support for plane-alpha in HWCMathias Agopian2013-02-041-1/+41
| | | | Change-Id: Ied228e689ca892c505fbd811fd2b8579287e4ac6
* am a8c06116: Merge "Remove remnants of HWC 0.x"Jesse Hall2013-01-141-16/+0
|\ | | | | | | | | * commit 'a8c061169752cbaf335a35e49568b7fe7d7e83cd': Remove remnants of HWC 0.x
| * Remove remnants of HWC 0.xJesse Hall2013-01-101-16/+0
| | | | | | | | Change-Id: I85f4b95e8db44998abc07686a554d3e802a6a4a9
* | Fix HWC documentation.Mathias Agopian2012-11-201-13/+45
|/ | | | | | | Specify more clearly the behavior of compositionType and hints. Change-Id: I9abdccedd904b2fba783381bf9e2f8975ede8d67
* hwcomposer: Specify set() call error behavior.Jamie Gennis2012-10-081-3/+10
| | | | | Bug: 7308829 Change-Id: Ibab6f0d2929860f02c17d6ffadb326fc0c333c4d
* Document reentrancy and error conditionsJesse Hall2012-09-191-2/+10
| | | | | | | The hotplug callback is non-reentrant. The display config functions return an error if called for a disconnected display type. Change-Id: I52d11a53f9b30a7c39e98b0a9b07eb97a3d2becd
* Layer flags won't change between prepare and setJesse Hall2012-09-141-2/+1
| | | | Change-Id: I0f25766976e4f783066e5b6fd917d1769906e43e
* Add outbuf fields for HWC 1.2 virtual displaysJesse Hall2012-09-121-15/+41
| | | | | | | Also rename HWC_DISPLAY_RESOLUTION_* to HWC_DISPLAY_WIDTH and HWC_DISPLAY_HEIGHT for consistency. Change-Id: Iabe6db0816f6f6eaaac24c3c9ae554177bcabf1d
* Add new HWC 1.1 queries and hotplug callbackJesse Hall2012-08-311-4/+65
| | | | Change-Id: I40164e60b33174e98a3843ec99f1680b1bb1c675
* Simplify and clean up legacy decisionsJesse Hall2012-08-221-59/+47
| | | | | | | | | | | | | | | | | | | | 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
* Add NUM_DISPLAY_TYPES query and refine display list semanticsJesse Hall2012-08-221-4/+20
| | | | Change-Id: I740859bfa2b126edcdf06f7b2c8208770bc864f9
* Merge "HWC 1.1: add FRAMEBUFFER_TARGET layer type" into jb-mr1-devJesse Hall2012-08-201-13/+27
|\
| * HWC 1.1: add FRAMEBUFFER_TARGET layer typeJesse Hall2012-08-161-13/+27
| | | | | | | | Change-Id: I61965c343dceb4137bc439b49ea90ec13183b719
* | hwc: update blank documentation to specify that blank is synchronousColin Cross2012-08-161-0/+2
|/ | | | | | | | 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
* Simplify prepare and set semantics (comments only)Jesse Hall2012-08-071-16/+12
| | | | | | | | | | | | | | | 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
* Add multi-display and flip fence to HWCJesse Hall2012-08-071-56/+61
| | | | Change-Id: I3b0446050648e2b386ffb32976c9943b6fd9793d
* Revert "Add multi-display and flip fence to HWC"Jesse Hall2012-07-311-61/+56
| | | | | | This reverts commit 1d51b2b9fc713da6de18117bc19508ecdfde4f23 Change-Id: I1ae46d8cae1cb3064800cd24df56347b05eb6059
* Add multi-display and flip fence to HWCJesse Hall2012-07-301-56/+61
| | | | Change-Id: I31b4fc293220bc51169971df93347dd35fdc30ef
* hwcomposer: add a new blank operationColin Cross2012-07-131-0/+15
| | | | | | | 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
* Introduce HWC_DEVICE_API_VERSION_1_0Jesse Hall2012-06-181-42/+80
| | | | | | | The new version adds an acquire and release fence to each layer, providing explicit producer->hwc and hwc->producer synchronization. Change-Id: Ibd6e3c7b3515c012c767246e6d6514274fdef01d
* split hwcomposer.hMathias Agopian2012-05-131-112/+2
| | | | | | | | | | | | 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
* hwcomposer: clarify vsync timestamp meaningJamie Gennis2012-04-301-2/+2
| | | | | | | 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
* fix typo in documentationMathias Agopian2012-04-241-1/+1
| | | | Change-Id: I2c55034c25edd466180cd9c5718c2ad568aeedff
* improve hwc VSYNC documentationMathias Agopian2012-04-101-0/+5
| | | | Change-Id: I5820d8fa183701ebbc0a825cf27bd0004b47d62e
* add support for VSYNC events in h/w composer HALMathias Agopian2012-04-031-8/+87
| | | | Change-Id: Ic19a41ae522a236f45957e50c792934d987b116a
* improve HWC versioningMathias Agopian2012-03-251-1/+4
| | | | Change-Id: Ieb50629f23c0d2b7af12c5541a8278a0979d2ee4
* add support for setting the background colorMathias Agopian2012-03-241-35/+80
| | | | | | | this is a revision of the h/w composer API. This change is binary backward compatible. Change-Id: Id4cf43447594db9049f7e2c44ea08157ca725129
* HWComposer: update the hwc_layer::handle docsJamie Gennis2011-12-201-2/+6
| | | | Change-Id: I3c1211146b2e5f84546724c86f344bd2e63bd55c
* improve h/w composer documentationMathias Agopian2011-11-211-0/+5
| | | | Change-Id: Ia3f47c1750f5a436037e4391d6744d63639ee099
* improve hw composer documentationMathias Agopian2011-11-161-0/+5
| | | | Change-Id: I39363e37417991b9853309154d6691240e706acf
* Add a h/w composer HAL API to allow the HAL to trigger a redrawMathias Agopian2011-08-011-3/+37
| | | | | | | | This is useful in various situations, for instance if the HAL wants to change its compositing strategy. Bug: 4488017 Change-Id: Idc410c689af30a2c9613dc3141e323d6e02a5648
* gralloc: add dump hooks to gralloc/hwcomposerErik Gilling2010-12-081-1/+7
| | | | Change-Id: I27bf46103b4d1d547c42a6de4f3270a6dfd7b7ec
* gralloc: add padding to alloc_device_t and hwc_composer_device_tErik Gilling2010-12-081-0/+5
| | | | | | also adds version #defines Change-Id: I89f19fc7811ea9c9efb579a9f6abb4c3d9011bbf
* const native_handle_t* -> buffer_handle_tLouis Huemiller2010-12-011-1/+2
| | | | Change-Id: If4ac1bcfba7192ac1339039cac75f76a5c09f4c6
* Hardware Composer add const for handle pointerLouis Huemiller2010-11-221-1/+1
| | | | Change-Id: Icf53be12ed43bce19b152fa7f1dee104d713b8da
* hwcomposer.h - Add comment that buffer handles in a list must be uniqueLouis Huemiller2010-10-251-0/+4
| | | | Change-Id: Iaa4984258572b46d6ded4c74b616b842003031c8