From: Paul Berry Date: Thu, 25 Aug 2011 15:06:31 +0000 (-0700) Subject: i965: clip: Modify brw_clip_tri_alloc_regs() to use the VUE map. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2bc421845e7d334bc5a91b62d834b8f77e769570;p=mesa.git i965: clip: Modify brw_clip_tri_alloc_regs() to use the VUE map. Reviewed-by: Eric Anholt --- diff --git a/src/mesa/drivers/dri/i965/brw_clip_tri.c b/src/mesa/drivers/dri/i965/brw_clip_tri.c index 0f938fe0b6f..d0638748d71 100644 --- a/src/mesa/drivers/dri/i965/brw_clip_tri.c +++ b/src/mesa/drivers/dri/i965/brw_clip_tri.c @@ -74,9 +74,12 @@ void brw_clip_tri_alloc_regs( struct brw_clip_compile *c, i += c->nr_regs; } - if (c->nr_attrs & 1) { + if (c->vue_map.num_slots % 2) { + /* The VUE has an odd number of slots so the last register is only half + * used. Fill the second half with zero. + */ for (j = 0; j < 3; j++) { - GLuint delta = c->offset[c->idx_to_attr[c->nr_attrs - 1]] + ATTR_SIZE; + GLuint delta = c->vue_map.num_slots * ATTR_SIZE; brw_MOV(&c->func, byte_offset(c->reg.vertex[j], delta), brw_imm_f(0)); }