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