diff --git a/hwc/HwcDisplay.cpp b/hwc/HwcDisplay.cpp index 02263dd..8c000b9 100644 --- a/hwc/HwcDisplay.cpp +++ b/hwc/HwcDisplay.cpp @@ -998,15 +998,13 @@ std::optional HwcDisplay::CreateFrameUpdateCommit( composition_layers.emplace_back(layer->GetLayerData()); } - // Use the provided validated composition plan if it exists, otherwise create - // it now. - a_args - .composition = composition.composition_plan != nullptr - ? composition.composition_plan - : DrmKmsPlan::CreateDrmKmsPlan(GetPipe(), - std::move( - composition_layers), - cursor_layer); + // TODO: Attempting to reuse the |composition.composition_plan| here causes + // visual artifacts, so we must create a new plan. We expect the new plan to + // be equivalent, so why can the existing plan not be used? + a_args.composition = DrmKmsPlan::CreateDrmKmsPlan(GetPipe(), + std::move( + composition_layers), + cursor_layer); if (!a_args.composition) { ALOGE_IF(!a_args.test_only, "Failed to create DrmKmsPlan"); return std::nullopt;