summaryrefslogtreecommitdiff
path: root/libs/gui/SurfaceComposerClient.cpp
diff options
context:
space:
mode:
author Sally Qi <sallyqi@google.com> 2024-08-27 11:31:42 -0700
committer Sally Qi <sallyqi@google.com> 2024-10-03 22:14:32 -0700
commit95f669a30a74fa519dc9dc760a099d977ebee567 (patch)
tree515ab432d63d7c2177b1b4dc0c60427d8fdc3943 /libs/gui/SurfaceComposerClient.cpp
parent9a4c026c402afc2f49856ca6d01f8c6d50a9a56f (diff)
[Lut HAL backend] implementation
- Add Lut in HWComposer::DeviceRequestedChanges - parse lutProperties into overlayProperties - Add a mapper <layer*, pfd> to store lut fd to avoid dup() ops if passing the fds into callees. - SurfaceComposerClient::Transaction::setLuts interface Bug: 329472100 Test: builds Flag: NONE HAL backend interface change Change-Id: Ib2993ce1eab66ab456388c0d15b032201eac7e91
Diffstat (limited to 'libs/gui/SurfaceComposerClient.cpp')
-rw-r--r--libs/gui/SurfaceComposerClient.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp
index df58df43be..10746e07f8 100644
--- a/libs/gui/SurfaceComposerClient.cpp
+++ b/libs/gui/SurfaceComposerClient.cpp
@@ -1941,6 +1941,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);