File tree Expand file tree Collapse file tree
include/compositionengine Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -125,6 +125,8 @@ class LayerFE : public virtual RefBase {
125125
126126 // True if layers with 170M dataspace should be overridden to sRGB.
127127 const bool treat170mAsSrgb;
128+
129+ std::shared_ptr<gui::DisplayLuts> luts;
128130 };
129131
130132 // A superset of LayerSettings required by RenderEngine to compose a layer
Original file line number Diff line number Diff line change @@ -1564,7 +1564,9 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests(
15641564 .clearContent = !clientComposition,
15651565 .blurSetting = blurSetting,
15661566 .whitePointNits = layerState.whitePointNits ,
1567- .treat170mAsSrgb = outputState.treat170mAsSrgb };
1567+ .treat170mAsSrgb = outputState.treat170mAsSrgb ,
1568+ .luts = layer->getState ().hwc ? layer->getState ().hwc ->luts
1569+ : nullptr };
15681570 if (auto clientCompositionSettings =
15691571 layerFE.prepareClientComposition (targetSettings)) {
15701572 clientCompositionLayers.push_back (std::move (*clientCompositionSettings));
Original file line number Diff line number Diff line change @@ -173,7 +173,7 @@ std::optional<compositionengine::LayerFE::LayerSettings> LayerFE::prepareClientC
173173 layerSettings.edgeExtensionEffect = mSnapshot ->edgeExtensionEffect ;
174174 // Record the name of the layer for debugging further down the stack.
175175 layerSettings.name = mSnapshot ->name ;
176- layerSettings.luts = mSnapshot ->luts ;
176+ layerSettings.luts = mSnapshot ->luts ? mSnapshot -> luts : targetSettings. luts ;
177177
178178 if (hasEffect () && !hasBufferOrSidebandStream ()) {
179179 prepareEffectsClientComposition (layerSettings, targetSettings);
You can’t perform that action at this time.
0 commit comments