Loading services/surfaceflinger/DisplayHardware/HWComposer.cpp +15 −2 Original line number Original line Diff line number Diff line Loading @@ -108,9 +108,22 @@ status_t HWComposer::commit() const { } } status_t HWComposer::release() const { status_t HWComposer::release() const { if (mHwc) { int err = mHwc->set(mHwc, NULL, NULL, NULL); int err = mHwc->set(mHwc, NULL, NULL, NULL); return (status_t)err; return (status_t)err; } } return NO_ERROR; } status_t HWComposer::disable() { if (mHwc) { free(mList); mList = NULL; int err = mHwc->prepare(mHwc, NULL); return (status_t)err; } return NO_ERROR; } size_t HWComposer::getNumLayers() const { size_t HWComposer::getNumLayers() const { return mList ? mList->numHwLayers : 0; return mList ? mList->numHwLayers : 0; Loading services/surfaceflinger/DisplayHardware/HWComposer.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,9 @@ public: // Asks the HAL what it can do // Asks the HAL what it can do status_t prepare() const; status_t prepare() const; // disable hwc until next createWorkList status_t disable(); // commits the list // commits the list status_t commit() const; status_t commit() const; Loading services/surfaceflinger/SurfaceFlinger.cpp +6 −0 Original line number Original line Diff line number Diff line Loading @@ -2113,6 +2113,12 @@ status_t SurfaceFlinger::turnElectronBeamOffImplLocked(int32_t mode) // we're already off // we're already off return NO_ERROR; return NO_ERROR; } } // turn off hwc while we're doing the animation hw.getHwComposer().disable(); // and make sure to turn it back on (if needed) next time we compose invalidateHwcGeometry(); if (mode & ISurfaceComposer::eElectronBeamAnimationOff) { if (mode & ISurfaceComposer::eElectronBeamAnimationOff) { electronBeamOffAnimationImplLocked(); electronBeamOffAnimationImplLocked(); } } Loading Loading
services/surfaceflinger/DisplayHardware/HWComposer.cpp +15 −2 Original line number Original line Diff line number Diff line Loading @@ -108,9 +108,22 @@ status_t HWComposer::commit() const { } } status_t HWComposer::release() const { status_t HWComposer::release() const { if (mHwc) { int err = mHwc->set(mHwc, NULL, NULL, NULL); int err = mHwc->set(mHwc, NULL, NULL, NULL); return (status_t)err; return (status_t)err; } } return NO_ERROR; } status_t HWComposer::disable() { if (mHwc) { free(mList); mList = NULL; int err = mHwc->prepare(mHwc, NULL); return (status_t)err; } return NO_ERROR; } size_t HWComposer::getNumLayers() const { size_t HWComposer::getNumLayers() const { return mList ? mList->numHwLayers : 0; return mList ? mList->numHwLayers : 0; Loading
services/surfaceflinger/DisplayHardware/HWComposer.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,9 @@ public: // Asks the HAL what it can do // Asks the HAL what it can do status_t prepare() const; status_t prepare() const; // disable hwc until next createWorkList status_t disable(); // commits the list // commits the list status_t commit() const; status_t commit() const; Loading
services/surfaceflinger/SurfaceFlinger.cpp +6 −0 Original line number Original line Diff line number Diff line Loading @@ -2113,6 +2113,12 @@ status_t SurfaceFlinger::turnElectronBeamOffImplLocked(int32_t mode) // we're already off // we're already off return NO_ERROR; return NO_ERROR; } } // turn off hwc while we're doing the animation hw.getHwComposer().disable(); // and make sure to turn it back on (if needed) next time we compose invalidateHwcGeometry(); if (mode & ISurfaceComposer::eElectronBeamAnimationOff) { if (mode & ISurfaceComposer::eElectronBeamAnimationOff) { electronBeamOffAnimationImplLocked(); electronBeamOffAnimationImplLocked(); } } Loading