HWC2: Add SKIP_CLIENT_COLOR_TRANSFORM capability
Adds HWC2_CAPABILITY_SKIP_CLIENT_COLOR_TRANSFORM, which indicates that the client should never apply the color transform, even if all layers are being composed by the client. This allows the device to use its color management hardware in all cases to avoid any potential mismatches between client and device application of the transform. Bug: 29870302 Change-Id: I90234d91858206714e650eadb03227a4a180d975
This commit is contained in:
parent
ef264828fe
commit
d2168f7e47
1 changed files with 13 additions and 0 deletions
|
@ -86,6 +86,12 @@ typedef enum {
|
|||
* (such as position, size, etc.) need to be performed through the
|
||||
* validate/present cycle. */
|
||||
HWC2_CAPABILITY_SIDEBAND_STREAM = 1,
|
||||
|
||||
/* Specifies that the device will apply a color transform even when either
|
||||
* the client or the device has chosen that all layers should be composed by
|
||||
* the client. This will prevent the client from applying the color
|
||||
* transform during its composition step. */
|
||||
HWC2_CAPABILITY_SKIP_CLIENT_COLOR_TRANSFORM = 2,
|
||||
} hwc2_capability_t;
|
||||
|
||||
/* Possible composition types for a given layer */
|
||||
|
@ -325,6 +331,8 @@ static inline const char* getCapabilityName(hwc2_capability_t capability) {
|
|||
switch (capability) {
|
||||
case HWC2_CAPABILITY_INVALID: return "Invalid";
|
||||
case HWC2_CAPABILITY_SIDEBAND_STREAM: return "SidebandStream";
|
||||
case HWC2_CAPABILITY_SKIP_CLIENT_COLOR_TRANSFORM:
|
||||
return "SkipClientColorTransform";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
@ -540,6 +548,7 @@ TO_STRING(hwc2_callback_descriptor_t, Callback, getCallbackDescriptorName)
|
|||
enum class Capability : int32_t {
|
||||
Invalid = HWC2_CAPABILITY_INVALID,
|
||||
SidebandStream = HWC2_CAPABILITY_SIDEBAND_STREAM,
|
||||
SkipClientColorTransform = HWC2_CAPABILITY_SKIP_CLIENT_COLOR_TRANSFORM,
|
||||
};
|
||||
TO_STRING(hwc2_capability_t, Capability, getCapabilityName)
|
||||
|
||||
|
@ -1468,6 +1477,10 @@ typedef int32_t /*hwc2_error_t*/ (*HWC2_PFN_SET_COLOR_MODE)(
|
|||
* the desired color transform, it should force all layers to client composition
|
||||
* during validateDisplay.
|
||||
*
|
||||
* If HWC2_CAPABILITY_SKIP_CLIENT_COLOR_TRANSFORM is present, then the client
|
||||
* will never apply the color transform during client composition, even if all
|
||||
* layers are being composed by the client.
|
||||
*
|
||||
* The matrix provided is an affine color transformation of the following form:
|
||||
*
|
||||
* |r.r r.g r.b 0|
|
||||
|
|
Loading…
Reference in a new issue