Change RenderEngine::drawLayers to take a vector of LayerSettings pointers
Prework for the client composition cache logic which extends LayerSettings. Passing in a set of pointers will reduce the amount of copying needed when passing the LayerSettings to RenderEngine. Bug: 136561771 Test: atest librenderengine_test libcompositionengine_test Test: atest VtsHalGraphicsComposerV2_2TargetTest Test: go/wm-smoke Change-Id: I0581be7762bf56cd7a3aab0511adf95cd6e2df76
This commit is contained in:
parent
234830afc2
commit
02da997fab
1 changed files with 9 additions and 1 deletions
|
@ -57,7 +57,15 @@ void TestRenderEngine::initGraphicBuffer(uint32_t width, uint32_t height, uint32
|
||||||
void TestRenderEngine::drawLayers() {
|
void TestRenderEngine::drawLayers() {
|
||||||
base::unique_fd bufferFence;
|
base::unique_fd bufferFence;
|
||||||
base::unique_fd readyFence;
|
base::unique_fd readyFence;
|
||||||
mRenderEngine->drawLayers(mDisplaySettings, mCompositionLayers,
|
|
||||||
|
std::vector<const renderengine::LayerSettings*> compositionLayerPointers;
|
||||||
|
compositionLayerPointers.reserve(mCompositionLayers.size());
|
||||||
|
std::transform(mCompositionLayers.begin(), mCompositionLayers.end(),
|
||||||
|
std::back_insert_iterator(compositionLayerPointers),
|
||||||
|
[](renderengine::LayerSettings& settings) -> renderengine::LayerSettings* {
|
||||||
|
return &settings;
|
||||||
|
});
|
||||||
|
mRenderEngine->drawLayers(mDisplaySettings, compositionLayerPointers,
|
||||||
mGraphicBuffer->getNativeBuffer(), true, std::move(bufferFence),
|
mGraphicBuffer->getNativeBuffer(), true, std::move(bufferFence),
|
||||||
&readyFence);
|
&readyFence);
|
||||||
int fd = readyFence.release();
|
int fd = readyFence.release();
|
||||||
|
|
Loading…
Reference in a new issue