From 2bc421845e7d334bc5a91b62d834b8f77e769570 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Thu, 25 Aug 2011 08:06:31 -0700 Subject: [PATCH] i965: clip: Modify brw_clip_tri_alloc_regs() to use the VUE map. Reviewed-by: Eric Anholt --- src/mesa/drivers/dri/i965/brw_clip_tri.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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)); } -- 2.30.2