Loading libs/gui/SurfaceComposerClient.cpp +14 −0 Original line number Diff line number Diff line Loading @@ -1939,6 +1939,20 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setDesir return *this; } SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setLuts( const sp<SurfaceControl>& sc, const base::unique_fd& /*lutFd*/, const std::vector<int32_t>& /*offsets*/, const std::vector<int32_t>& /*dimensions*/, const std::vector<int32_t>& /*sizes*/, const std::vector<int32_t>& /*samplingKeys*/) { layer_state_t* s = getLayerState(sc); if (!s) { mStatus = BAD_INDEX; return *this; } // TODO (b/329472856): update layer_state_t for lut(s) registerSurfaceControlForCallback(sc); return *this; } SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setCachingHint( const sp<SurfaceControl>& sc, gui::CachingHint cachingHint) { layer_state_t* s = getLayerState(sc); Loading libs/gui/aidl/android/gui/Lut.aidl 0 → 100644 +30 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 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. */ package android.gui; import android.gui.LutProperties; import android.os.ParcelFileDescriptor; /** * This mirrors aidl::android::hardware::graphics::composer3::Lut definition * @hide */ parcelable Lut { @nullable ParcelFileDescriptor pfd; LutProperties lutProperties; } No newline at end of file libs/gui/aidl/android/gui/LutProperties.aidl 0 → 100644 +32 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 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. */ package android.gui; /** * This mirrors aidl::android::hardware::graphics::composer3::LutProperties definition. * @hide */ parcelable LutProperties { @Backing(type="int") enum Dimension { ONE_D = 1, THREE_D = 3 } Dimension dimension; long size; @Backing(type="int") enum SamplingKey { RGB, MAX_RGB } SamplingKey[] samplingKeys; } No newline at end of file libs/gui/aidl/android/gui/OverlayProperties.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.gui; import android.gui.LutProperties; /** @hide */ parcelable OverlayProperties { parcelable SupportedBufferCombinations { Loading @@ -27,4 +29,6 @@ parcelable OverlayProperties { SupportedBufferCombinations[] combinations; boolean supportMixedColorSpaces; @nullable LutProperties[] lutProperties; } libs/gui/include/gui/SurfaceComposerClient.h +5 −0 Original line number Diff line number Diff line Loading @@ -602,6 +602,11 @@ public: Transaction& setExtendedRangeBrightness(const sp<SurfaceControl>& sc, float currentBufferRatio, float desiredRatio); Transaction& setDesiredHdrHeadroom(const sp<SurfaceControl>& sc, float desiredRatio); Transaction& setLuts(const sp<SurfaceControl>& sc, const base::unique_fd& lutFd, const std::vector<int32_t>& offsets, const std::vector<int32_t>& dimensions, const std::vector<int32_t>& sizes, const std::vector<int32_t>& samplingKeys); Transaction& setCachingHint(const sp<SurfaceControl>& sc, gui::CachingHint cachingHint); Transaction& setHdrMetadata(const sp<SurfaceControl>& sc, const HdrMetadata& hdrMetadata); Transaction& setSurfaceDamageRegion(const sp<SurfaceControl>& sc, Loading Loading
libs/gui/SurfaceComposerClient.cpp +14 −0 Original line number Diff line number Diff line Loading @@ -1939,6 +1939,20 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setDesir return *this; } SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setLuts( const sp<SurfaceControl>& sc, const base::unique_fd& /*lutFd*/, const std::vector<int32_t>& /*offsets*/, const std::vector<int32_t>& /*dimensions*/, const std::vector<int32_t>& /*sizes*/, const std::vector<int32_t>& /*samplingKeys*/) { layer_state_t* s = getLayerState(sc); if (!s) { mStatus = BAD_INDEX; return *this; } // TODO (b/329472856): update layer_state_t for lut(s) registerSurfaceControlForCallback(sc); return *this; } SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setCachingHint( const sp<SurfaceControl>& sc, gui::CachingHint cachingHint) { layer_state_t* s = getLayerState(sc); Loading
libs/gui/aidl/android/gui/Lut.aidl 0 → 100644 +30 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 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. */ package android.gui; import android.gui.LutProperties; import android.os.ParcelFileDescriptor; /** * This mirrors aidl::android::hardware::graphics::composer3::Lut definition * @hide */ parcelable Lut { @nullable ParcelFileDescriptor pfd; LutProperties lutProperties; } No newline at end of file
libs/gui/aidl/android/gui/LutProperties.aidl 0 → 100644 +32 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 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. */ package android.gui; /** * This mirrors aidl::android::hardware::graphics::composer3::LutProperties definition. * @hide */ parcelable LutProperties { @Backing(type="int") enum Dimension { ONE_D = 1, THREE_D = 3 } Dimension dimension; long size; @Backing(type="int") enum SamplingKey { RGB, MAX_RGB } SamplingKey[] samplingKeys; } No newline at end of file
libs/gui/aidl/android/gui/OverlayProperties.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.gui; import android.gui.LutProperties; /** @hide */ parcelable OverlayProperties { parcelable SupportedBufferCombinations { Loading @@ -27,4 +29,6 @@ parcelable OverlayProperties { SupportedBufferCombinations[] combinations; boolean supportMixedColorSpaces; @nullable LutProperties[] lutProperties; }
libs/gui/include/gui/SurfaceComposerClient.h +5 −0 Original line number Diff line number Diff line Loading @@ -602,6 +602,11 @@ public: Transaction& setExtendedRangeBrightness(const sp<SurfaceControl>& sc, float currentBufferRatio, float desiredRatio); Transaction& setDesiredHdrHeadroom(const sp<SurfaceControl>& sc, float desiredRatio); Transaction& setLuts(const sp<SurfaceControl>& sc, const base::unique_fd& lutFd, const std::vector<int32_t>& offsets, const std::vector<int32_t>& dimensions, const std::vector<int32_t>& sizes, const std::vector<int32_t>& samplingKeys); Transaction& setCachingHint(const sp<SurfaceControl>& sc, gui::CachingHint cachingHint); Transaction& setHdrMetadata(const sp<SurfaceControl>& sc, const HdrMetadata& hdrMetadata); Transaction& setSurfaceDamageRegion(const sp<SurfaceControl>& sc, Loading