mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
llvmpipe: consolidate several loops in lp_rast_triangle
This commit is contained in:
parent
ff26594a92
commit
85d9bc236d
1 changed files with 15 additions and 18 deletions
|
|
@ -152,31 +152,28 @@ TAG(lp_rast_triangle)(struct lp_rasterizer_task *task,
|
|||
struct lp_rast_plane plane[NR_PLANES];
|
||||
int c[NR_PLANES];
|
||||
unsigned outmask, inmask, partmask, partial_mask;
|
||||
unsigned j, nr_planes = 0;
|
||||
unsigned j = 0;
|
||||
|
||||
while (plane_mask) {
|
||||
int i = ffs(plane_mask) - 1;
|
||||
plane[nr_planes] = tri->plane[i];
|
||||
plane_mask &= ~(1 << i);
|
||||
nr_planes++;
|
||||
};
|
||||
|
||||
assert(nr_planes == NR_PLANES);
|
||||
outmask = 0; /* outside one or more trivial reject planes */
|
||||
partmask = 0; /* outside one or more trivial accept planes */
|
||||
|
||||
for (j = 0; j < NR_PLANES; j++) {
|
||||
while (plane_mask) {
|
||||
int i = ffs(plane_mask) - 1;
|
||||
plane[j] = tri->plane[i];
|
||||
plane_mask &= ~(1 << i);
|
||||
c[j] = plane[j].c + plane[j].dcdy * y - plane[j].dcdx * x;
|
||||
}
|
||||
|
||||
for (j = 0; j < NR_PLANES; j++) {
|
||||
const int dcdx = -plane[j].dcdx * 16;
|
||||
const int dcdy = plane[j].dcdy * 16;
|
||||
const int cox = c[j] + plane[j].eo * 16;
|
||||
const int cio = c[j] + plane[j].ei * 16 - 1;
|
||||
{
|
||||
const int dcdx = -plane[j].dcdx * 16;
|
||||
const int dcdy = plane[j].dcdy * 16;
|
||||
const int cox = c[j] + plane[j].eo * 16;
|
||||
const int cio = c[j] + plane[j].ei * 16 - 1;
|
||||
|
||||
outmask |= build_mask_linear(cox, dcdx, dcdy);
|
||||
partmask |= build_mask_linear(cio, dcdx, dcdy);
|
||||
outmask |= build_mask_linear(cox, dcdx, dcdy);
|
||||
partmask |= build_mask_linear(cio, dcdx, dcdy);
|
||||
}
|
||||
|
||||
j++;
|
||||
}
|
||||
|
||||
if (outmask == 0xffff)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue