Home | History | Annotate | Download | only in softpipe

Lines Matching defs:quad

66  * bitmasks (two bits per quad).
96 struct quad_header quad[MAX_QUADS];
125 * Clip setup->quad against the scissor/surface bounds.
128 quad_clip(struct setup_context *setup, struct quad_header *quad)
136 if (quad->input.x0 >= maxx ||
137 quad->input.y0 >= maxy ||
138 quad->input.x0 + 1 < minx ||
139 quad->input.y0 + 1 < miny) {
141 quad->inout.mask = 0x0;
144 if (quad->input.x0 < minx)
145 quad->inout.mask &= (MASK_BOTTOM_RIGHT | MASK_TOP_RIGHT);
146 if (quad->input.y0 < miny)
147 quad->inout.mask &= (MASK_BOTTOM_LEFT | MASK_BOTTOM_RIGHT);
148 if (quad->input.x0 == maxx - 1)
149 quad->inout.mask &= (MASK_BOTTOM_LEFT | MASK_TOP_LEFT);
150 if (quad->input.y0 == maxy - 1)
151 quad->inout.mask &= (MASK_TOP_LEFT | MASK_TOP_RIGHT);
156 * Emit a quad (pass to next stage) with clipping.
159 clip_emit_quad(struct setup_context *setup, struct quad_header *quad)
161 quad_clip( setup, quad );
163 if (quad->inout.mask) {
167 setup->numFragsEmitted += util_bitcount(quad->inout.mask);
170 sp->quad.first->run( sp->quad.first, &quad, 1 );
177 * Given an X or Y coordinate, return the block/quad coordinate that it
205 struct quad_stage *pipe = setup->softpipe->quad.first;
235 setup->quad[q].input.x0 = lx;
236 setup->quad[q].input.y0 = setup->span.y;
237 setup->quad[q].input.facing = setup->facing;
238 setup->quad[q].inout.mask = quadmask;
239 setup->quad_ptrs[q] = &setup->quad[q];
1042 if (quadX != setup->quad[0].input.x0 ||
1043 quadY != setup->quad[0].input.y0)
1045 /* flush prev quad, start new quad */
1047 if (setup->quad[0].input.x0 != -1)
1048 clip_emit_quad( setup, &setup->quad[0] );
1050 setup->quad[0].input.x0 = quadX;
1051 setup->quad[0].input.y0 = quadY;
1052 setup->quad[0].inout.mask = 0x0;
1055 setup->quad[0].inout.mask |= mask;
1117 setup->quad[0].input.x0 = setup->quad[0].input.y0 = -1;
1118 setup->quad[0].inout.mask = 0x0;
1123 setup->quad[0].input.coverage[0] =
1124 setup->quad[0].input.coverage[1] =
1125 setup->quad[0].input.coverage[2] =
1126 setup->quad[0].input.coverage[3] = 1.0;
1169 /* draw final quad */
1170 if (setup->quad[0].inout.mask) {
1171 clip_emit_quad( setup, &setup->quad[0] );
1279 setup->quad[0].input.x0 = (int) x - ix;
1280 setup->quad[0].input.y0 = (int) y - iy;
1281 setup->quad[0].inout.mask = (1 << ix) << (2 * iy);
1282 clip_emit_quad( setup, &setup->quad[0] );
1302 setup->quad[0].inout.mask = 0x0;
1309 setup->quad[0].input.coverage[QUAD_TOP_LEFT] = MIN2(cover, 1.0f);
1310 setup->quad[0].inout.mask |= MASK_TOP_LEFT;
1318 setup->quad[0].input.coverage[QUAD_TOP_RIGHT] = MIN2(cover, 1.0f);
1319 setup->quad[0].inout.mask |= MASK_TOP_RIGHT;
1327 setup->quad[0].input.coverage[QUAD_BOTTOM_LEFT] = MIN2(cover, 1.0f);
1328 setup->quad[0].inout.mask |= MASK_BOTTOM_LEFT;
1336 setup->quad[0].input.coverage[QUAD_BOTTOM_RIGHT] = MIN2(cover, 1.0f);
1337 setup->quad[0].inout.mask |= MASK_BOTTOM_RIGHT;
1340 if (setup->quad[0].inout.mask) {
1341 setup->quad[0].input.x0 = ix;
1342 setup->quad[0].input.y0 = iy;
1343 clip_emit_quad( setup, &setup->quad[0] );
1387 setup->quad[0].inout.mask = mask;
1388 setup->quad[0].input.x0 = ix;
1389 setup->quad[0].input.y0 = iy;
1390 clip_emit_quad( setup, &setup->quad[0] );
1413 sp->quad.first->begin( sp->quad.first );
1447 setup->quad[i].coef = setup->coef;
1448 setup->quad[i].posCoef = &setup->posCoef;