From aafe2cdf86c22da6c1266f307d89b1c80b59562f Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Wed, 24 Aug 2011 15:32:17 -0700 Subject: [PATCH] i965: SF: Change the flags that refer to "attr" to be based on gl_vert_result. 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 --- src/mesa/drivers/dri/i965/brw_sf_emit.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_sf_emit.c b/src/mesa/drivers/dri/i965/brw_sf_emit.c index f362e204bca..28448fb4c05 100644 --- a/src/mesa/drivers/dri/i965/brw_sf_emit.c +++ b/src/mesa/drivers/dri/i965/brw_sf_emit.c @@ -334,14 +334,15 @@ static GLboolean calculate_masks( struct brw_sf_compile *c, 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; -- 2.30.2