14d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall/*
24d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall * Copyright (C) 2016 The Android Open Source Project
34d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall *
44d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall * Licensed under the Apache License, Version 2.0 (the "License");
54d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall * you may not use this file except in compliance with the License.
64d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall * You may obtain a copy of the License at
74d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall *
84d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall *      http://www.apache.org/licenses/LICENSE-2.0
94d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall *
104d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall * Unless required by applicable law or agreed to in writing, software
114d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall * distributed under the License is distributed on an "AS IS" BASIS,
124d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall * See the License for the specific language governing permissions and
144d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall * limitations under the License.
154d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall */
164d600057db0c977e75c5d6e2d5f01fa69d30b364Marissa Wall
176bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall#include <sstream>
186bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall
196bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall#include "Hwc2TestLayer.h"
206bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall
21563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa WallHwc2TestCoverage getCoverage(Hwc2TestPropertyName property,
22563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall        Hwc2TestCoverage coverage, const std::unordered_map<Hwc2TestPropertyName,
23563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall        Hwc2TestCoverage>& coverageExceptions) {
24563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall    auto exception = coverageExceptions.find(property);
25563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall    return (exception != coverageExceptions.end())? exception->second : coverage;
26563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall}
27563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall
28563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa WallHwc2TestLayer::Hwc2TestLayer(Hwc2TestCoverage coverage,
29563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall        const Area& displayArea)
30563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall    : Hwc2TestLayer(coverage, displayArea,
31563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall            std::unordered_map<Hwc2TestPropertyName, Hwc2TestCoverage>()) { }
32563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall
33563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa WallHwc2TestLayer::Hwc2TestLayer(Hwc2TestCoverage coverage,
34563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall        const Area& displayArea, const std::unordered_map<Hwc2TestPropertyName,
35563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall        Hwc2TestCoverage>& coverageExceptions)
36563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall    : mBlendMode(getCoverage(Hwc2TestPropertyName::BlendMode, coverage,
37563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall           coverageExceptions)),
38563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall      mBufferArea(getCoverage(Hwc2TestPropertyName::BufferArea, coverage,
39563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall           coverageExceptions), displayArea),
40563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall      mColor(getCoverage(Hwc2TestPropertyName::Color, coverage,
41563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall           coverageExceptions)),
42563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall      mComposition(getCoverage(Hwc2TestPropertyName::Composition, coverage,
43563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall           coverageExceptions)),
44563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall      mDataspace(getCoverage(Hwc2TestPropertyName::Dataspace, coverage,
45563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall           coverageExceptions)),
46563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall      mDisplayFrame(getCoverage(Hwc2TestPropertyName::DisplayFrame, coverage,
47563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall           coverageExceptions), displayArea),
48563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall      mPlaneAlpha(getCoverage(Hwc2TestPropertyName::PlaneAlpha, coverage,
49563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall           coverageExceptions)),
50563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall      mSourceCrop(getCoverage(Hwc2TestPropertyName::SourceCrop, coverage,
51563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall           coverageExceptions)),
52563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall      mSurfaceDamage(getCoverage(Hwc2TestPropertyName::SurfaceDamage, coverage,
53563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall           coverageExceptions)),
54563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall      mTransform(getCoverage(Hwc2TestPropertyName::Transform, coverage,
55563030b4402f4b9aa08cece732f2a4a756a0f72cMarissa Wall           coverageExceptions))
56c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall{
575a240aaf0e3a1dd52be6a8d0811ec727369a210dMarissa Wall    mBufferArea.setDependent(&mBuffer);
58c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall    mBufferArea.setDependent(&mSourceCrop);
59ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wall    mBufferArea.setDependent(&mSurfaceDamage);
60ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wall    mBlendMode.setDependent(&mColor);
61c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall}
626bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall
636bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wallstd::string Hwc2TestLayer::dump() const
646bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall{
656bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall    std::stringstream dmp;
666bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall
676bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall    dmp << "layer: \n";
68ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall
69ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall    for (auto property : mProperties) {
70ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall        dmp << property->dump();
71ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall    }
726bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall
73f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall    dmp << mVisibleRegion.dump();
74273b1dfa05287a0016ae1fc230cd3a5b1b7433faMarissa Wall    dmp << "\tz order: " << mZOrder << "\n";
75273b1dfa05287a0016ae1fc230cd3a5b1b7433faMarissa Wall
766bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall    return dmp.str();
776bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall}
786bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall
795a240aaf0e3a1dd52be6a8d0811ec727369a210dMarissa Wallint Hwc2TestLayer::getBuffer(buffer_handle_t* outHandle,
805a240aaf0e3a1dd52be6a8d0811ec727369a210dMarissa Wall        android::base::unique_fd* outAcquireFence)
815a240aaf0e3a1dd52be6a8d0811ec727369a210dMarissa Wall{
825a240aaf0e3a1dd52be6a8d0811ec727369a210dMarissa Wall    int32_t acquireFence;
835a240aaf0e3a1dd52be6a8d0811ec727369a210dMarissa Wall    int ret = mBuffer.get(outHandle, &acquireFence);
845a240aaf0e3a1dd52be6a8d0811ec727369a210dMarissa Wall    outAcquireFence->reset(acquireFence);
855a240aaf0e3a1dd52be6a8d0811ec727369a210dMarissa Wall    return ret;
865a240aaf0e3a1dd52be6a8d0811ec727369a210dMarissa Wall}
875a240aaf0e3a1dd52be6a8d0811ec727369a210dMarissa Wall
881cd789cd2b300427467586f4ec721a8123f118b7Marissa Wallint Hwc2TestLayer::getBuffer(buffer_handle_t* outHandle,
891cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall        int32_t* outAcquireFence)
901cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall{
911cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall    return mBuffer.get(outHandle, outAcquireFence);
921cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall}
931cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall
94f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wallvoid Hwc2TestLayer::setZOrder(uint32_t zOrder)
95f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall{
96f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall    mZOrder = zOrder;
97f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall}
98f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall
99f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wallvoid Hwc2TestLayer::setVisibleRegion(const android::Region& region)
100f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall{
101f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall    return mVisibleRegion.set(region);
102f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall}
103f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall
1046bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wallvoid Hwc2TestLayer::reset()
1056bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall{
106f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall    mVisibleRegion.release();
107f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall
108ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall    for (auto property : mProperties) {
109ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall        property->reset();
110ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall    }
111ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall}
112ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall
1131cd789cd2b300427467586f4ec721a8123f118b7Marissa Wallbool Hwc2TestLayer::advance()
1141cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall{
1151cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall    for (auto property : mProperties) {
1161cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall        if (property->isSupported(mComposition.get()))
1171cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall            if (property->advance())
1181cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall                return true;
1191cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall    }
1201cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall    return false;
1211cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall}
1221cd789cd2b300427467586f4ec721a8123f118b7Marissa Wall
123ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wallhwc2_blend_mode_t Hwc2TestLayer::getBlendMode() const
124ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall{
125ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall    return mBlendMode.get();
1266bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall}
1276bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall
128f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa WallArea Hwc2TestLayer::getBufferArea() const
129f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall{
130f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall    return mBufferArea.get();
131f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall}
132f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall
133ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wallhwc_color_t Hwc2TestLayer::getColor() const
134ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wall{
135ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wall    return mColor.get();
136ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wall}
137ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wall
1386bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wallhwc2_composition_t Hwc2TestLayer::getComposition() const
1396bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall{
1406bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall    return mComposition.get();
1416bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall}
1426bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall
1432a0aaf9f5a3daeb0525249eda40242bb63f56468Marissa Wall/* The cursor position corresponds to {displayFrame.left, displayFrame.top} */
1442a0aaf9f5a3daeb0525249eda40242bb63f56468Marissa Wallhwc_rect_t Hwc2TestLayer::getCursorPosition() const
145600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall{
146600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall    return mDisplayFrame.get();
147600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall}
148600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall
149b72b5c9ef4a6235c5bc2c4a3cceb23baf963815bMarissa Wallandroid_dataspace_t Hwc2TestLayer::getDataspace() const
150b72b5c9ef4a6235c5bc2c4a3cceb23baf963815bMarissa Wall{
151b72b5c9ef4a6235c5bc2c4a3cceb23baf963815bMarissa Wall    return mDataspace.get();
152b72b5c9ef4a6235c5bc2c4a3cceb23baf963815bMarissa Wall}
153b72b5c9ef4a6235c5bc2c4a3cceb23baf963815bMarissa Wall
154600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wallhwc_rect_t Hwc2TestLayer::getDisplayFrame() const
155600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall{
156600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall    return mDisplayFrame.get();
157600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall}
158600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall
1592b1f53060ea8587a428f826cf7890354ff124722Marissa Wallfloat Hwc2TestLayer::getPlaneAlpha() const
1602b1f53060ea8587a428f826cf7890354ff124722Marissa Wall{
1612b1f53060ea8587a428f826cf7890354ff124722Marissa Wall    return mPlaneAlpha.get();
1622b1f53060ea8587a428f826cf7890354ff124722Marissa Wall}
1632b1f53060ea8587a428f826cf7890354ff124722Marissa Wall
164c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wallhwc_frect_t Hwc2TestLayer::getSourceCrop() const
165c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall{
166c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall    return mSourceCrop.get();
167c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall}
168c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall
169ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wallhwc_region_t Hwc2TestLayer::getSurfaceDamage() const
170ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wall{
171ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wall    return mSurfaceDamage.get();
172ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wall}
173ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wall
174ac10819373b1ed4901f26c822484a789a7ca4be0Marissa Wallhwc_transform_t Hwc2TestLayer::getTransform() const
175ac10819373b1ed4901f26c822484a789a7ca4be0Marissa Wall{
176ac10819373b1ed4901f26c822484a789a7ca4be0Marissa Wall    return mTransform.get();
177ac10819373b1ed4901f26c822484a789a7ca4be0Marissa Wall}
178ac10819373b1ed4901f26c822484a789a7ca4be0Marissa Wall
179f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wallhwc_region_t Hwc2TestLayer::getVisibleRegion() const
180f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall{
181f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall    return mVisibleRegion.get();
182f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall}
183f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall
184273b1dfa05287a0016ae1fc230cd3a5b1b7433faMarissa Walluint32_t Hwc2TestLayer::getZOrder() const
185273b1dfa05287a0016ae1fc230cd3a5b1b7433faMarissa Wall{
186273b1dfa05287a0016ae1fc230cd3a5b1b7433faMarissa Wall    return mZOrder;
187273b1dfa05287a0016ae1fc230cd3a5b1b7433faMarissa Wall}
188273b1dfa05287a0016ae1fc230cd3a5b1b7433faMarissa Wall
189ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wallbool Hwc2TestLayer::advanceBlendMode()
190ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall{
191ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall    return mBlendMode.advance();
192ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall}
193ffc67daf8b834ff2206d221ce15809cd5f21be55Marissa Wall
194c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wallbool Hwc2TestLayer::advanceBufferArea()
195c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall{
196c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall    return mBufferArea.advance();
197c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall}
198c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall
199ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wallbool Hwc2TestLayer::advanceColor()
200ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wall{
201ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wall    return mColor.advance();
202ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wall}
203ee24278db26505369c0e917d2a83e7e9fda36e4cMarissa Wall
2046bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wallbool Hwc2TestLayer::advanceComposition()
2056bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall{
2066bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall    return mComposition.advance();
2076bd8bfde4a965b743d3d4ebff5fdaa3db03a4bbcMarissa Wall}
208b72b5c9ef4a6235c5bc2c4a3cceb23baf963815bMarissa Wall
2092a0aaf9f5a3daeb0525249eda40242bb63f56468Marissa Wallbool Hwc2TestLayer::advanceCursorPosition()
210600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall{
211600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall    return mDisplayFrame.advance();
212600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall}
213600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall
214b72b5c9ef4a6235c5bc2c4a3cceb23baf963815bMarissa Wallbool Hwc2TestLayer::advanceDataspace()
215b72b5c9ef4a6235c5bc2c4a3cceb23baf963815bMarissa Wall{
216b72b5c9ef4a6235c5bc2c4a3cceb23baf963815bMarissa Wall    return mDataspace.advance();
217b72b5c9ef4a6235c5bc2c4a3cceb23baf963815bMarissa Wall}
2182b1f53060ea8587a428f826cf7890354ff124722Marissa Wall
219600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wallbool Hwc2TestLayer::advanceDisplayFrame()
220600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall{
221600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall    return mDisplayFrame.advance();
222600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall}
223600a73b6110d6fdcebe072a9d8e2dbbe6de1c6b7Marissa Wall
2242b1f53060ea8587a428f826cf7890354ff124722Marissa Wallbool Hwc2TestLayer::advancePlaneAlpha()
2252b1f53060ea8587a428f826cf7890354ff124722Marissa Wall{
2262b1f53060ea8587a428f826cf7890354ff124722Marissa Wall    return mPlaneAlpha.advance();
2272b1f53060ea8587a428f826cf7890354ff124722Marissa Wall}
228ac10819373b1ed4901f26c822484a789a7ca4be0Marissa Wall
229c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wallbool Hwc2TestLayer::advanceSourceCrop()
230c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall{
231c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall    return mSourceCrop.advance();
232c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall}
233c57468f1f6dfc870bea10e814a686793e64f6cf3Marissa Wall
234ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wallbool Hwc2TestLayer::advanceSurfaceDamage()
235ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wall{
236ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wall    return mSurfaceDamage.advance();
237ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wall}
238ad761818a4426b4e6a0696ba90e05056aa35553cMarissa Wall
239ac10819373b1ed4901f26c822484a789a7ca4be0Marissa Wallbool Hwc2TestLayer::advanceTransform()
240ac10819373b1ed4901f26c822484a789a7ca4be0Marissa Wall{
241ac10819373b1ed4901f26c822484a789a7ca4be0Marissa Wall    return mTransform.advance();
242ac10819373b1ed4901f26c822484a789a7ca4be0Marissa Wall}
243f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall
244f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wallbool Hwc2TestLayer::advanceVisibleRegion()
245f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall{
246f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall    if (mPlaneAlpha.advance())
247f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall        return true;
248f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall    return mDisplayFrame.advance();
249f7618ed1b4d806e06c872c0fccce57163cf93b6aMarissa Wall}
250