Previously, some of the code in SF erroneously used bitfields based on
the gl_frag_attrib enum when actually referring to vertex results.
This worked, because coincidentally the particular enum values being
used happened to match between gl_frag_attrib and gl_vert_result. But
it was fragile, because a future change to either gl_vert_result or
gl_frag_attrib would have made the enum values stop matching up. This
patch switches the SF code to use the correct enum.
Reviewed-by: Eric Anholt <eric@anholt.net>
GLbitfield64 linear_mask;
if (c->key.do_flat_shading)
- persp_mask = c->key.attrs & ~(FRAG_BIT_WPOS |
- FRAG_BIT_COL0 |
- FRAG_BIT_COL1);
+ persp_mask = c->key.attrs & ~(BITFIELD64_BIT(VERT_RESULT_HPOS) |
+ BITFIELD64_BIT(VERT_RESULT_COL0) |
+ BITFIELD64_BIT(VERT_RESULT_COL1));
else
- persp_mask = c->key.attrs & ~(FRAG_BIT_WPOS);
+ persp_mask = c->key.attrs & ~(BITFIELD64_BIT(VERT_RESULT_HPOS));
if (c->key.do_flat_shading)
- linear_mask = c->key.attrs & ~(FRAG_BIT_COL0|FRAG_BIT_COL1);
+ linear_mask = c->key.attrs & ~(BITFIELD64_BIT(VERT_RESULT_COL0) |
+ BITFIELD64_BIT(VERT_RESULT_COL1));
else
linear_mask = c->key.attrs;