[Mesa-dev] [PATCH 17/36] i965: SF: Change calculate_masks to use the VUE map.
Paul Berry
stereotype441 at gmail.com
Fri Sep 2 09:06:56 PDT 2011
Previously, SF code used the idx_to_attr[] array to compute the
location of entries in the VUE map. This array didn't properly
account for gl_PointSize. Now we use the VUE map directly.
---
src/mesa/drivers/dri/i965/brw_sf_emit.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_sf_emit.c b/src/mesa/drivers/dri/i965/brw_sf_emit.c
index 28448fb..0532d4e 100644
--- a/src/mesa/drivers/dri/i965/brw_sf_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_sf_emit.c
@@ -350,10 +350,10 @@ static GLboolean calculate_masks( struct brw_sf_compile *c,
*pc_linear = 0;
*pc = 0xf;
- if (persp_mask & BITFIELD64_BIT(c->idx_to_attr[reg*2]))
+ if (persp_mask & BITFIELD64_BIT(vert_reg_to_vert_result(c, reg, 0)))
*pc_persp = 0xf;
- if (linear_mask & BITFIELD64_BIT(c->idx_to_attr[reg*2]))
+ if (linear_mask & BITFIELD64_BIT(vert_reg_to_vert_result(c, reg, 0)))
*pc_linear = 0xf;
/* Maybe only processs one attribute on the final round:
@@ -361,10 +361,10 @@ static GLboolean calculate_masks( struct brw_sf_compile *c,
if (reg*2+1 < c->nr_setup_attrs) {
*pc |= 0xf0;
- if (persp_mask & BITFIELD64_BIT(c->idx_to_attr[reg*2+1]))
+ if (persp_mask & BITFIELD64_BIT(vert_reg_to_vert_result(c, reg, 1)))
*pc_persp |= 0xf0;
- if (linear_mask & BITFIELD64_BIT(c->idx_to_attr[reg*2+1]))
+ if (linear_mask & BITFIELD64_BIT(vert_reg_to_vert_result(c, reg, 1)))
*pc_linear |= 0xf0;
}
--
1.7.6
More information about the mesa-dev
mailing list