Home | History | Annotate | Download | only in pixelflinger2

Lines Matching full:args

92    GGLContext::Worker * args = (GGLContext::Worker *)threadArgs;
95 pthread_mutex_lock(&args->finishLock);
96 pthread_mutex_lock(&args->assignLock);
97 pthread_cond_signal(&args->finishCond);
98 pthread_mutex_unlock(&args->finishLock);
101 pthread_cond_wait(&args->assignCond, &args->assignLock);
102 if (args->quit)
104 pthread_mutex_unlock(&args->assignLock);
108 assert(args->assignedWork);
110 for (unsigned y = args->startY; y <= args->endY; y += 2) {
112 if (args->bV.position.x < 0) {
113 if (args->cV.position.x < 0)
115 InterpolateVertex(&args->bV, &args->cV, -args->bV.position.x /
116 (args->cV.position.x - args->bV.position.x),
117 &clip0, args->varyingCount);
120 left = &args->bV;
121 if ((int)args->cV.position.x >= (int)args->width) {
122 if (args->bV.position.x >= (int)args->width)
124 InterpolateVertex(&args->bV, &args->cV, (args->width - 1 - args->bV.position.x) /
125 (args->cV.position.x - args->bV.position.x),
126 &clip1, args->varyingCount);
129 right = &args->cV;
130 args->iface->ScanLine(args->iface, left, right);
132 for (unsigned i = 0; i < args->varyingCount; i++) {
133 args->bV.varyings[i] += args->bDx.varyings[i];
134 args->cV.varyings[i] += args->cDx.varyings[i];
136 args->bV.position += args->bDx.position;
137 args->cV.position += args->cDx.position;
138 args->bV.frontFacingPointCoord += args->bDx.frontFacingPointCoord;
139 args->cV.frontFacingPointCoord += args->cDx.frontFacingPointCoord;
142 pthread_mutex_lock(&args->finishLock);
143 pthread_cond_signal(&args->finishCond);
144 pthread_mutex_unlock(&args->finishLock);
250 GGLContext::Worker & args = ctx->worker;
255 int rc = pthread_create(&ctx->worker.thread, &attr, RasterTrapezoidWorker, &args);
258 pthread_cond_wait(&args.finishCond, &args.finishLock);
260 args.startY = startY + 1;
261 args.endY = endY;
262 if (args.startY <= args.endY) {
263 pthread_mutex_lock(&args.assignLock);
265 args.bV = bV;
266 args.cV = cV;
268 args.bV.varyings[i] += bDx.varyings[i];
270 args.cV.varyings[i] += cDx.varyings[i];
273 args.bV.position += bDx.position;
275 args.cV.position += cDx.position;
277 args.bV.frontFacingPointCoord += bDx.frontFacingPointCoord;
279 args.cV.frontFacingPointCoord += cDx.frontFacingPointCoord;
281 args.iface = iface;
282 args.bDx = bDx;
283 args.cDx = cDx;
284 args.varyingCount = varyingCount;
285 args.width = width;
286 args.height = height;
287 args.assignedWork = true;
289 pthread_cond_signal(&args.assignCond);
290 pthread_mutex_unlock(&args.assignLock);
328 if (args.assignedWork)
330 pthread_cond_wait(&args.finishCond, &args.finishLock);
331 args.assignedWork = false;