broadcom/vc5: Fix handling of interp qualifiers on builtin color inputs.

The interpolation qualifier, if specified, is supposed to take precedence
over glShadeModel().
This commit is contained in:
Eric Anholt
2017-09-28 14:02:05 -07:00
parent d0dfc4bd5f
commit 361c5f28bd
5 changed files with 31 additions and 20 deletions

View File

@@ -705,20 +705,10 @@ v3d_set_fs_prog_data_inputs(struct v3d_compile *c,
memcpy(prog_data->input_slots, c->input_slots,
c->num_inputs * sizeof(*c->input_slots));
for (int i = 0; i < c->num_inputs; i++) {
struct v3d_varying_slot v3d_slot = c->input_slots[i];
uint8_t slot = v3d_slot_get_slot(v3d_slot);
if (slot == VARYING_SLOT_COL0 ||
slot == VARYING_SLOT_COL1 ||
slot == VARYING_SLOT_BFC0 ||
slot == VARYING_SLOT_BFC1) {
BITSET_SET(prog_data->color_inputs, i);
}
if (BITSET_TEST(c->flat_shade_flags, i))
BITSET_SET(prog_data->flat_shade_flags, i);
}
memcpy(prog_data->flat_shade_flags, c->flat_shade_flags,
sizeof(c->flat_shade_flags));
memcpy(prog_data->shade_model_flags, c->shade_model_flags,
sizeof(c->shade_model_flags));
}
uint64_t *v3d_compile_fs(const struct v3d_compiler *compiler,