Lines Matching refs:ctx
55 static void handle_uevent(hwc_context_t* ctx, const char* udata, int len)
80 ctx->mExtDisplay->setExtDpyNum(dpy);
91 ctx->dpyAttr[HWC_DISPLAY_EXTERNAL].isActive = false;
94 ctx->dpyAttr[HWC_DISPLAY_VIRTUAL].isActive = true;
105 ctx->mExtDisplay->processUEventOffline(udata);
106 Locker::Autolock _l(ctx->mDrawLock);
107 clearSecondaryObjs(ctx, dpy);
110 ctx->dpyAttr[dpy].connected = false;
112 ctx->proc->hotplug(ctx->proc, dpy, connected);
126 Locker::Autolock _l(ctx->mDrawLock);
127 ctx->dpyAttr[dpy].isConfiguring = true;
128 ctx->dpyAttr[dpy].connected = false;
129 ctx->proc->invalidate(ctx->proc);
132 usleep(ctx->dpyAttr[HWC_DISPLAY_PRIMARY].vsync_period
134 ctx->mExtDisplay->processUEventOnline(udata);
136 Locker::Autolock _l(ctx->mDrawLock);
137 ctx->dpyAttr[dpy].isPause = false;
138 setupSecondaryObjs(ctx, dpy);
141 ctx->dpyAttr[dpy].connected = true;
142 ctx->proc->hotplug(ctx->proc, dpy, connected);
149 Locker::Autolock _l(ctx->mDrawLock);
150 ctx->dpyAttr[dpy].isActive = true;
151 ctx->dpyAttr[dpy].isPause = true;
161 Locker::Autolock _l(ctx->mDrawLock);
162 ctx->dpyAttr[dpy].isConfiguring = true;
163 ctx->dpyAttr[dpy].isActive = true;
164 ctx->proc->invalidate(ctx->proc);
166 usleep(ctx->dpyAttr[HWC_DISPLAY_PRIMARY].vsync_period
170 Locker::Autolock _l(ctx->mDrawLock);
171 ctx->dpyAttr[dpy].isPause = false;
172 ctx->proc->invalidate(ctx->proc);
188 hwc_context_t * ctx = reinterpret_cast<hwc_context_t *>(param);
196 handle_uevent(ctx, udata, len);
202 void init_uevent_thread(hwc_context_t* ctx)
208 ret = pthread_create(&uevent_thread, NULL, uevent_loop, (void*) ctx);