HwcComposer2D::HwcComposer2D() : mList(nullptr) , mMaxLayerCount(0) , mColorFill(false) , mRBSwapSupport(false) , mPrepared(false) , mHasHWVsync(false) , mLock("mozilla.HwcComposer2D.mLock") { mHal = HwcHALBase::CreateHwcHAL(); if (!mHal->HasHwc()) { LOGD("no hwc support"); return; } RegisterHwcEventCallback(); nsIntSize screenSize; GonkDisplay::NativeData data = GetGonkDisplay()->GetNativeData(GonkDisplay::DISPLAY_PRIMARY); ANativeWindow *win = data.mNativeWindow.get(); win->query(win, NATIVE_WINDOW_WIDTH, &screenSize.width); win->query(win, NATIVE_WINDOW_HEIGHT, &screenSize.height); mScreenRect = gfx::IntRect(gfx::IntPoint(0, 0), screenSize); mColorFill = mHal->Query(HwcHALBase::QueryType::COLOR_FILL); mRBSwapSupport = mHal->Query(HwcHALBase::QueryType::RB_SWAP); }
HwcComposer2D::HwcComposer2D() : mHwc(nullptr) , mList(nullptr) , mGLContext(nullptr) , mMaxLayerCount(0) , mColorFill(false) , mRBSwapSupport(false) #if ANDROID_VERSION >= 17 , mPrevRetireFence(Fence::NO_FENCE) , mPrevDisplayFence(Fence::NO_FENCE) , mLastVsyncTime(0) #endif , mPrepared(false) , mHasHWVsync(false) , mLock("mozilla.HwcComposer2D.mLock") { #if ANDROID_VERSION >= 17 RegisterHwcEventCallback(); #endif }