From: Paul Berry Date: Fri, 26 Aug 2011 19:08:43 +0000 (-0700) Subject: i965: clip: Change computation of nr_regs to use VUE map. X-Git-Tag: android-x86-4.4-r1~10177 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=71cb82f63ab156599613f7555a62ad52d2e3dbd7;p=android-x86%2Fexternal-mesa.git i965: clip: Change computation of nr_regs to use VUE map. Reviewed-by: Eric Anholt --- diff --git a/src/mesa/drivers/dri/i965/brw_clip.c b/src/mesa/drivers/dri/i965/brw_clip.c index f33518bee48..8929160acd9 100644 --- a/src/mesa/drivers/dri/i965/brw_clip.c +++ b/src/mesa/drivers/dri/i965/brw_clip.c @@ -93,12 +93,12 @@ static void compile_clip_prog( struct brw_context *brw, } } - /* The vertex attributes start at a URB row-aligned offset after - * the 8-20 dword vertex header, and continue for a URB row-aligned - * length. nr_regs determines the urb_read_length from the start - * of the header to the end of the vertex data. + /* nr_regs is the number of registers filled by reading data from the VUE. + * This program accesses the entire VUE, so nr_regs needs to be the size of + * the VUE (measured in pairs, since two slots are stored in each + * register). */ - c.nr_regs = c.header_regs + (c.nr_attrs + 1) / 2; + c.nr_regs = (c.vue_map.num_slots + 1)/2; c.nr_bytes = c.nr_regs * REG_SIZE;