diff options
author | Leo Chen <yinchiuan@google.com> | 2023-10-04 07:36:06 +0000 |
---|---|---|
committer | Leo Chen <yinchiuan@google.com> | 2023-10-12 07:58:42 +0000 |
commit | 1be324de9a45bb89338da08fb573035be5ecb5db (patch) | |
tree | 3a900b2757c718e033cba1f809df8e6bb294ba8f | |
parent | 8555e3372e80cc017c397bc2ff7d02d55fbae1cb (diff) | |
download | interfaces-1be324de9a45bb89338da08fb573035be5ecb5db.tar.gz |
Update pixel-display V10 interface
* Add blockingRoi in the HistogramConfig.
For the histogram client uses V10 or later interface, it can either skip
the blockingRoi field or set with (0, 0, 0, 0) to disable blocking ROI.
Otherwise, the blocking ROI will be enabled.
For the histogram client uses V9 interface, blockingRoi will be null by
default.
* HistogramController will implement the disable ROI.
In order to capture the histogram of the entire screen, histogram client
can either specify the ROI with screen coordinates or set ROI with
(0, 0, 0, 0) to disable the ROI.
Bug: 299410182
Test: Build pass
Change-Id: I5ef20244163d48811d8789539f2d72f9697f05c2
Signed-off-by: Leo Chen <yinchiuan@google.com>
17 files changed, 505 insertions, 0 deletions
diff --git a/display/Android.bp b/display/Android.bp index 23ca30a..31542e9 100644 --- a/display/Android.bp +++ b/display/Android.bp @@ -90,6 +90,13 @@ aidl_interface { "android.hardware.graphics.common-V5", ], }, + { + version: "10", + imports: [ + "android.hardware.common-V2", + "android.hardware.graphics.common-V5", + ], + }, ], frozen: true, diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/.hash b/display/aidl_api/com.google.hardware.pixel.display/10/.hash new file mode 100644 index 0000000..fd6bc86 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/.hash @@ -0,0 +1 @@ +baba07b678d5de541a70f3c4b7b3c03bd78d5d3a diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HbmState.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HbmState.aidl new file mode 100644 index 0000000..76af8b3 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HbmState.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HbmState { + OFF = 0, + HDR = 1, + SUNLIGHT = 2, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramCapability.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramCapability.aidl new file mode 100644 index 0000000..bf4a34c --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramCapability.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@VintfStability +parcelable HistogramCapability { + boolean supportMultiChannel; + int channelCount; + int fullResolutionWidth; + int fullResolutionHeight; + com.google.hardware.pixel.display.HistogramSamplePos[] supportSamplePosList; + boolean supportBlockingRoi; +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramConfig.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramConfig.aidl new file mode 100644 index 0000000..a5fe1d4 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramConfig.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@VintfStability +parcelable HistogramConfig { + android.hardware.graphics.common.Rect roi; + com.google.hardware.pixel.display.Weight weights; + com.google.hardware.pixel.display.HistogramSamplePos samplePos; + @nullable android.hardware.graphics.common.Rect blockingRoi; +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramErrorCode.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramErrorCode.aidl new file mode 100644 index 0000000..6c8bca7 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramErrorCode.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HistogramErrorCode { + NONE = 0, + BAD_ROI = 1, + BAD_WEIGHT = 2, + BAD_POSITION = 3, + BAD_PRIORITY = 4, + ENABLE_HIST_ERROR = 5, + DISABLE_HIST_ERROR = 6, + BAD_HIST_DATA = 7, + DRM_PLAYING = 8, + DISPLAY_POWEROFF = 9, + API_DEPRECATED = 10, + BAD_TOKEN = 11, + CONFIG_HIST_ERROR = 12, + NO_CHANNEL_AVAILABLE = 13, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramPos.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramPos.aidl new file mode 100644 index 0000000..20b8160 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramPos.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HistogramPos { + POST = 0, + PRE = 1, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramSamplePos.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramSamplePos.aidl new file mode 100644 index 0000000..0acc055 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/HistogramSamplePos.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HistogramSamplePos { + POST_POSTPROC = 0, + PRE_POSTPROC = 1, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/IDisplay.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/IDisplay.aidl new file mode 100644 index 0000000..7a54c1c --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/IDisplay.aidl @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@VintfStability +interface IDisplay { + boolean isHbmSupported(); + void setHbmState(in com.google.hardware.pixel.display.HbmState state); + com.google.hardware.pixel.display.HbmState getHbmState(); + boolean isLbeSupported(); + void setLbeState(in com.google.hardware.pixel.display.LbeState state); + void setLbeAmbientLight(in int ambientLux); + com.google.hardware.pixel.display.LbeState getLbeState(); + boolean isLhbmSupported(); + void setLhbmState(in boolean enabled); + boolean getLhbmState(); + int setCompensationImageHandle(in android.hardware.common.NativeHandle native_handle, in String imageName); + int setMinIdleRefreshRate(in int fps); + int setRefreshRateThrottle(in int delayMs); + com.google.hardware.pixel.display.HistogramErrorCode histogramSample(in android.hardware.graphics.common.Rect roi, in com.google.hardware.pixel.display.Weight weight, in com.google.hardware.pixel.display.HistogramPos pos, in com.google.hardware.pixel.display.Priority pri, out char[] histogrambuffer); + com.google.hardware.pixel.display.PanelCalibrationStatus getPanelCalibrationStatus(); + boolean isDbmSupported(); + void setDbmState(in boolean enabled); + void setPeakRefreshRate(in int rate); + void setLowPowerMode(in boolean enabled); + boolean isOperationRateSupported(); + com.google.hardware.pixel.display.HistogramCapability getHistogramCapability(); + com.google.hardware.pixel.display.HistogramErrorCode registerHistogram(in IBinder token, in com.google.hardware.pixel.display.HistogramConfig histogramConfig); + com.google.hardware.pixel.display.HistogramErrorCode queryHistogram(in IBinder token, out char[] histogramBuffer); + com.google.hardware.pixel.display.HistogramErrorCode reconfigHistogram(in IBinder token, in com.google.hardware.pixel.display.HistogramConfig histogramConfig); + com.google.hardware.pixel.display.HistogramErrorCode unregisterHistogram(in IBinder token); +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/LbeState.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/LbeState.aidl new file mode 100644 index 0000000..8c8b53e --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/LbeState.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum LbeState { + OFF = 0, + NORMAL = 1, + HIGH_BRIGHTNESS = 2, + POWER_SAVE = 3, + HIGH_BRIGHTNESS_ENHANCE = 4, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl new file mode 100644 index 0000000..55271d0 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/PanelCalibrationStatus.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum PanelCalibrationStatus { + ORIGINAL = 0, + GOLDEN = 1, + UNCALIBRATED = 2, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/Priority.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/Priority.aidl new file mode 100644 index 0000000..2b2c957 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/Priority.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum Priority { + NORMAL = 0, + PRIORITY = 1, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/Weight.aidl b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/Weight.aidl new file mode 100644 index 0000000..e25da1e --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/10/com/google/hardware/pixel/display/Weight.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@VintfStability +parcelable Weight { + char weightR; + char weightG; + char weightB; +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HistogramCapability.aidl b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HistogramCapability.aidl index bbae60d..bf4a34c 100644 --- a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HistogramCapability.aidl +++ b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HistogramCapability.aidl @@ -39,4 +39,5 @@ parcelable HistogramCapability { int fullResolutionWidth; int fullResolutionHeight; com.google.hardware.pixel.display.HistogramSamplePos[] supportSamplePosList; + boolean supportBlockingRoi; } diff --git a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HistogramConfig.aidl b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HistogramConfig.aidl index c72f349..a5fe1d4 100644 --- a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HistogramConfig.aidl +++ b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/HistogramConfig.aidl @@ -37,4 +37,5 @@ parcelable HistogramConfig { android.hardware.graphics.common.Rect roi; com.google.hardware.pixel.display.Weight weights; com.google.hardware.pixel.display.HistogramSamplePos samplePos; + @nullable android.hardware.graphics.common.Rect blockingRoi; } diff --git a/display/com/google/hardware/pixel/display/HistogramCapability.aidl b/display/com/google/hardware/pixel/display/HistogramCapability.aidl index ea6e312..ad6a8a8 100644 --- a/display/com/google/hardware/pixel/display/HistogramCapability.aidl +++ b/display/com/google/hardware/pixel/display/HistogramCapability.aidl @@ -51,4 +51,10 @@ parcelable HistogramCapability { * supportSamplePosList lists the supported histogram sample position. */ HistogramSamplePos[] supportSamplePosList; + + /** + * supportBlockingRoi is true means the server support blocking ROI. Otherwise, + * the client should not use the blocking ROI. + */ + boolean supportBlockingRoi; } diff --git a/display/com/google/hardware/pixel/display/HistogramConfig.aidl b/display/com/google/hardware/pixel/display/HistogramConfig.aidl index 4798447..34df010 100644 --- a/display/com/google/hardware/pixel/display/HistogramConfig.aidl +++ b/display/com/google/hardware/pixel/display/HistogramConfig.aidl @@ -28,6 +28,8 @@ parcelable HistogramConfig { * calculated based on the full resolution which is described by * getHistogramCapability. Note that the right and bottom coordinates are * exclusive. + * Note: (0, 0, 0, 0) means the ROI is disabled, histogram hardware will + * capture the region inside the entire screen but outside the blocking ROI. */ Rect roi; @@ -44,4 +46,15 @@ parcelable HistogramConfig { * (before post processing) or POST_POSTPROC (after post processing). */ HistogramSamplePos samplePos; + + /** + * blockingRoi is the ROI blocking region. The histogram inside blockingRoi + * is not captured even that region lies within the roi. Rect is represented + * by the (int) coordinates of its 4 edges (left, top, right, bottom). + * The coordinates should be calculated based on the full resolution which + * is described by getHistogramCapability. Note that the right and bottom + * coordinates are exclusive. + * Note: (0, 0, 0, 0) means the blocking ROI is disabled. + */ + @nullable Rect blockingRoi; } |