diff --git a/graphics/composer/2.2/utils/vts/RenderEngineVts.cpp b/graphics/composer/2.2/utils/vts/RenderEngineVts.cpp index 2d4cc7d80e..fe59a9d82a 100644 --- a/graphics/composer/2.2/utils/vts/RenderEngineVts.cpp +++ b/graphics/composer/2.2/utils/vts/RenderEngineVts.cpp @@ -61,18 +61,18 @@ void TestRenderEngine::initGraphicBuffer(uint32_t width, uint32_t height, uint32 void TestRenderEngine::drawLayers() { base::unique_fd bufferFence; - std::vector compositionLayers; - compositionLayers.reserve(mCompositionLayers.size()); + std::vector compositionLayerPointers; + compositionLayerPointers.reserve(mCompositionLayers.size()); std::transform(mCompositionLayers.begin(), mCompositionLayers.end(), - std::back_insert_iterator(compositionLayers), - [](renderengine::LayerSettings& settings) -> renderengine::LayerSettings { - return settings; + std::back_insert_iterator(compositionLayerPointers), + [](renderengine::LayerSettings& settings) -> renderengine::LayerSettings* { + return &settings; }); auto texture = std::make_shared( mGraphicBuffer, *mRenderEngine, renderengine::ExternalTexture::Usage::WRITEABLE); auto [status, readyFence] = mRenderEngine - ->drawLayers(mDisplaySettings, compositionLayers, texture, - true, std::move(bufferFence)) + ->drawLayers(mDisplaySettings, compositionLayerPointers, + texture, true, std::move(bufferFence)) .get(); int fd = readyFence.release(); if (fd != -1) {