mHwc->methods->eventControl(mHwc, HWC_EVENT_VSYNC, 0);
}
int err = mHwc->set(mHwc, NULL, NULL, NULL);
+ if (err < 0) {
+ return (status_t)err;
+ }
+
+ if (hwcHasVersion(mHwc, HWC_DEVICE_API_VERSION_1_0)) {
+ if (mHwc->methods && mHwc->methods->blank) {
+ err = mHwc->methods->blank(mHwc, 1);
+ }
+ }
return (status_t)err;
}
return NO_ERROR;
}
+status_t HWComposer::acquire() const {
+ if (mHwc) {
+ if (hwcHasVersion(mHwc, HWC_DEVICE_API_VERSION_1_0)) {
+ if (mHwc->methods && mHwc->methods->blank) {
+ int err = mHwc->methods->blank(mHwc, 0);
+ return (status_t)err;
+ }
+ }
+ }
+
+ return NO_ERROR;
+}
+
status_t HWComposer::disable() {
if (mHwc) {
free(mList);
// commits the list
status_t commit() const;
- // release hardware resources
+ // release hardware resources and blank screen
status_t release() const;
+ // acquire hardware resources and unblank screen
+ status_t acquire() const;
+
// create a work list for numLayers layer. sets HWC_GEOMETRY_CHANGED.
status_t createWorkList(size_t numLayers);