[Lut screenshot] backend implementation v2
Relnote: real implementation to call getLuts() binder in screenshot.
1. screenshot compositionengine doesn't have valid hwc composer object,
we modify `setHwComposer` function to allow hwcomposer object to be
used in multiple places. and set hwcomposer to screenshot
compositionengine.
2. extend compositionengine::LayerFE::LayerSettings to include layer
sequence number, and we use this unique value to identify which Luts
should be used for which layer.
Bug: 352585077
Test: libcompositionengine_test; libsurfaceflinger_unittest
Flag: android.hardware.flags.luts_api
Change-Id: I4ef43bfd515541d23a8de8785f04e3a21c46b410
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index c2e687f..824a55a6 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -1368,6 +1368,7 @@
std::atomic<int> mNumTrustedPresentationListeners = 0;
std::unique_ptr<compositionengine::CompositionEngine> mCompositionEngine;
+ std::unique_ptr<HWComposer> mHWComposer;
CompositionCoveragePerDisplay mCompositionCoverage;