llvmpipe: handle FACING interpolants in line and point setup

This commit is contained in:
Keith Whitwell 2010-09-24 10:30:52 +01:00 committed by José Fonseca
parent 2a8d1fd3ce
commit 60a45b03c3
2 changed files with 19 additions and 3 deletions

View file

@ -208,6 +208,12 @@ static void setup_line_coefficients( struct lp_setup_context *setup,
fragcoord_usage_mask |= usage_mask;
break;
case LP_INTERP_FACING:
for (i = 0; i < NUM_CHANNELS; i++)
if (usage_mask & (1 << i))
constant_coef(setup, tri, slot+1, 1.0, i);
break;
default:
assert(0);
}

View file

@ -232,13 +232,23 @@ setup_point_coefficients( struct lp_setup_context *setup,
break;
}
}
/* Otherwise fallthrough */
default:
/* FALLTHROUGH */
case LP_INTERP_CONSTANT:
for (i = 0; i < NUM_CHANNELS; i++) {
if (usage_mask & (1 << i))
constant_coef(setup, point, slot+1, info->v0[vert_attr][i], i);
}
break;
case LP_INTERP_FACING:
for (i = 0; i < NUM_CHANNELS; i++)
if (usage_mask & (1 << i))
constant_coef(setup, point, slot+1, 1.0, i);
break;
default:
assert(0);
break;
}
}